Like many, I'm having issues with loading device tree overlays at boot.

# uname -a
Linux spa.turrim 4.4.4-1-ARCH #1 Sat Mar 5 18:30:09 MST 2016 armv7l 
GNU/Linux
#

I have DS3231.dts:

/dts-v1/;
/plugin/;

/{

  compatible = "ti,beaglebone", "ti,beaglebone-black";
  part-number = "BBB-DS3231";
  version = "00A0";

  fragment@0 {
    target = <&i2c2>;

    __overlay__ {
      pinctrl-0 = <&i2c2_pins>;

      clock-frequency = <100000>;
      status = "okay";

      rtc: rtc@68 {
        compatible = "dallas,ds1307";
        #address-cells = <1>;
        #size-cells = <0>;
        reg = <0x68>;
      };
    };
  };
};

I have compiled it and put the .dtbo in /lib/firmware:

# ls -l /lib/firmware/DS3231-00A0.dtbo 
-rw-r--r-- 1 root root 699 Feb 22 21:35 /lib/firmware/DS3231-00A0.dtbo
# 

Interactively it works:

# echo DS3231 > /sys/devices/platform/bone_capemgr/slots

produces:

[ 4082.171481] bone_capemgr bone_capemgr: part_number 'DS3231', version 
'N/A'
[ 4082.178999] bone_capemgr bone_capemgr: slot #4: override
[ 4082.184502] bone_capemgr bone_capemgr: Using override eeprom data at 
slot 4
[ 4082.191512] bone_capemgr bone_capemgr: slot #4: 'Override Board 
Name,00A0,Override Manuf,DS3231'
[ 4082.216295] rtc-ds1307 2-0068: rtc core: registered ds1307 as rtc1
[ 4082.222530] rtc-ds1307 2-0068: 56 bytes nvram
[ 4082.237260] bone_capemgr bone_capemgr: slot #4: dtbo 'DS3231-00A0.dtbo' 
loaded; overlay id #0

and

# cat /sys/devices/platform/bone_capemgr/slots
 0: PF----  -1 
 1: PF----  -1 
 2: PF----  -1 
 3: PF----  -1 
 4: P-O-L-   0 Override Board Name,00A0,Override Manuf,DS3231
# 

So I ask to have it enabled at boot:

# cat /boot/uEnv.txt 
optargs=coherent_pool=1M bone_capemgr.enable_partno=BBB-DS3231
# 

and I get this in dmesg:

# dmesg | grep bone
[    0.000000] Kernel command line: console=ttyO0,115200n8 coherent_pool=1M 
bone_capemgr.enable_partno=BBB-DS3231 root=PARTUUID=0e4f7ccd-01 rw rootwait 
fixrtc
[    4.950284] bone_capemgr bone_capemgr: Baseboard: 
'A335BNLT,00C0,3214BBBK9247'
[    4.957585] bone_capemgr bone_capemgr: 
compatible-baseboard=ti,beaglebone-black - #slots=4
[    5.023585] bone_capemgr bone_capemgr: slot #0: No cape found
[    5.083600] bone_capemgr bone_capemgr: slot #1: No cape found
[    5.143596] bone_capemgr bone_capemgr: slot #2: No cape found
[    5.203580] bone_capemgr bone_capemgr: slot #3: No cape found
[    5.209370] bone_capemgr bone_capemgr: enabled_partno PARTNO 
'BBB-DS3231' VER 'N/A' PR '0'
[    5.217685] bone_capemgr bone_capemgr: slot #4: override
[    5.223023] bone_capemgr bone_capemgr: Using override eeprom data at 
slot 4
[    5.230034] bone_capemgr bone_capemgr: slot #4: 'Override Board 
Name,00A0,Override Manuf,BBB-DS3231'
[    5.239545] bone_capemgr bone_capemgr: initialized OK.
[    6.259420] bone_capemgr bone_capemgr: loader: failed to load slot-4 
BBB-DS3231:00A0 (prio 0)
#

Is this a case of /lib/firmware not being available yet?  I see people with 
Debian fiddling with initramfs in similar situations...?


-- 
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/d/optout.

Reply via email to