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.

J7200XSOMXEVM: paired with the J721EXCP01EVM common processor board, how to test eeprom

Part Number: J7200XSOMXEVM

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.

https://www.ti.com/tool/download/PROCESSOR-SDK-LINUX-J7200/08.02.00.02/ti-processor-sdk-linux-j7200-evm-08_02_00_02-Linux-x86-Install.bin.

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,

    https://community.onsemi.com/s/question/0D54V00007TGHeHSAX/what-linux-driver-is-compatible-with-the-cat24c256

    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