Unable to read eeprom on tx2 nx board

Before using tx2 nx, I was able to access the /dev/i2c-0 device in xavier nx and access the SOM’s eeprom and the carrier board’s eeprom with the following command.

$ i2cdetect -y 0

Then there was an eeprom at address 0x50 and 0x57 respectively, and I could flash him.

$ i2cdump -y -f 0 0x50 (SOM EEPROM)
$ i2cdump -y -f 0 0x57 (Carrier EEPROM)

Currently, we are testing the tx2 nx board with our carrier board, and when trying to check the slave through the same process, no list appears.
And when using the i2cdump command, all bytes appear in the form of “XX”, and when you check the log with dmesg, you can see the message below.

“tegra-i2c 3160000.i2c: no acknowledge from address 0x50”

And when I used the i2cdump command for SCL and SDA, when I checked through the scope that the signal was passing, I could see the waveform in Xavier NX, but no signal in tx2-nx.

I don’t know how to solve this problem.

Please help.

Thank you.

hello whddls5875,

it’s board-id saved in the eeprom; this EEPROM ID for your custom board is not required.
please refer to Board Configuration session for details.
thanks

Thank you, Jerry Chang.

We will put certain data into the eeprom of the carrier board and use it for that purpose. It is not intended to modify the SOM’s eeprom.

If I read the board ID at boot time, it will read the eeprom with the board ID with a specific i2c driver, but I can’t read all the i2c drivers that appear by searching for i2cdetect -l.

The questions are summarized below:

  1. Is the tx2-nx tested suitable carrier board match the xavier nx?
  2. Can tx2-nx read EEPROM, etc., which can be checked from the slave of /dev/i2c-0 that can be checked on xaiver nx? What if I can read it?

hello whddls5875,

that’s correct it’s 0x57 to read carrier board eeprom. 0x50 for module eeprom.
it seems I’m able to read those values on Xavier NX.
for example,

$ sudo i2cdump -f -y 0 0x50
No size specified (using byte-data access)
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 01 00 fc 00 54 0e 00 00 02 47 00 00 00 00 00 00    ?.?.T?..?G......
10: 00 00 00 00 36 39 39 2d 31 33 36 36 38 2d 30 30    ....699-13668-00
20: 30 30 2d 32 30 30 20 47 2e 30 00 00 00 00 00 00    00-200 G.0......
$ sudo i2cdump -f -y 0 0x57
No size specified (using byte-data access)
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 01 00 fc 00 b5 0d 00 00 01 46 00 00 00 00 00 00    ?.?.??..?F......
10: 00 00 00 00 36 39 39 2d 31 33 35 30 39 2d 30 30    ....699-13509-00
20: 30 30 2d 31 30 30 20 46 2e 30 00 00 00 00 00 00    00-100 F.0......

however, I’m also not able to check those values on TX2 NX.

hello whddls5875,

please refer to Jetson TX2 NX Product Design Guide.
you should check [3.5 Features Not to be Implemented] for reference.

hello whddls5875,

you should enable i2c controller for EEPROM, please add below into TX2 NX device tree.
for example,
$L4T_Sources/r32.5.1/Linux_for_Tegra/source/public/hardware/nvidia/platform/t18x/lanai/kernel-dts/common/tegra186-p3636-0001-common.dtsi

diff --git a/kernel-dts/common/tegra186-p3636-0001-common.dtsi b/kernel-dts/common/tegra186-p3636-0001-common.dtsi
index a4d80f3..cf66d45 100644

@@ -69,6 +69,11 @@
                status = "okay";
        };

+       /* gen8-i2c - ID EEPROM */
+       i2c@c250000 {
+               status="okay";
+       };

it’ll enable /dev/i2c-7 interface for EEPROM reading on TX2 NX.
thanks

1 Like

Thank you. Jerry Chang.

I solved this problem with your answer.

I can now read and write eeprom through the /dev/i2c-7 driver connected to the c250000’s controller.

Hi Jerry,

I met the same problem on NX board,
mht@pan-appliance:/bin$ sudo i2cdump -f -y 0 0x50
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 01 00 fc 00 54 0e 00 00 02 4b 00 00 00 00 00 00 ?.?.T?..?K…
10: 00 00 00 00 36 39 39 2d 31 33 36 36 38 2d 30 30 …699-13668-00
20: 30 30 2d 32 30 30 20 4b 2e 30 00 00 00 00 00 00 00-200 K.0…
30: 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff …
40: ff ff ff ff 08 7a 2f 2d b0 48 31 34 32 34 31 32 …?z/-?H142412
50: 30 30 33 37 31 33 33 00 00 00 00 00 00 00 00 00 0037133…
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
90: 00 00 00 00 00 00 4e 56 43 42 1c 00 4d 31 00 00 …NVCB?.M1…
a0: ff ff ff ff ff ff ff ff ff ff ff ff 08 7a 2f 2d …?z/-
b0: b0 48 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?H…
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab …?
mht@pan-appliance:/bin$ sudo i2cdetect -y 0
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: 50 – – – – – – 57 – – – – – – – –
60:
70:

For which dtsi can I add to enable the dev?

Hi chiunghl,

Please help to open a new topic. Thanks