【发布时间】:2020-11-02 17:27:01
【问题描述】:
我正在尝试为 beaglebone black 创建一个非常基本的平台/miscdevice 驱动程序,但在添加相应节点时无法编译设备树。 (我试图在这里获得最低限度的工作。一旦我掌握了基础知识,就会向节点添加更多信息,并且可以成功探测)
我一直在关注本指南(除其他外): https://elinux.org/BeagleBone_and_the_3.8_Kernel
我正在尝试将设备节点添加到设备树的 OCP 部分,按照我找到的几个指南中的说明。 这是 beaglebone black - 我添加到 am33xx.dtsi 的示例:
ocp {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges;
ti,hwmods = "l3_main";
/* MY ADDITION *****************/
beep {
compatible = "my-beep"
};
/*******************************/
..... (other nodes)
};
我已尝试将此节点添加到 am33xx.dtsi、am335x-bone-common.dtsi 并使用 buildroot 进行构建。 并且还尝试将节点添加到 am335x-boneblack.dts,然后尝试手动制作 dtb。 两种方法都不会编译设备树二进制文件(就是说有错误)
我相当确定该条目应该在 am33xx.dtsi 中。
谁能指导一个非常基本的平台/杂项设备节点条目应该如何正确构建?它甚至应该在 ocp 中吗?
【问题讨论】:
-
您的添加缺少分号。
-
“我很确定条目应该在 am33xx.dtsi 中。” -- SoC 级文件,例如 am33xx.dtsi 描述任何板都可以使用的通用和基本配置。您对此类文件的修改违反了此约定。在顶层 .dts 文件上进行实验,该文件旨在描述板/实现的细节。
标签: linux-device-driver embedded-linux beagleboneblack beagleboard