You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BeagleBone Black linux4.14-ti内核启用Device Tree Overlay失效求助

你遇到的DTBO不生效问题由引脚冲突直接导致,对应报错如下:

[ 0.717426] pinctrl-single 44e10800.pinmux: pin PIN13 already requested by ocp:helper; cannot claim for ocp:P8_11_pinmux
[ 0.728435] pinctrl-single 44e10800.pinmux: pin-13 (ocp:P8_11_pinmux) status -22
[ 0.736399] pinctrl-single 44e10800.pinmux: could not request pin 13 (PIN13) from group pinmux_P8_11_default_pin on device pinctrl-single
[ 0.750487] bone-pinmux-helper ocp:P8_11_pinmux: Error applying setting, reverse things back

修复步骤

1. 解决引脚冲突

  • 你当前的overlay仅在fragment@0中禁用了P9系列10个引脚的pinmux助手,但冲突的是P8_11引脚,需在fragment@0中新增P8_11_pinmux { status = "disabled"; };规则释放该引脚
  • 你当前exclusive-use字段仅声明了P9系列引脚,需将所有用到的引脚(包括P8_11)全部加入该字段,确保cape管理器预留对应资源
  • 编辑/boot/uEnv.txt,添加默认cape禁用规则,关闭占用引脚的默认功能:
    cape_enable=bone_capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,BB-ADC
    

2. 修正overlay加载配置

  • 4.14-rt内核的BeagleBone Black不推荐运行时加载overlay,需在uboot阶段指定加载:编辑/boot/uEnv.txt,找到uboot_overlay_addrX的行(X可以是0-4任意未使用的序号),修改为:
    uboot_overlay_addr4=/lib/firmware/GPIO_Overlays-00A0.dtbo
    
    取消该行注释,保存后重启生效。

3. 修复overlay语法缺陷

  • 你当前fragment@3中声明了compatible = "gpio-keys",但未定义任何gpio-key子节点,内核会直接跳过该节点的pinctrl配置。如果你仅需要将引脚配置为通用GPIO,将fragment@3替换为如下内容即可:
    fragment@3{
        target = <&ocp>;
        __overlay__{
            custom_gpio_pins {
                status = "okay";
                pinctrl-names = "default";
                pinctrl-0 = <&GPIO_Overlays>;
            };
        };
    };
    

4. 编译与验证

  • 使用带警告过滤的编译命令,避免不必要的报错中断编译:
    dtc -I dts -O dtb -o /lib/firmware/GPIO_Overlays-00A0.dtbo -b 0 -@ -Wno-unit_address_vs_reg /lib/firmware/GPIO_Overlays-00A0.dts
    
  • 重启后执行dmesg | grep -i overlay确认overlay加载成功,执行cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pins | grep 13查看PIN13的配置是否符合预期。

内容的提问来源于stack exchange,提问作者Mert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 12:15:01