An external I2C device is at 0x40. I am considering using an address translator to avoid address conflicts with existing devices. Is translation is required?
i2cdetect displays a blank row starting at 0x40 of i2c-7. Addresses from 0x38 through 0x4f are blank. I would use a single address of 0x40.
$ sudo i2cdetect -y 7 0x40 0x40
Warning: Can't use SMBus Quick Write command, will skip some addresses
0 1 2 3 4 5 6 7 8 9 a b c d e f
00:
10:
20:
30:
40:
50:
60:
70:
Using the flag, “read byte,” confirms no response is registered at the address.
$ sudo i2cdetect -y -r 7 0x40 0x40
0 1 2 3 4 5 6 7 8 9 a b c d e f
00:
10:
20:
30:
40: --
50:
60:
70:
Does the bus I2C5 reachable as i2c-7 over J30 GPIO use address 0x40 for a device? The documentation suggests the bus is used for DisplayPort extensions without specifying available addresses.
The similar option I2C2 on J30 GPIO instantiates a device at 0x40 on the device tree DTB.