i2c: initial bus drivers for am335x and dm37xx

Change-Id: I1aa2efe13e3cbd8604c283a3c4b4389ae51ecbcb
Importing usr.sbin/i2cscan

Change-Id: Iaca06b667d89c4bd6fb6a83a296350af0a676806
usr.sbin/i2cscan: support scans using 1 byte reads

Add '-r' to probe devices using 1 byte reads instead
of 0 byte writes as 0 byte writes aren't supported on
the am335x nor the dm37xx.

Submitted Upstream: http://gnats.netbsd.org/47977

Change-Id: Icfac91874151ed6cb46825a9543762bdf3564747
libi2cdriver: library for i2c device drivers

Change-Id: Iedaba00a241058fa6a3b1eefcd0c601edc879775
cat24c256: driver for the cat24c256 i2c eeprom

Change-Id: Iaed3d8b693f9f3ddbe78a66cd8753864ab1a6df0
eepromread: simple program to view eeprom contents

This program uses the i2c /dev interface to read the
contents of EEPROMs and display it to the user in
HEX and ASCII. It also has a mode that can display
data in label:value pairs. That mode is used for
board detection in the rc script to start the right
i2c drivers for the board.

Change-Id: Ibb4bfbc182c4efa6d7f533b2a18cb16acd0a0c1c