beagleboard – BBB – 在引导时自动加载设备树覆盖

我有一个设备树覆盖:

/dts-v1/;
/plugin/;

/ {
    compatible = "ti,beaglebone","ti,beaglebone-black";
    part-number = "mousetraps";
    version = "00A1";

    /* https://github.com/derekmolloy/boneDeviceTree/blob/master/docs/BeagleboneBlackP9HeaderTable.pdf */
    fragment@0 {
            target = <&am33xx_pinmux>;
            __overlay__ {
                    mousetrap_pins: pinmux_mousetrap_pins {
                            pinctrl-single,pins = <
                                    0x070 0x2f /* P9_11 30 INPUT MODE7 none */
                                    0x074 0x2f /* P9_13 31 INPUT MODE7 none */
                                    0x040 0x2f /* P9_15 48 INPUT MODE7 none */
                                    0x15c 0x2f /* P9_17 05 INPUT MODE7 none */
                            >;
                    };
            };
    };

    fragment@1 {
            target = <&ocp>;
            __overlay__ {
                    test_helper: helper {
                            compatible = "bone-pinmux-helper";
                            pinctrl-names = "default";
                            pinctrl-0 = <&mousetrap_pins>;
                            status = "okay";
                    };
            };
    };
};

我可以成功加载:

echo mousetraps:00A1 >/sys/devices/bone_capemgr.8/driver/bone_capemgr.8/slots ; dmesg | grep bone

如何配置BBB / Angstrom以在启动时自动加载?

更具体地说,如何将dtbo文件挂钩到正常的设备树加载机制?我知道我可以将echo添加到linux init脚本中,但似乎必须有一些东西会触发加载dtbo文件.

解决方法

一种方法是将dtbo复制到/ lib / firmware并修改内核bootargs中的capemgr.extra_override参数(在uEnv.txt中)以指向dtbo文件.此技术还需要修改/arch/arm/boot/dts/am335-bone-common.dtsi文件.这个 discussion的详细信息.

请注意,从文件系统加载设备树覆盖图似乎是beaglebone black上最近的内核(来自官方存储库)的问题.为了克服这一点,在here中描述了编译叠加的替代方法.

相关文章

在Linux系统中,设置ARP防火墙可以通过多种方法实现,包括使...
在Linux环境下,使用Jack2进行编译时,可以采取以下策略来提...
`getid`命令在Linux系统中用于获取当前进程的有效用户ID(EU...
在Linux环境下,codesign工具用于对代码进行签名,以确保其完...
Linux中的`tr`命令,其英文全称是“transform”,即转换的意...
Linux中的ARP防火墙是一种用于防止ARP欺骗攻击的安全措施,它...