I think the cameras are on bus 9 as I can see mine. But, bus 9 isn’t valid when I try to use it in cboot.
root@jetson-xavier-nx-devkit:~# i2cdetect -y -r 9
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- 1a -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- 36 -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
[0004.462] E> I2C_DEV: Failed to initialize instance 9.
ok. I think it’s bus 3 as this opens
struct tegrabl_i2c_dev *hi2c1 =
tegrabl_i2c_dev_open(TEGRABL_INSTANCE_I2C3, slave_addr, 2, 1);
when I do a read though I just get back 0’s and this should give back 0x80
uint32_t reg = 0x3089;
err = tegrabl_i2c_dev_read(hi2c1, &data, reg, 1);
the sensor is 16-bit addresses. Has anyone tried 2-byte addresses in cboot? I don’t see any examples of it.
Bibek
October 17, 2020, 1:40am
5
As far as I know, there is only 7 and 10 bit addressing.
Can you share what device you have connected and on which pins on nx.
Also share full log.
I think there is a bug in the code. Instead of entering addresses normally you need to reverse them. My hunch is that this is because no where else in cboot is 2-byte addressing used.
bad:
uint32_t reg = 0x3089;
good:
uint32_t reg = 0x8930;