修改完设备树后,在内核目录下载执行“make dtbs”生产新的设备树文件
“arch/arm/boot/dts/100ask_imx6ull_mini.dtb”,把它放到开发板的
“/boot”目录下,重启开发板。
一个“interrupts-extended”属性就可以既指定“interrupt-parent”,也指定“interrupts”,比如:
interrupts-extended = <&intc1 5 1>, <&intc2 1 0>;
unsigned int of_irq_get(struct device_node *np, int index);
irq = of_irq_get(np, 0);
of_irq_get 函数是 Linux 设备树(Device Tree)中用于获取中断号(IRQ number)的一个函数。这个函数是 Linux 内核中的一部分,特别是在处理基于设备树的硬件平台时非常有用。它根据设备树中的中断信息(可能包括 interrupts 或 interrupts-extended 属性)来解析并返回一个中断号。
int of_get_named_gpio(struct device_node *np, const char *propname, int index);
of_get_named_gpio(imx6uirq.nd ,\"key-gpio\", i);
函数原型
np:指向设备树中某个节点的指针,该节点包含了要获取的 GPIO 属性。
propname:要获取的 GPIO 属性的名称,如 "gpio" 或 "key-gpio" 等。
index:如果属性中包含了多个 GPIO 编号,则通过此索引来指定要获取哪一个。如果只有一个 GPIO 编号,则此参数通常为 0。
,\n
of_find_node_by_type 函数\nof_find_node_by_type 函数通过 device_type 属性查找指定的节点,函数原型如下:\nstruct device_node *of_find_node_by_type(struct device_node *from,\n const char *type)\n函数参数和返回值含义如下:\nfrom :开始查找的节点,如果为 NULL 表示从根节点开始查找整个设备树。\ntype :要查找的节点对应的 type 字符串,也就是 device_type 属性值。\n返回值: 找到的节点,