Adding an addition I2C bus to U-Boot on the TX1

I am on a TX1 and need to access an I2C device during boot. As delivered, U-Boot only knows about 2 buses:

Tegra210 (P2371-2180) # i2c bus
Bus 3: i2c@0,7000c500
Bus 0: i2c@0,7000d000 (active 0)

I need to access the bus at 7000c400. I tried adding this bus to “tegra210-p2371-2180.dts”, rebuilding U-Boot, and re-flashing the Jetson but I still only see bus 3 and bus 0. I also de-compiled the u-boot.dtb that was generated by the build process and verified my changes were in there. I guess modifying the device tree is not the only magic needed. Anyone have any ideas on what else needs to be modified to add an I2C bus?

Hi LowlandSolution,

I tried on my JTX1 DevKit with R24.2.1 and got below i2c buses. FYI.

Tegra210 (P2371-2180) # i2c bus
Bus 5: i2c@0,546c0c00
Bus 2: i2c@0,7000c400
Bus 3: i2c@0,7000c500
Bus 0: i2c@0,7000d000 (active 0)
3c: generic_3c, offset len 1, flags 0

Thanks! Turns out I just had a bug in my build script that was pulling the .dtb from the wrong place.

For anyone interested, here are the changes.

In the aliases section, add:

i2c2 = “/i2c@0,7000c400”;

And also add the following next to the definitions for the other buses:

    i2c@0,7000c400 {
            status = "okay";
            clock-frequency = <400000>;
    };