I think this is due to the initramfs. There's a way to update that, but I don't know it off the top of my head. It's been covered several times on this list, though.
> On May 16, 2016, at 12:10 , Super Twang <
super...@gmail.com> wrote:
>
>
> I'm seeing some strange persistent/erroneous behavior with a device tree overlay that I wanted to ask about.
>
> Specifically, I'm seeing startup errors in 'dmesg' which reference symbols in a device tree overlay (.dtbo) that no longer exist.
>
> [ 11.591461] pinctrl-single 44e10800.pinmux: bad data for mux MYOVERLAY_pru
> [ 11.671379] pinctrl-single 44e10800.pinmux: no pins entries for MYOVERLAY_pru
>
> I'm using image:
> bone-debian-8.4-console-armhf-2016-04-07-2gb.img.xz
>
> (With some packages removed)
>
> I'm using kernel:
> 4.4.9-bone-rt-r10
>
>
> The errors originated from an old *.dtc file that did indeed contain errors (no pins defined for a mux called MYOVERLAY_pru). So, I simplified it, created a 'good' version of the *dtc, which compiles and loads properly. The new overlay doesn't contain ANY references to MYOVERLAY_pru, and yet, I'm still seeing errors referencing it on reboot (when the part is enabled in /boot/uEnv.txt), when I type 'dmesg'
>
> Also, if it is helpful, I've found that the directory below seems to appear with the error messages.
>
> /sys/firmware/devicetree/base/ocp/l4_wkup@44c00000/scm@210000/pinmux@800/MYOVERLAY_pru
>
> I've tried disabling the part in /boot/uEnv.txt, and rebooting.
> I've tried doing a full halt, then disconnecting power for several minutes, then rebooting.
>
> I can make the errors go away if I disable the part in /boot/uEnv.txt, but, I actually want the (correct) overlay to load (with no errors) upon startup.
>
> Does anyone have any idea what is going on here? How can a symbol from a device tree overlay persist beyond its own deletion/de-install? Is something being saved, but then not cleared from persistent memory?
>
>
> Thanks for any insights you might have,
>
> ST
>
>
>
> PS. I've attached the two *dtc files in question below
>
>
> ----------------------------------- BELOW IS THE ORIG DTC WHICH CAUSED THE ERROR
>
> /dts-v1/;
>
> / {
> compatible = "ti,beaglebone-black";
> part-number = "MY_OVERLAY";
> version = "00A0";
> exclusive-use = "P8.12", "pruss", "pru0";
>
> fragment@0 {
> target = <0xdeadbeef>;
>
> __overlay__ {
>
> MY_OVERLAY_gpio {
> pinctrl-single,pins = <0x30 0x7>;
> linux,phandle = <0x2>;
> phandle = <0x2>;
> };
>
> MY_OVERLAY_pru {
> pinctrl-single,pins; // <----- NOTE, THE LACK OF PIN DEFS HERE CAUSES THE ERROR MESSAGE(I think)
> linux,phandle = <0x1>;
> phandle = <0x1>;
> };
> };
> };
>
> fragment@1 {
> target = <0xdeadbeef>;
>
> __overlay__ {
> status = "okay";
> pinctrl-names = "default";
> pinctrl-0 = <0x1>;
> };
> };
>
> fragment@2 {
> target = <0xdeadbeef>;
>
> __overlay__ {
>
> gpio_helper {
> compatible = "gpio-of-helper";
> status = "okay";
> pinctrl-names = "default";
> pinctrl-0 = <0x2>;
> };
> };
> };
>
> __symbols__ {
> my_overlay_gpio = "/fragment@0/__overlay__/MY_OVERLAY_gpio";
> my_overlay_pru = "/fragment@0/__overlay__/MY_OVERLAY_pru";
> };
>
> __local_fixups__ {
>
> fragment@1 {
>
> __overlay__ {
> pinctrl-0 = <0x0>;
> };
> };
>
> fragment@2 {
>
> __overlay__ {
>
> gpio_helper {
> pinctrl-0 = <0x0>;
> };
> };
> };
> };
>
> __fixups__ {
> am33xx_pinmux = "/fragment@0:target:0";
> pruss = "/fragment@1:target:0";
> ocp = "/fragment@2:target:0";
> };
> };
>
> ----------------------------------- BELOW IS THE FIXED DTC
> /dts-v1/;
>
> / {
> compatible = "ti,beaglebone-black";
> part-number = "MY_OVERLAY";
> version = "00A0";
> exclusive-use = "P8.12";
>
> fragment@0 {
> target = <0xdeadbeef>;
>
> __overlay__ {
>
> MY_OVERLAY_gpio {
> pinctrl-single,pins = <0x30 0x7>;
> linux,phandle = <0x1>;
> phandle = <0x1>;
> };
> };
> };
>
> fragment@1 {
> target = <0xdeadbeef>;
>
> __overlay__ {
>
> gpio_helper {
> compatible = "gpio-of-helper";
> status = "okay";
> pinctrl-names = "default";
> pinctrl-0 = <0x1>;
> };
> };
> };
>
> __symbols__ {
> my_overlay_gpio = "/fragment@0/__overlay__/MY_OVERLAY_gpio";
> };
>
> __local_fixups__ {
>
> fragment@1 {
>
> __overlay__ {
>
> gpio_helper {
> pinctrl-0 = <0x0>;
> };
> };
> };
> };
>
> __fixups__ {
> am33xx_pinmux = "/fragment@0:target:0";
> ocp = "/fragment@1:target:0";
> };
> };
>
>
>
> --
> 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...@googlegroups.com.
> To view this discussion on the web visit
https://groups.google.com/d/msgid/beagleboard/d99a914a-18de-4223-8a4f-bd332fe6e79e%40googlegroups.com.
> For more options, visit
https://groups.google.com/d/optout.
--
Rick Mann
rm...@latencyzero.com