Hi Benny,
I have exact the same issue. What I found is: CAN dtbo load correctly when 
boot from sd card, but not work when boot from eMMC, that make me think it 
is a boot order issue. I googled it and according to this post:
https://groups.google.com/forum/#!msg/beagleboard/Iem_mHknIUM/buwAqagYukwJ
the reason is: eMMC is also a cape, it is loaded after CAN cape (my CAN 
cape is configured at slot 0), so the rootfs is not ready for a dtbo that 
is not build into kernel. 
The solution is here:
https://github.com/pantoniou/linux-bbxm/commit/738e37102bdfbfd065f4f53814df62b896804d90
In case of CAN cape, add
capemgr.enable_partno=BB-BONE-SERL-01:00A2:8
at optargs

I am using ubuntu from armhf with kernel 3.8.13-bone30.

Jun


On Monday, July 1, 2013 5:17:33 PM UTC-4, Benny Simonsen wrote:
>
> Hi,
>
> I have a Rev 00A2 and made the changes as Sebastian suggest below. I have 
> only changed version in the dts file to 00A2 (don't understand the "adapt 
> the part-number in the new dts file to match the files name"?)
> After compiling and rebooting I still get a 
> [   60.501650] bone-capemgr bone_capemgr.8: failed to load firmware 
> 'BB-BONE-SERL-01-00A2.dtbo'
> but
> echo BB-BONE-SERL-01:00A2 >/sys/devices/bone_capemgr.*/slots
> works without problems.
> Any idea why I get the "failed to load firmware 
> 'BB-BONE-SERL-01-00A2.dtbo'"?
>
> /Benny
>
> Den lørdag den 15. juni 2013 14.30.21 UTC+2 skrev [email protected]:
>>
>> Hello everybody,
>>
>> I also stumbled about the CAN Cape support in Angstrom. I finally found 
>> out that the latest image (2013-06-06) does already include all the cape 
>> support we need. But still you need to change a little bit as the BBB may 
>> be shipped with a CAN Cape Rev. 00A2 instead of 00A1.
>>
>> You just need to cp /lib/firmware/BB-BONE-SERL-01-00A1.dts to 
>> /lib/firmware/BB-BONE-SERL-01-00A2.dts adapt the part-number in the new dts 
>> file to match the files name and compile it on the BBB:
>> dtc -O dtb -@ /lib/firmware/BB-BONE-SERL-01-00A2.dts > 
>> /lib/firmware/BB-BONE-SERL-01-00A2.dtbo
>>
>> Restart the BBB and now the capemgr should be able to load the 
>> correspondig dtbo and adapt the devicetree.
>>
>> Cheers,
>> Sebastian
>>
>> Am Montag, 10. Juni 2013 12:59:04 UTC+2 schrieb Johan Henselmans:
>>>
>>> There is an error in the file example: you should name the file the same 
>>> as the definition. So 
>>> replace 
>>> part-number = "BB-DCAN1";
>>> with 
>>> part-number = "BB-CANBUS1";
>>>
>>> in the file, or rename the file to BB-DCAN1 before compiling and adding 
>>> to uEnv.txt.
>>>
>>>
>>> On Monday, June 10, 2013 11:21:55 AM UTC+2, Johan Henselmans wrote:
>>>>
>>>> I found the message on http://www.aero-box.co.uk/beaglebone-black from 
>>>> Owen McAree, in which he describes the pinmux settings:
>>>>
>>>> I added a section to this for the dcan1 pins. The pins happen to be the 
>>>> same as those for UART2 which is convenient because Nick's guide has 
>>>> already identified the correct offsets (0x180 and 0x184) from the TRM. 
>>>> [snip]
>>>>
>>>>   * Pin* *Slew Rate * *Input * *Pull Up * *Pull Up * * Mode* *Mode* 
>>>> *Mode * *In Hex*   d_can1_tx (0x180) 0  0  1  0   0 1 0  0x12   d_can1_rx 
>>>> (0x184) 0 1 1 0 0 1 0 0x32   
>>>> Which would lead to a change in the pinmux setup in BB-BONE-SERL-01:
>>>>
>>>> Now it is
>>>>
>>>>         fragment@0 {
>>>>                 target = <&am33xx_pinmux>;
>>>>                 __overlay__ {
>>>>                         bone_serl_01_dcan1_pins: 
>>>> bone_serl_01_dcan1_pins {
>>>>                                 pinctrl-single,pins = <
>>>>                                         0x180 0x02      /* 
>>>> uart1_rxd.d_can1_tx", OUTPUT | MODE2 */
>>>>                                         0x184 0x32      /* 
>>>> uart1_txd.d_can1_rx", INPUT_PULLUP | MODE2 */
>>>>                                 >;
>>>>                         };
>>>>                 };
>>>>         };
>>>>
>>>> According to Owen this should be:
>>>>
>>>>         fragment@0 {
>>>>                 target = <&am33xx_pinmux>;
>>>>                 __overlay__ {
>>>>                         bb_dcan1_pins: pinmux_bb_dcan1_pins {
>>>>                                 pinctrl-single,pins = <
>>>>                                         0x180 0x12 /* P9.26 
>>>> uart1_rxd.can1_tx   INPUT_PULLUP | MODE2 */
>>>>                                         0x184 0x32 /* P9.24 
>>>> uart1_txd.dcan1_rx  RECV_ENABLE | INPUT_PULLUP | MODE2 */
>>>>                                 >;
>>>>                         };
>>>>                 };
>>>>         };
>>>>
>>>>
>>>> The difference is in the INPUT_PULLUP pin. I don't know if he is 
>>>> correct, but you might try to edit the dts file and use 0x12 instead of 
>>>> 0x02 for P9.26, and see if it makes a difference. 
>>>>
>>>> I have made a version that might do the trick. Mind you, I do not have 
>>>> a BB-BONE-SERL-01 CAN cape...
>>>>
>>>> Best Regards, Johan
>>>>
>>>> On Wednesday, May 1, 2013 11:22:30 PM UTC+2, Bert Lindner wrote:
>>>>>
>>>>>
>>>>> My BeagleBone Black rev. A5A with pre loaded Angstrom v2012.12 (kernel 
>>>>> 3.8.6-r22d.3) finally arrived, and with it a Beagleboardtoys 
>>>>> BB-BONE-SERL-01 CAN cape Revision A2. The cape gets recognized ok, but no 
>>>>> can0 device appears. dmesg reports
>>>>>
>>>>> [    0.544718] bone-capemgr bone_capemgr.8: Baseboard: 
>>>>> 'A335BNLT,0A5A,1613BBBK1412'
>>>>> [    0.544760] bone-capemgr bone_capemgr.8: 
>>>>> compatible-baseboard=ti,beaglebone-black
>>>>> [    0.568984] bone-capemgr bone_capemgr.8: slot #0: 'BeagleBone 
>>>>> CANBUS CAPE,00A2,Beagleboardtoys,BB-BONE-SERL-01'
>>>>> [    0.600225] bone-capemgr bone_capemgr.8: slot #1: No cape found
>>>>> [    0.637332] bone-capemgr bone_capemgr.8: slot #2: No cape found
>>>>> [    0.674440] bone-capemgr bone_capemgr.8: slot #3: No cape found
>>>>> [    0.680680] bone-capemgr bone_capemgr.8: slot #4: specific override
>>>>> [    0.680719] bone-capemgr bone_capemgr.8: bone: Using override 
>>>>> eeprom data at slot 4
>>>>> [    0.680748] bone-capemgr bone_capemgr.8: slot #4: 
>>>>> 'Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G'
>>>>> [    0.680887] bone-capemgr bone_capemgr.8: slot #5: specific override
>>>>> [    0.680921] bone-capemgr bone_capemgr.8: bone: Using override 
>>>>> eeprom data at slot 5
>>>>> [    0.680949] bone-capemgr bone_capemgr.8: slot #5: 
>>>>> 'Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI'
>>>>> [    0.681460] bone-capemgr bone_capemgr.8: slot #0: Requesting part 
>>>>> number/version based 'BB-BONE-SERL-01-00A2.dtbo
>>>>> [    0.681497] bone-capemgr bone_capemgr.8: slot #0: Requesting 
>>>>> firmware 'BB-BONE-SERL-01-00A2.dtbo' for board-name 'BeagleBone CANBUS 
>>>>> CAPE', version '00A2'
>>>>> [    0.682017] bone-capemgr bone_capemgr.8: initialized OK.
>>>>> [    4.445426] bone-capemgr bone_capemgr.8: failed to load firmware 
>>>>> 'BB-BONE-SERL-01-00A2.dtbo'
>>>>> [    4.454433] bone-capemgr bone_capemgr.8: slot #4: Requesting 
>>>>> firmware 'cape-bone-2g-emmc1.dtbo' for board-name 'Bone-LT-eMMC-2G', 
>>>>> version '00A0'
>>>>> [    4.454453] bone-capemgr bone_capemgr.8: slot #4: dtbo 
>>>>> 'cape-bone-2g-emmc1.dtbo' loaded; converting to live tree
>>>>> [    4.454652] bone-capemgr bone_capemgr.8: slot #4: #2 overlays
>>>>> [    4.454873] bone-capemgr bone_capemgr.8: slot #4: Applied #2 
>>>>> overlays.
>>>>> [    4.455126] bone-capemgr bone_capemgr.8: slot #5: Requesting 
>>>>> firmware 'cape-boneblack-hdmi-00A0.dtbo' for board-name 
>>>>> 'Bone-Black-HDMI', 
>>>>> version '00A0'
>>>>> [    4.455149] bone-capemgr bone_capemgr.8: slot #5: dtbo 
>>>>> 'cape-boneblack-hdmi-00A0.dtbo' loaded; converting to live tree
>>>>> [    4.455292] bone-capemgr bone_capemgr.8: slot #5: #2 overlays
>>>>> [    4.608086] bone-capemgr bone_capemgr.8: slot #5: Applied #2 
>>>>> overlays.
>>>>>
>>>>> What am I missing? Is this CAN cape still pending Koen's magic wand 
>>>>> for the black bone? AM335x CAN driver is now supposed to be ti_hecc 
>>>>> instead 
>>>>> of previously d_can, correct?
>>>>>
>>>>> Best, no rush, -Bert
>>>>
>>>>

-- 
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to