This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi ,
We received two J7200XSOMXEVM system-on-module—when paired with the J721EXCP01EVM common processor board. along with bootable SD cards.
SDK downloaded from below URL path.
booted the board with prebuild binaries available in SDK repo extracted from above installation binary.
when i checked the dmesg log and didn't see any eeprom string, this is just to verify related drivers are installed or not
root@j7200-evm:~# dmesg | grep -i eeprom
root@j7200-evm:~#
so below are my queries:
1-> How to confirm eeprom drivers installed?
2-> How to do basic read/wrie test on eeprom flash memory after board boot-up?
Attached the part details:
Regards
Praveen
Hi Praveen,
We do not support the EEPROM reading from the Linux side in the SDK. What is the use case here? Can you please elaborate.
On the other hand U-Boot reads EEPROM for board detection.
- Keerthy
Hi Keerthy,
Thanks for your response, normally we test all peripherals as a part of product development cycle on our custom kernel build. so i was just looking same on the TI provided pre-build binaries ,so that i can try out same steps on custom build images as well.
By the way can you share the steps to read the EEPROM from u-boot?
Regards
Praveen
Hi Keerthy,
Also if i want to support EERPOM read/write from LInux side what changes/configuration needs to be done to enable this feature.
-Praveen
Hi Praveen,
U-Boot is already doing that.
Check board/ti/j721e/evm.c.
- Keerthy
Hi Keerthy,
Okay got it , so is there any modifications/configuration which will enable to support the read/write functionality of EEPROM from kernel side?
If Yes please share the changes to try out from our end.
Regards
Praveen
Praveen,
Drivers/misc/eeprom/at24.c is the right driver. You need to enable that and add the dts node for the same.
Best Regards,
Keerthy
Thanks Keerthy for your inputs.
I enable the respective configuration and added nodes in device tree but facing issue when i try to write some content to eeprom dev entry through echo command. i am doing any thing wrong?
below the write command i tried out.
root@j7200-evm:~# echo "Hi" > /sys/bus/i2c/devices/2-0051/eeprom
-sh: echo: write error: Connection timed out
below the hexdump for the same dev entry.
root@j7200-evm:~# hexdump -C /sys/bus/i2c/devices/2-0051/eeprom
00000000 aa 55 33 ee 01 32 00 10 2e 00 4a 37 58 2d 42 41 |.U3..2....J7X-BA|
00000010 53 45 2d 43 50 42 00 00 00 00 41 00 30 30 37 39 |SE-CPB....A.0079|
00000020 30 31 41 00 00 00 30 31 30 31 33 37 32 32 00 00 |01A...01013722..|
00000030 00 00 00 00 30 33 36 35 fe ff ff ff ff ff ff ff |....0365........|
00000040 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
*
00004800 ef be af de ad be ad de ff ff ff ff ff ff ff ff |................|
00004810 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
*
00004840 01 03 00 00 00 01 00 00 00 00 00 00 00 00 00 02 |................|
00004850 01 00 00 00 01 00 00 00 00 00 00 00 00 00 03 03 |................|
00004860 00 00 00 01 01 00 00 00 00 00 00 00 00 03 03 00 |................|
00004870 00 00 01 01 00 00 00 00 00 00 00 00 04 03 00 00 |................|
00004880 00 01 00 00 00 00 00 00 00 00 00 05 01 00 00 00 |................|
00004890 01 00 00 00 00 00 00 00 00 00 06 03 00 00 00 01 |................|
000048a0 00 00 00 00 00 00 00 00 00 07 01 00 00 00 01 00 |................|
000048b0 00 00 00 00 00 00 00 00 08 03 00 00 00 01 00 00 |................|
000048c0 00 00 00 00 00 00 00 09 03 00 00 00 01 00 00 00 |................|
000048d0 00 00 00 00 00 00 0a 01 00 00 00 01 00 00 00 00 |................|
000048e0 00 00 00 00 00 0b 03 00 00 00 01 00 00 00 00 00 |................|
000048f0 00 00 00 00 0c 03 00 00 00 01 00 00 00 00 00 00 |................|
00004900 00 00 00 0d 03 00 00 00 01 00 00 00 00 00 00 00 |................|
00004910 00 00 0e 01 00 00 00 01 00 00 00 00 00 00 00 00 |................|
00004920 00 0f 0b 00 00 00 01 00 00 00 00 00 00 00 00 00 |................|
00004930 10 08 00 00 00 01 00 00 00 00 00 00 00 00 00 10 |................|
00004940 07 00 00 00 01 00 01 00 01 00 01 00 00 00 11 0b |................|
00004950 00 00 00 01 00 00 00 00 00 00 00 00 00 12 0b 00 |................|
00004960 00 00 01 01 00 00 00 00 00 00 00 00 13 0b 00 00 |................|
00004970 00 00 01 00 00 00 00 00 00 00 00 14 03 00 00 00 |................|
00004980 01 00 00 00 00 00 00 00 00 00 14 08 00 00 00 01 |................|
00004990 00 00 00 00 00 00 00 00 00 15 04 00 00 00 01 01 |................|
000049a0 00 00 00 00 00 00 00 00 16 07 00 00 00 01 00 01 |................|
000049b0 00 01 00 01 00 00 00 16 08 00 00 00 01 00 00 00 |................|
000049c0 00 00 00 00 00 00 16 10 00 00 00 01 00 00 00 00 |................|
000049d0 00 00 00 00 00 17 03 00 00 00 01 00 00 00 00 00 |................|
000049e0 00 00 00 00 18 03 00 00 00 01 00 00 00 00 00 00 |................|
000049f0 00 00 00 19 03 00 00 00 01 00 00 00 00 00 00 00 |................|
00004a00 00 00 1a 0b 00 00 00 01 00 00 00 00 00 00 00 00 |................|
00004a10 00 1b 03 00 00 00 01 00 00 00 00 00 00 00 00 00 |................|
00004a20 1c 20 00 00 00 01 00 00 00 00 00 00 00 00 00 1d |. ..............|
00004a30 20 00 00 00 01 00 00 00 00 00 00 00 00 00 1e 20 | .............. |
00004a40 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00004a50 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff |................|
00004a60 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
*
00008000
Regards
Praveen
Hi Praveen,
Can you check if the WKUP_I2C0 pin mux is setup correctly.
Please share the output of the below command. I want to check what all I2C instances are enabled.
'dmesg | grep i2c'
- Keerthy
Keerthy,
Below are the requested details:
root@j7200-evm:~# dmesg | grep i2c
[ 0.099471] i2c /dev entries driver
[ 0.143262] omap_i2c 40b00000.i2c: bus 0 rev0.12 at 100 kHz
[ 0.143661] omap_i2c 40b10000.i2c: bus 1 rev0.12 at 100 kHz
[ 0.166656] omap_i2c 42120000.i2c: bus 2 rev0.12 at 100 kHz
[ 0.190431] omap_i2c 2000000.i2c: bus 3 rev0.12 at 400 kHz
[ 0.212924] omap_i2c 2010000.i2c: bus 4 rev0.12 at 400 kHz
[ 0.213335] omap_i2c 2020000.i2c: bus 5 rev0.12 at 100 kHz
[ 0.213672] omap_i2c 2030000.i2c: bus 6 rev0.12 at 100 kHz
[ 0.214001] omap_i2c 2040000.i2c: bus 7 rev0.12 at 100 kHz
[ 0.214341] omap_i2c 2050000.i2c: bus 8 rev0.12 at 100 kHz
[ 0.214671] omap_i2c 2060000.i2c: bus 9 rev0.12 at 100 kHz
Below are the eeprom Node details in device tree:
Finally i could see some below dmesg traces related power issue for at24 driver.
dmesg | grep at24
[ 0.144292] at24 2-0050: supply vcc not found, using dummy regulator
[ 0.165122] at24 2-0050: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[ 0.165281] at24 2-0051: supply vcc not found, using dummy regulator
[ 0.165894] at24 2-0051: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[ 0.166037] at24 2-0054: supply vcc not found, using dummy regulator
[ 0.166632] at24 2-0054: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
You have new mail in /var/spool/mail/root
root@j7200-evm:~#
Regards
Praveen
Praveen,
I believe with that you are able to read the EEPROM now? Even the driver is initialized successfully.
- Keerthy
Hi Keerthy,
Yes, I was able to read eeprom, but actually I am facing an issue when i try to write to eeprom.
Below is command output for the same , even same log i have shared earlier as well.
root@j7200-evm:~# echo "Hi" > /sys/bus/i2c/devices/2-0051/eeprom
-sh: echo: write error: Connection timed out.
Regards
Praveen
The EEPROM supports a write-protection function controlled via dip switch setting. See below snip-it from EVM user's guide:
Hi Keerthy,
Thanks for your inputs , after changing the dip switch settings i can perform write operation on eerpom .
I think we can close this case.
Regards
Praveen