does the latest u-boot support i2c-2?

Hi,

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 the 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

chuqdd