MX6UL_PAD_UART1_RTS_B__GPIO1_IO19 0x17059
将UART1_RTS_B引脚设置为GPIO1中19号gpio,后面0x17059是给这个号引脚空间赋值设置电气属性之类的
一个引脚有很多功能我们可以选择它gpio,这个编号是之前就开发板设计人员已经设计好了的
向原来的节点中追加
&lcdif //下面的代码就是在原来lcdif节点基础上追加新的
{
}
设备树(硬件资源的描述)
Princtrl 子系统
pinctrl来设置一个PIN的复用(用作什么功能)和电气属性
复用:一个io口可以用来作为很多功能比如gpio、iic、spi
pinctrl_led: ledgrp
{
fsl,pins = <
//将 GPIO1_IO03 这个 PIN 复用为 GPIO1_IO03,电气属性值为 0X10B0。
MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0x10B0 /* LED0 */
>;
}
"pinctrl_led: ledgrp"
是一个节点
inctrl_led
是具体设备节点的名称,ledgrp
是节点的类型()display0: display 、//display0表示具体的某个设备名称,display表示该节点是一个显示器节点
fsl,pins
fsl 是一个
属性主要用于描述设备的引脚和引脚控制信息。它是一个通用的属性,可以用于描述各种类型的设备。在具体的设备树节点中,它通常包含一个复杂的数据结构,用于描述设备的引脚控制信息。
gpio子系统
使用gpio子系统来控制gpio口的输入输出,驱动可以直接使用api函数实现对io引脚的操作
设备树对引脚进行操作的步骤
bsp工程师将具体引脚写成一个宏定义,我们只需要对宏定义赋值,就是对引脚进行操作
1、查看原理图找到需要操作的引脚
2、查看数据手册找到引脚的宏定义以及功能对应的赋值
3、在pinctl设置引脚,也就是将2写入
4、将引脚加入gpio子系统,方便对引脚进行操作
b站
dtsi、dts都是设备树源码,其中dtsi表示设备树公共的代码,使用头文件引入
DTC是设备树编译器