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.

Reply via email to