Hi,
I have questions about beagle board's u-boot and its I2C multibus support.
The board I have is rev B4.
My project requires some I2C operations to happen before loading the
kernel, and I plan to use I2C-2 interface on the expansion connector.
I think u-boot is the right place to issue my I2C commands before
loading the kernel. The u-boot version is "U-Boot 1.3.3-00035-gab55ae5-
dirty (Jun 16 2008 - 17:35:22)", and I figure out it has the following
I2C command:
ibus
imd
imw
iprobe
ibus w.r.t. I2C-2 is report PASS:
OMAP3 beagleboard.org # ibus 1 0x64 // I guess this is
the right command for I2C-2 for 100KHz?
Setting bus[1] to Speed[100]: PASS
imd w.r.t. I2C-1 is working:
OMAP3 beagleboard.org # ibus 0 0x190
Setting bus[0] to Speed[400]: PASS
OMAP3 beagleboard.org # imd 0x4A 0x61 0x20
0061: 00 0f 00 0f 00 55 07 00 00 00 00 00 00 00 00
00 .....U..........
0071: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 ................
but imd doesn't seem to work on I2C-2
OMAP3 beagleboard.org # ibus 1 0x64
Setting bus[1] to Speed[100]: PASS
OMAP3 beagleboard.org # imd 0x44 0x00 0x01 // I have
connected I2C-2 to my board, and there are pull
timed out in wait_for_pin: I2C_STAT=0 // up
resistor, the device ID is 0x44
I2C read: I/O error
Error reading the chip.
Also imd doesn't seem to work on I2C-3, which I believe is in beagle
board itself and functioning:
OMAP3 beagleboard.org # ibus 2 0x64
Setting bus[2] to Speed[100]: PASS
OMAP3 beagleboard.org # imd 0x50 0 100
I2C read: I/O error
Error reading the chip.
...
I didn't bother with imw and iprobe at this point
So my questions are:
1. Does the default u-boot "U-Boot 1.3.3-00035-gab55ae5-dirty (Jun 16
2008 - 17:35:22)" from the board diagnostics page (http://
code.google.com/p/beagleboard/wiki/BeagleBoardDiagnostics) support
other I2C buses (I2C-2, I2C-3, I2C-4) in addition to I2C-1?
2. If NO to question 1, where can I get the latest official u-boot
which supports multibus
3. I read from beagle's discuss board that multibus support was added in
2009 for Rev C board, so if I grab this one, will the old kernel
(http://code.google.com/p/beagleboard/wiki/BeagleBoardDiagnostics)
work seamlessly on top of it and on Rev B board?
Thank you very much
Don