I2C address change from U-boot to KERNEL

Hi,

I am seeing the I2c address of one of the buses as 546c:0000 in Kernel code and 546c:0c00 in U-boot code for jetson-tx1 board.

Anyone Can u please clarify the need for the change in address?

Thanks in Advance.

Hello, Sherin:
Thanks for your findings.
546c:0000 is the right base address for VII2C. (Please refer to TRM.)

We will check it internally.

br
ChenJian

Hi,

But by using the address 546c:0000 we are not able to detect any slave devices when connected to it.

Thanks,
Jasper

Hello, Sherin:
The i2c device attached to VII2C is on-board camera. You can check the power of sensor.
By default, the power of camera is off.

(BTW: do you mean 546c:0c00 can detect the device?)

br
Chenjian

Hi,

yes, if we add slaves to 546c:0c00 , i am able to probe devices.

Thanks,
Jasper

Hello, Jasper:
You are right. That’s related to the u-boot driver code.
I will check it and give you feedback.

br
Chenjian

Hi ChenJain,

Thanks for your response.we will wait for ur feedback.

Thanks,
Jasper

Hello, Jasper:
Thanks for your patience.

For VII2C, the base address is 546c:0000. That’s correct. From I2C point, the first register (I2C_CNFG) in this module has offset 0xc00. (Refer to TRM Chapter 31 VI. Note that offset listed by VII2C_I2C_STREAM_DIRECT_I2C_xxxx should be converted to byte-offset, which is left-shifted by 2.)
That’s why u-boot defines i2c-vi base-address directly to 0x546c0c00.

You can also refer to kernel driver @ drivers/i2c/busses/i2c-tegra-vi.c.
They are matched.

br
Chenjian