Detailed discussion on Apr 17 2017. --- Graham
== On Wed, Oct 31, 2018 at 10:15 AM Graham Haddock <gra...@flexradio.com> wrote: > I think there is a detailed discussion as to what is supposed to be inside > the cape EEPROMs in the > "BeagleBone Black System Reference Manual" > > It looks like there is a live Wiki version at > > https://github.com/beagleboard/beaglebone-black/wiki/System-Reference-Manual > > But since that address has already been reserved by the kernel, for the > cape manager, > you will not be able to read/write it from user space. > > If you want to access that address from user space on a BBB, you need to > stop the cape manager. > Google "BBB without reserved I2C addresses" on this forum. > and look at "am335x-bone-common-no-capemgr.dtsi" > > --- Graham > > == > > > On Wed, Oct 31, 2018 at 10:01 AM MG <musta...@braingrid.io> wrote: > >> @Graham I do have a cape with EEPROM at address 0x57 but the EEPROM is >> wiped with nothing on it so I guess that is why the board doesn't populate >> that address by default. How can I fix that? >> >> On Tuesday, October 30, 2018 at 11:14:50 PM UTC-4, gra...@flex-radio.com >> wrote: >>> >>> Those addresses at 0x54-0x57 are reserved by the kernel driver. >>> >>> Unless you have some capes with those EEPROMS populated, there is >>> nothing actually there. >>> >>> --- Graham >>> >>> == >>> >>> On Tuesday, October 30, 2018 at 7:01:27 PM UTC-5, MG wrote: >>>> >>>> The BeagleBoneBlack comes with an "internal" EEPROM connected to i2c-0 >>>> line. I can see that clearly when I do i2cdetect: >>>> >>>> debian@beaglebone:~$ i2cdetect -y -r 0 >>>> 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 -- -- -- -- -- -- -- >>>> >>>> It is showing under address 0x50. When I try to do ahexdump I get the >>>> following values with no issue: >>>> >>>> sudo 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 30 43 >>>> |.U3.A335BNLT000C| >>>> 00000010 31 38 33 37 42 42 42 47 30 36 32 32 ff ff ff ff >>>> |1837BBBG0622....| >>>> 00000020 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 30 43 >>>> |.U3.A335BNLT000C| >>>> >>>> Now I want to add another EEPROM (with cape) on i2c-2 line which is >>>> supported according to [BBB SRM]( >>>> https://cdn-shop.adafruit.com/datasheets/BBB_SRM.pdf) section 8.2. It >>>> is the CAT24C256 as mentioned in the SRM. The allowable address range for >>>> the expansion cards is 0x54-0x57. When I do i2cdetect I can see the >>>> following: >>>> >>>> debian@beaglebone:~$ i2cdetect -r -y 2 >>>> 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: -- -- -- -- -- -- -- -- >>>> >>>> I can see the addresses 0x54-0x57 showing, but when I try hex dump I >>>> get an error: >>>> >>>> hexdump: /sys/class/i2c-dev/i2c-2/device/2-0054/eeprom: >>>> Connection timed out >>>> >>>> Questions: >>>> >>>> 1. Why are they showing as U's not actual address numbers? I know U >>>> stands for used resource? >>>> 2. Why am I failing to read from that EEPROM? I have tried all addreses >>>> from 0x54-0x57 with no luck. I can confirm that those addresses are showing >>>> in /sys/class/i2c-dev/i2c-2/device and the each dir has the following in >>>> it: >>>> >>>> debian@beaglebone:~$ ls >>>> /sys/class/i2c-dev/i2c-2/device/2-0054/ -la >>>> total 0 >>>> drwxr-xr-x 4 root root 0 Oct 26 19:46 . >>>> drwxr-xr-x 8 root root 0 Oct 26 19:46 .. >>>> drwxr-xr-x 3 root root 0 Oct 26 19:47 2-00540 >>>> lrwxrwxrwx 1 root root 0 Oct 26 19:47 driver -> >>>> ../../../../../../bus/i2c/drivers/at24 >>>> -rw------- 1 root root 32768 Oct 26 19:47 eeprom >>>> -r--r--r-- 1 root root 4096 Oct 26 19:47 modalias >>>> -r--r--r-- 1 root root 4096 Oct 26 19:47 name >>>> lrwxrwxrwx 1 root root 0 Oct 26 19:47 of_node -> >>>> ../../../../../../firmware/devicetree/base/ocp/i2c@4819c000 >>>> /cape_eeprom0@54 >>>> drwxr-xr-x 2 root root 0 Oct 26 19:47 power >>>> lrwxrwxrwx 1 root root 0 Oct 26 19:47 subsystem -> >>>> ../../../../../../bus/i2c >>>> -rw-r--r-- 1 root root 4096 Oct 26 19:47 uevent >>>> >>>> I can see the addresses mapping into the kernel but when I try to >>>> hexdump eeprom it doesn't work at all. I though this was supposed to be >>>> setup by kernel since it is mentioned in BeagleBone SRM. Am I going to need >>>> an overlay to add to uboot for this? It doesn't make sense since i2c-2 is >>>> already set up by default i.e. when I connect another device at address >>>> aside from 0x54-0x57 it shows up fine and I'm able to interface to it? >>>> >>>> All I'm trying to do is read from the EEPROM like I did with the >>>> "internal" one to confirm it is working. What am I doing wrong? >>>> >>> -- >> For more options, visit http://beagleboard.org/discuss >> --- >> You received this message because you are subscribed to a topic in the >> Google Groups "BeagleBoard" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/beagleboard/r_cnUtBakj4/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> beagleboard+unsubscr...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/beagleboard/5152cbd8-5ca5-499c-b93f-d57ee2a85c79%40googlegroups.com >> <https://groups.google.com/d/msgid/beagleboard/5152cbd8-5ca5-499c-b93f-d57ee2a85c79%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/CANN_KV7vypvhgrfi2Xd1DAyvsWc8VDvxeXX%2B7t2dvDioHupitg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.