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.

Linux/PROCESSOR-SDK-AM335X: I2C Not working on latest SDK Not able to write and read from eepromgle Bone

Part Number: PROCESSOR-SDK-AM335X

Tool/software: Linux

Hi Team

I have used the latest SDK to flash the Beagle Bone

I have attached the logs not able to test the internal eeprom present not sure how to enable that as well KINDLY PLEASE HELP

Welcome to minicom 2.7

OPTIONS: I18n 
Compiled on Jan  1 2014, 17:13:19.
Port /dev/ttyUSB0, 22:42:33

Press CTRL-A Z for help on special keys                                         
                                                                                
                                                                                
U-Boot SPL 2015.01-00001-gb2412df (Jan 29 2015 - 15:01:06)                      
                                                                                
                                        
U-Boot 2015.01-00001-gb2412df (Jan 29 2015 - 15:01:06), Build: jenkins-github_Bootloader-Builder-105
                                        
       Watchdog enabled                 
I2C:   ready                            
DRAM:  512 MiB                          
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1   
Using default environment               

Net:   <ethaddr> not set. Validating first E-fuse MAC
cpsw
Hit any key to stop autoboot:  0 
gpio: pin 53 (gpio 53) value is 1
switch to partitions #0, OK
mmc0 is current device
gpio: pin 54 (gpio 54) value is 1
Checking for: /uEnv.txt ...
Checking for: /boot.scr ...
Checking for: /boot/boot.scr ...
Checking for: /boot/uEnv.txt ...
** Invalid partition 3 **
** Invalid partition 4 **
** Invalid partition 5 **
** Invalid partition 6 **
** Invalid partition 7 **
gpio: pin 56 (gpio 56) value is 0
gpio: pin 55 (gpio 55) value is 0
gpio: pin 54 (gpio 54) value is 0
switch to partitions #0, OK
mmc1(part 0) is current device
gpio: pin 54 (gpio 54) value is 1
Checking for: /uEnv.txt ...
Checking for: /boot.scr ...
Checking for: /boot/boot.scr ...
Checking for: /boot/uEnv.txt ...
gpio: pin 55 (gpio 55) value is 1
818 bytes read in 28 ms (28.3 KiB/s)
Loaded environment from /boot/uEnv.txt
Checking if uname_r is set in /boot/uEnv.txt...
gpio: pin 56 (gpio 56) value is 1
Running uname_boot ...
loading /boot/vmlinuz-3.8.13-bone70 ...
5617184 bytes read in 343 ms (15.6 MiB/s)
loading /boot/dtbs/3.8.13-bone70/am335x-boneblack.dtb ...
26098 bytes read in 37 ms (688.5 KiB/s)
loading /boot/initrd.img-3.8.13-bone70 ...
2867606 bytes read in 190 ms (14.4 MiB/s)
debug: [console=ttyO0,115200n8 root=UUID=9014ebde-a021-4f54-9a15-c13084d61e2f ro rootfstype=ext4 rootwait fixrtc quiet init=/lib/syst.
debug: [bootz 0x82000000 0x88080000:2bc196 0x88000000] ...
Kernel image @ 0x82000000 [ 0x000000 - 0x55b620 ]
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Ramdisk to 8fd43000, end 8ffff196 ... OK
   Loading Device Tree to 8fd39000, end 8fd425f1 ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.372928] omap2_mbox_probe: platform not supported
[    0.527844] tps65217-bl tps65217-bl: no platform data provided
[    0.591214] bone-capemgr bone_capemgr.9: slot #0: No cape found
[    0.628322] bone-capemgr bone_capemgr.9: slot #1: No cape found
[    0.665430] bone-capemgr bone_capemgr.9: slot #2: No cape found
[    0.702539] bone-capemgr bone_capemgr.9: slot #3: No cape found
[    0.718269] bone-capemgr bone_capemgr.9: slot #6: BB-BONELT-HDMIN conflict P8.45 (#5:BB-BONELT-HDMI)
[    0.727843] bone-capemgr bone_capemgr.9: slot #6: Failed verification
debian@beaglebone:/dev$ i2cdetect -l
i2c-0   i2c             OMAP I2C adapter                        I2C adapter
i2c-1   i2c             OMAP I2C adapter                        I2C adapter
debian@beaglebone:/dev$ i2cdetect -r 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0 using read byte commands.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: UU -- -- -- -- -- -- --                         
debian@beaglebone:/dev$ i2cset -y 2 0x77 0xf4 0x34
Error: Could not open file `/dev/i2c-2' or `/dev/i2c/2': No such file or directory
debian@beaglebone:/dev$ i2cset -y 1 0x77 0xf4 0x34                                                                                    
Error: Write failed
debian@beaglebone:/dev$ i2cset -y 2 0x77 0xf4 0x34
Error: Could not open file `/dev/i2c-2' or `/dev/i2c/2': No such file or directory
debian@beaglebone:/dev$ i2cdump -y 2 0x77                                                                                             
No size specified (using byte-data access)
Error: Could not open file `/dev/i2c-2' or `/dev/i2c/2': No such file or directory
debian@beaglebone:/dev$ i2cdump -y 1 0x77                                                                                             
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: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
10: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
20: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
40: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
50: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
60: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
70: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
80: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
90: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
a0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
b0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
c0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
d0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
e0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
f0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX
debian@beaglebone:/dev$ 
debian@beaglebone:/dev$ i2cset -y 0 0x77                                                                                              
Usage: i2cset [-f] [-y] [-m MASK] I2CBUS CHIP-ADDRESS DATA-ADDRESS [VALUE] ... [MODE]
  I2CBUS is an integer or an I2C bus name
  ADDRESS is an integer (0x03 - 0x77)
  MODE is one of:
    c (byte, no value)
    b (byte data, default)
    w (word data)
    i (I2C block data)
    s (SMBus block data)
    Append p for SMBus PEC
debian@beaglebone:/dev$ 
debian@beaglebone:/dev$ 
debian@beaglebone:/dev$ i2cset -y 0 0x77 0xf4 0x34                                                                                    
Error: Write failed
debian@beaglebone:/dev$ i2cset -y 1 0x77 0xf4 0x34                                                                                    
Error: Write failed
debian@beaglebone:/dev$ i2cdetect -r 1
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-1 using read byte commands.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- UU UU UU UU -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
debian@beaglebone:/dev$ 
debian@beaglebone:/dev$ i2cdetect -r 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0 using read byte commands.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: UU -- -- -- -- -- -- --                         
debian@beaglebone:/dev$ i2cset -y 0 0x70 0xf4 0x34                                                                                    
Error: Could not set address to 0x70: Device or resource busy
debian@beaglebone:/dev$ i2cset -y 0 0x50 0xf4 0x34                                                                                    
Error: Could not set address to 0x50: Device or resource busy
debian@beaglebone:/dev$ i2cset -y 0 0x54 0xf4 0x34                                                                                    
Error: Write failed
debian@beaglebone:/dev$ i2cset -y 0 0x24 0xf4 0x34
Error: Could not set address to 0x24: Device or resource busy
debian@beaglebone:/dev$ 
debian@beaglebone:/dev$ i2cset -y 0 0x30 0xf4 0x34                                                                                    
Error: Write failed
debian@beaglebone:/dev$ i2cset -y 0 0x34 0xf4 0x34                                                                                    
Error: Could not set address to 0x34: Device or resource busy
debian@beaglebone:/dev$ i2cset -y 1 0x54 0xf4 0x34                                                                                    
Error: Could not set address to 0x54: Device or resource busy
debian@beaglebone:/dev$ i2cset -y 1 0x55 0xf4 0x34                                                                                    
Error: Could not set address to 0x55: Device or resource busy
debian@beaglebone:/dev$ i2cset -y 1 0x56 0xf4 0x34                                                                                    
Error: Could not set address to 0x56: Device or resource busy
debian@beaglebone:/dev$ i2cset -y 1 0x57 0xf4 0x34                                                                                    
Error: Could not set address to 0x57: Device or resource busy
debian@beaglebone:/dev$ i2cset -y 1 0x58 0xf4 0x34                                                                                    
Error: Write failed

please let me know the procedure to test this and how to make modification if necessary on build AND BUILDING PROCEDURE

Thank you

Deepak R

  • Hi Deepak,

    I can see that you have tried all the bus combinations while trying to write to the i2c slave. We can see that you should actually be using bus 0 here.

    "Device or resource busy" literally means that your i2c driver is loaded and being used by some other module. Either you disable that module or use "force" option to see if the slave responds (use -f at your risk)

    Have a look at the below link with a similar issue :
    github.com/.../26


    Thanks,
    prabhuraj
    BlackPepper Technologies
  • Hi
    Prabhu
    I saw your link Thanks for sharing this
    But how to make these change in i2c-tools can you please help on this I hope the I2C_FORCE option to be enabled
    or can we have a specific application that writes and reads using ioctls

    Can anyone please help on this so I can give try with application be inserting and cross compiling it om my borad
    Thank you
    Deepak R
  • Hi
    I also find that link is w.r.t to Pi board I hope on beagle bone what changes could be done let us know
    Thank you
    Deepak
  • Hi Deepak,

    Lets maintain only one thread for discussion to avoid confusion. Can you use hexdump and let me know the results?

    root@beaglebone:~# hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0050/eeprom | head -5

    You can try for bus 0, 1 and 2 with its corresponding slave id.
    My understanding here is that your i2c driver is already occupied by some other module through /dev/i2c and we are trying to bypass this by reading through sysfs.


    Thanks,
    Prabhuraj
    BlackPepper Technologies
  • Thanks prabhu will go with single thread and try!
    I will update the results
  • Hi prabhu Check this

    If you do not wish to distribute GPLv3 components please remove
    the above packages prior to distribution.  This can be done using
    the opkg remove command.  i.e.:
        opkg remove <package>
    Where <package> is the name printed in the list above
    
    NOTE: If the package is a dependency of another package you
          will be notified of the dependent packages.  You should
          use the --force-removal-of-dependent-packages option to
          also remove the dependent packages as well
    ***************************************************************
    ***************************************************************
    
     _____                    _____           _         _   
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
                  |___|                    |___|            
    
    Arago Project http://arago-project.org am335x-evm ttyS0
    
    Arago 2017.05 am335x-evm ttyS0
    
    am335x-evm login: 
     _____                    _____           _         _   
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
                  |___|                    |___|            
    
    Arago Project http://arago-project.org am335x-evm ttyS0
    
    Arago 2017.05 am335x-evm ttyS0
    
    am335x-evm login: 
     _____                    _____           _         _   
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
                  |___|                    |___|            
    
    Arago Project http://arago-project.org am335x-evm ttyS0
    
    Arago 2017.05 am335x-evm ttyS0
    
    am335x-evm login: 
     _____                    _____           _         _   
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
                  |___|                    |___|            
    
    Arago Project http://arago-project.org am335x-evm ttyS0
    
    Arago 2017.05 am335x-evm ttyS0
    
    am335x-evm login: root
    root@am335x-evm:~# 
    root@am335x-evm:~# 
    root@am335x-evm:~# 
    root@am335x-evm:~# 
    root@am335x-evm:~#      
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0050/eeprom | head -5                             
    00000000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00000010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00000020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00000050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    root@am335x-evm:~# 
    root@am335x-evm:~# 
    root@am335x-evm:~# 
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-1/device/0-0050/eeprom | head -5                                                
    hexdump: /sys/class/i2c-dev/i2c-1/device/0-0050/eeprom: No such file or directory
    hexdump: all input file arguments failed
    root@am335x-evm:~# 
    root@am335x-evm:~# i2cdetect -y
    Error: No i2c-bus specified!
    Usage: i2cdetect [-y] [-a] [-q|-r] I2CBUS [FIRST LAST]
           i2cdetect -F I2CBUS
           i2cdetect -l
      I2CBUS is an integer or an I2C bus name
      If provided, FIRST and LAST limit the probing range.
    root@am335x-evm:~# 
    root@am335x-evm:~# i2cdetect -r 
    Error: No i2c-bus specified!
    Usage: i2cdetect [-y] [-a] [-q|-r] I2CBUS [FIRST LAST]
           i2cdetect -F I2CBUS
           i2cdetect -l
      I2CBUS is an integer or an I2C bus name
      If provided, FIRST and LAST limit the probing range.
    root@am335x-evm:~# i2cdetect -y
    Error: No i2c-bus specified!
    Usage: i2cdetect [-y] [-a] [-q|-r] I2CBUS [FIRST LAST]
           i2cdetect -F I2CBUS
           i2cdetect -l
      I2CBUS is an integer or an I2C bus name
      If provided, FIRST and LAST limit the probing range.
    root@am335x-evm:~# i2cdetect -l
    i2c-2   i2c             OMAP I2C adapter                        I2C adapter
    i2c-0   i2c             OMAP I2C adapter                        I2C adapter
    root@am335x-evm:~# 
    root@am335x-evm:~# 
    root@am335x-evm:~# i2cdetect -r 0
    WARNING! This program can confuse your I2C bus, cause data loss and worse!
    I will probe file /dev/i2c-0 using read byte commands.
    I will probe address range 0x03-0x77.
    Continue? [Y/n] y
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: UU -- -- -- -- -- -- --                         
    root@am335x-evm:~# i2cdetect -r 2
    WARNING! This program can confuse your I2C bus, cause data loss and worse!
    I will probe file /dev/i2c-2 using read byte commands.
    I will probe address range 0x03-0x77.
    Continue? [Y/n] y
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --                         
    root@am335x-evm:~# i2cdetect -r 1
    Error: Could not open file `/dev/i2c-1' or `/dev/i2c/1': No such file or directory
    root@am335x-evm:~# 
    root@am335x-evm:~# i2cdetect -r 0
    WARNING! This program can confuse your I2C bus, cause data loss and worse!
    I will probe file /dev/i2c-0 using read byte commands.
    I will probe address range 0x03-0x77.
    Continue? [Y/n] y
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: UU -- -- -- -- -- -- --                         
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0050/eeprom | head -5
    00000000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00000010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00000020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00000050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    root@am335x-evm:~# 
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0070/eeprom | head -5                                                
    hexdump: /sys/class/i2c-dev/i2c-0/device/0-0070/eeprom: No such file or directory
    hexdump: all input file arguments failed
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0070/eeprom | head -7
    hexdump: /sys/class/i2c-dev/i2c-0/device/0-0070/eeprom: No such file or directory
    hexdump: all input file arguments failed
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0070/eeprom          
    hexdump: /sys/class/i2c-dev/i2c-0/device/0-0070/eeprom: No such file or directory
    hexdump: all input file arguments failed
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0070/                
    driver/                  modalias                 of_node/                 subsystem/               
    hdmi-audio-codec.0.auto/ name                     power/                   uevent                   
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0070/  
    driver/                  modalias                 of_node/                 subsystem/               
    hdmi-audio-codec.0.auto/ name                     power/                   uevent                   
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0070/
    driver/                  modalias                 of_node/                 subsystem/               
    hdmi-audio-codec.0.auto/ name                     power/                   uevent                   
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0050/                                                                
    0-00500/   driver/    eeprom     modalias   name       of_node/   power/     subsystem/ uevent     
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0050/eeprom 
    00000000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00000010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00000020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00000050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    00000060  36 36 2b 31 35 32 33 58  58 58 58 58 58 58 58 58  |66+1523XXXXXXXXX|
    00000070  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00001000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00001010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00001020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00001050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    00001060  36 36 2b 31 35 32 33 58  58 58 58 58 58 58 58 58  |66+1523XXXXXXXXX|
    00001070  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00002000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00002010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00002020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00002050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    00002060  36 36 2b 31 35 32 33 58  58 58 58 58 58 58 58 58  |66+1523XXXXXXXXX|
    00002070  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00003000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00003010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00003020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00003050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    00003060  36 36 2b 31 35 32 33 58  58 58 58 58 58 58 58 58  |66+1523XXXXXXXXX|
    00003070  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00004000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00004010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00004020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00004050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    00004060  36 36 2b 31 35 32 33 58  58 58 58 58 58 58 58 58  |66+1523XXXXXXXXX|
    00004070  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00005000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00005010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00005020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00005050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    00005060  36 36 2b 31 35 32 33 58  58 58 58 58 58 58 58 58  |66+1523XXXXXXXXX|
    00005070  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00006000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00006010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00006020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00006050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    00006060  36 36 2b 31 35 32 33 58  58 58 58 58 58 58 58 58  |66+1523XXXXXXXXX|
    00006070  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00007000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00007010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00007020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00007050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    00007060  36 36 2b 31 35 32 33 58  58 58 58 58 58 58 58 58  |66+1523XXXXXXXXX|
    00007070  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00008000
    root@am335x-evm:~# 
    root@am335x-evm:~# 
    root@am335x-evm:~# i2cdetect -r 0
    WARNING! This program can confuse your I2C bus, cause data loss and worse!
    I will probe file /dev/i2c-0 using read byte commands.
    I will probe address range 0x03-0x77.
    Continue? [Y/n] y
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: UU -- -- -- -- -- -- --                         
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0050/eeprom | head -5
    00000000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00000010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00000020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00000050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0050/eeprom | head -6
    00000000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00000010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00000020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00000050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    00000060  36 36 2b 31 35 32 33 58  58 58 58 58 58 58 58 58  |66+1523XXXXXXXXX|
    root@am335x-evm:~# 
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0024/                                                                
    driver/             name                power/              subsystem/          tps65217-charger/   tps65217-pwrbutton/
    modalias            of_node/            regulator/          tps65217-bl/        tps65217-pmic/      uevent
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0034/                                                                
    driver/    modalias   name       power/     subsystem/ uevent     
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0034/
    driver/    modalias   name       power/     subsystem/ uevent     
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0050/
    0-00500/   driver/    eeprom     modalias   name       of_node/   power/     subsystem/ uevent     
    root@am335x-evm:~# i2cdetect -r 1
    Error: Could not open file `/dev/i2c-1' or `/dev/i2c/1': No such file or directory
    root@am335x-evm:~# i2cdetect -r 2
    WARNING! This program can confuse your I2C bus, cause data loss and worse!
    I will probe file /dev/i2c-2 using read byte commands.
    I will probe address range 0x03-0x77.
    Continue? [Y/n] y
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --                         
    root@am335x-evm:~# 
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-                                                     
    i2c-0/ i2c-2/ 
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c- 
    i2c-0/ i2c-2/ 
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-2/ 
    dev        device/    name       power/     subsystem/ uevent     
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-2/ 
    dev        device/    name       power/     subsystem/ uevent     
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-2/ 
    dev        device/    name       power/     subsystem/ uevent     
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-2/dev 
    dev     device/ 
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-2/device/ 
    2-0054/        2-0056/        delete_device  i2c-dev/       new_device     power/         uevent         
    2-0055/        2-0057/        device/        name           of_node/       subsystem/     
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-2/device/2-005 
    2-0054/ 2-0055/ 2-0056/ 2-0057/ 
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-2/device/2-0054/ 
    modalias   name       of_node/   power/     subsystem/ uevent     
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-2/device/2-0054/ 
    modalias   name       of_node/   power/     subsystem/ uevent     
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-2/device/2-0054/ 
    modalias   name       of_node/   power/     subsystem/ uevent     
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-2/device/2-0054/ 
    modalias   name       of_node/   power/     subsystem/ uevent     
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-2/device/2-0054/ 
    hexdump: /sys/class/i2c-dev/i2c-2/device/2-0054/: Is a directory
    

    Please let me know what can we proceed

  • Hi

    Please check the logs

    am335x-evm login: 
     _____                    _____           _         _   
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
                  |___|                    |___|            
    
    Arago Project http://arago-project.org am335x-evm ttyS0
    
    Arago 2017.05 am335x-evm ttyS0
    
    am335x-evm login: 
     _____                    _____           _         _   
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
                  |___|                    |___|            
    
    Arago Project http://arago-project.org am335x-evm ttyS0
    
    Arago 2017.05 am335x-evm ttyS0
    
    am335x-evm login: root
    root@am335x-evm:~# 
    root@am335x-evm:~# 
    root@am335x-evm:~# 
    root@am335x-evm:~# 
    root@am335x-evm:~#      
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0050/eeprom | head -5                             
    00000000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00000010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00000020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00000050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    root@am335x-evm:~# 
    root@am335x-evm:~# 
    root@am335x-evm:~# 
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-1/device/0-0050/eeprom | head -5                                                
    hexdump: /sys/class/i2c-dev/i2c-1/device/0-0050/eeprom: No such file or directory
    hexdump: all input file arguments failed
    root@am335x-evm:~# 
    root@am335x-evm:~# i2cdetect -y
    Error: No i2c-bus specified!
    Usage: i2cdetect [-y] [-a] [-q|-r] I2CBUS [FIRST LAST]
           i2cdetect -F I2CBUS
           i2cdetect -l
      I2CBUS is an integer or an I2C bus name
      If provided, FIRST and LAST limit the probing range.
    root@am335x-evm:~# 
    root@am335x-evm:~# i2cdetect -r 
    Error: No i2c-bus specified!
    Usage: i2cdetect [-y] [-a] [-q|-r] I2CBUS [FIRST LAST]
           i2cdetect -F I2CBUS
           i2cdetect -l
      I2CBUS is an integer or an I2C bus name
      If provided, FIRST and LAST limit the probing range.
    root@am335x-evm:~# i2cdetect -y
    Error: No i2c-bus specified!
    Usage: i2cdetect [-y] [-a] [-q|-r] I2CBUS [FIRST LAST]
           i2cdetect -F I2CBUS
           i2cdetect -l
      I2CBUS is an integer or an I2C bus name
      If provided, FIRST and LAST limit the probing range.
    root@am335x-evm:~# i2cdetect -l
    i2c-2   i2c             OMAP I2C adapter                        I2C adapter
    i2c-0   i2c             OMAP I2C adapter                        I2C adapter
    root@am335x-evm:~# 
    root@am335x-evm:~# 
    root@am335x-evm:~# i2cdetect -r 0
    WARNING! This program can confuse your I2C bus, cause data loss and worse!
    I will probe file /dev/i2c-0 using read byte commands.
    I will probe address range 0x03-0x77.
    Continue? [Y/n] y
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: UU -- -- -- -- -- -- --                         
    root@am335x-evm:~# i2cdetect -r 2
    WARNING! This program can confuse your I2C bus, cause data loss and worse!
    I will probe file /dev/i2c-2 using read byte commands.
    I will probe address range 0x03-0x77.
    Continue? [Y/n] y
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --                         
    root@am335x-evm:~# i2cdetect -r 1
    Error: Could not open file `/dev/i2c-1' or `/dev/i2c/1': No such file or directory
    root@am335x-evm:~# 
    root@am335x-evm:~# i2cdetect -r 0
    WARNING! This program can confuse your I2C bus, cause data loss and worse!
    I will probe file /dev/i2c-0 using read byte commands.
    I will probe address range 0x03-0x77.
    Continue? [Y/n] y
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: UU -- -- -- -- -- -- --                         
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0050/eeprom | head -5
    00000000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00000010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00000020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00000050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    root@am335x-evm:~# 
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0070/eeprom | head -5                                                
    hexdump: /sys/class/i2c-dev/i2c-0/device/0-0070/eeprom: No such file or directory
    hexdump: all input file arguments failed
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0070/eeprom | head -7
    hexdump: /sys/class/i2c-dev/i2c-0/device/0-0070/eeprom: No such file or directory
    hexdump: all input file arguments failed
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0070/eeprom          
    hexdump: /sys/class/i2c-dev/i2c-0/device/0-0070/eeprom: No such file or directory
    hexdump: all input file arguments failed
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0070/                
    driver/                  modalias                 of_node/                 subsystem/               
    hdmi-audio-codec.0.auto/ name                     power/                   uevent                   
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0070/  
    driver/                  modalias                 of_node/                 subsystem/               
    hdmi-audio-codec.0.auto/ name                     power/                   uevent                   
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0070/
    driver/                  modalias                 of_node/                 subsystem/               
    hdmi-audio-codec.0.auto/ name                     power/                   uevent                   
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0050/                                                                
    0-00500/   driver/    eeprom     modalias   name       of_node/   power/     subsystem/ uevent     
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0050/eeprom 
    00000000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00000010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00000020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00000050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    00000060  36 36 2b 31 35 32 33 58  58 58 58 58 58 58 58 58  |66+1523XXXXXXXXX|
    00000070  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00001000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00001010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00001020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00001050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    00001060  36 36 2b 31 35 32 33 58  58 58 58 58 58 58 58 58  |66+1523XXXXXXXXX|
    00001070  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00002000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00002010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00002020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00002050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    00002060  36 36 2b 31 35 32 33 58  58 58 58 58 58 58 58 58  |66+1523XXXXXXXXX|
    00002070  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00003000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00003010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00003020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00003050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    00003060  36 36 2b 31 35 32 33 58  58 58 58 58 58 58 58 58  |66+1523XXXXXXXXX|
    00003070  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00004000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00004010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00004020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00004050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    00004060  36 36 2b 31 35 32 33 58  58 58 58 58 58 58 58 58  |66+1523XXXXXXXXX|
    00004070  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00005000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00005010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00005020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00005050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    00005060  36 36 2b 31 35 32 33 58  58 58 58 58 58 58 58 58  |66+1523XXXXXXXXX|
    00005070  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00006000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00006010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00006020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00006050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    00006060  36 36 2b 31 35 32 33 58  58 58 58 58 58 58 58 58  |66+1523XXXXXXXXX|
    00006070  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00007000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00007010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00007020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00007050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    00007060  36 36 2b 31 35 32 33 58  58 58 58 58 58 58 58 58  |66+1523XXXXXXXXX|
    00007070  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00008000
    root@am335x-evm:~# 
    root@am335x-evm:~# 
    root@am335x-evm:~# i2cdetect -r 0
    WARNING! This program can confuse your I2C bus, cause data loss and worse!
    I will probe file /dev/i2c-0 using read byte commands.
    I will probe address range 0x03-0x77.
    Continue? [Y/n] y
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: UU -- -- -- -- -- -- --                         
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0050/eeprom | head -5
    00000000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00000010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00000020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00000050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0050/eeprom | head -6
    00000000  aa 55 33 ee 41 33 33 35  42 4e 4c 54 30 30 43 30  |.U3.A335BNLT00C0|
    00000010  32 33 31 35 42 42 42 4b  32 34 33 32 ff ff ff ff  |2315BBBK2432....|
    00000020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
    *
    00000050  34 30 30 35 32 34 2b 31  33 30 31 2b 30 30 39 32  |400524+1301+0092|
    00000060  36 36 2b 31 35 32 33 58  58 58 58 58 58 58 58 58  |66+1523XXXXXXXXX|
    root@am335x-evm:~# 
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0024/                                                                
    driver/             name                power/              subsystem/          tps65217-charger/   tps65217-pwrbutton/
    modalias            of_node/            regulator/          tps65217-bl/        tps65217-pmic/      uevent
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0034/                                                                
    driver/    modalias   name       power/     subsystem/ uevent     
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0034/
    driver/    modalias   name       power/     subsystem/ uevent     
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-0/device/0-0050/
    0-00500/   driver/    eeprom     modalias   name       of_node/   power/     subsystem/ uevent     
    root@am335x-evm:~# i2cdetect -r 1
    Error: Could not open file `/dev/i2c-1' or `/dev/i2c/1': No such file or directory
    root@am335x-evm:~# i2cdetect -r 2
    WARNING! This program can confuse your I2C bus, cause data loss and worse!
    I will probe file /dev/i2c-2 using read byte commands.
    I will probe address range 0x03-0x77.
    Continue? [Y/n] y
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --                         
    root@am335x-evm:~# 
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-                                                     
    i2c-0/ i2c-2/ 
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c- 
    i2c-0/ i2c-2/ 
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-2/ 
    dev        device/    name       power/     subsystem/ uevent     
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-2/ 
    dev        device/    name       power/     subsystem/ uevent     
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-2/ 
    dev        device/    name       power/     subsystem/ uevent     
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-2/dev 
    dev     device/ 
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-2/device/ 
    2-0054/        2-0056/        delete_device  i2c-dev/       new_device     power/         uevent         
    2-0055/        2-0057/        device/        name           of_node/       subsystem/     
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-2/device/2-005 
    2-0054/ 2-0055/ 2-0056/ 2-0057/ 
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-2/device/2-0054/ 
    modalias   name       of_node/   power/     subsystem/ uevent     
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-2/device/2-0054/ 
    modalias   name       of_node/   power/     subsystem/ uevent     
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-2/device/2-0054/ 
    modalias   name       of_node/   power/     subsystem/ uevent     
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-2/device/2-0054/ 
    modalias   name       of_node/   power/     subsystem/ uevent     
    root@am335x-evm:~#  hexdump -C /sys/class/i2c-dev/i2c-2/device/2-0054/ 
    hexdump: /sys/class/i2c-dev/i2c-2/device/2-0054/: Is a directory
    

  • Hi Deepak,

    So you are successfully able to read the EEPROM values from 0x50 slave device through sysfs.


    Thanks,
    Prabhuraj
    BlackPepper Technologies.
  • Hi Deepak,

    Does this solve your original issue of writing to EEPROM? If not, then I feel you should identify the module which is using the i2c-dev 0, disable it and then try to access from /dev/i2c...

    Let me know your comments.

    Thanks,
    Prabhuraj
    BlackPepper Technologies
  • Hi
    Prabhu

    I am able to read from the eeprom
    But I want to write to eeprom and read back

    I will check using lsmod to check what modules are using this i2c and I hope I cannot remove this using rmod

    This has to be done while compiling in menuconfig may be

    But not sure I am not able to build the latest SDK as mentioned in other thread
    Please let me know if you have any references to solve this

    Thank you
    Deepak R
  • Hello Deepak,

    Good to know that you could make progress.
    Yes, you need to disable the module using the i2c from menuconfig and compile the code.

    Can you please share the issues while compiling the latest SDK? What are the steps you are following and your reference links.

    thanks,
    Prabhuraj
    BlackPepper Technologies
  • Hi Deepak,

    Got it. We were discussing about your yocto build issues from this link e2e.ti.com/.../2307187

    We can discuss about it under that thread.
    If i2c issue is resolved at your end, please mark it "Answered" so that it is closed.

    Thanks,
    prabhuraj
    BlackPepper Technologies
  • HI team If any one tried doping this please help on this
    Thnak you
    Deepak R