设备树(五) ——pinctrl子系统与GPIO子系统

pinctrl子系统(引脚初始化):

示例:

imx6ull-mmc-npi.dts中

pinctrl-names 定义引脚状态。
pinctrl-0 定义第 0 种状态需要使用到的引脚配置,可引用其他节点标识。
pinctrl-1 定义第 1 种状态需要使用到的引脚配置。
pinctrl-2 定义第 2 种状态需要使用到的引脚配置。
pinctrl 子节点格式规范,格式框架如下:
引脚复用宏定义:在其内核文件下的 arch/arm/boot/dts/imx6ul-pinfunc.h
eg:
        #define MX6UL_PAD_GPIO1_IO04__GPIO1_IO04        0x006c 0x02f8 0x0000 5 0
名称数值含义
mux_reg 0x006c
引 脚 复 用 选 择 寄 存 器 偏 移 地 址
conf_reg0x02f8引脚(PAD)属性控制寄存器偏移地址
input_reg0x0000
输入选择寄存器偏移地址
mux_mode5引 脚 复 用 选 择 寄 存 器 模 式 选 择 位 的 值。
input_val0
是输入选择寄存器的值

这里只是对引脚复用宏定义进行解释,实际不会去修改这个文件,只会对其进行应用,所以我们的重点在PAD(引脚属性)值

注:通常情况下用作GPIO的引脚PAD属性设置为0x000010B1

       该寄存器各bit的内容:

 

    

gpio子系统:

在设备树中添加rgb_led节点

6 行,设置“ compatible ”属性值,与 led 的平台驱动做匹配。
7 行,指定 RGB 灯的引脚 pinctrl 信息,上一小节我们定义了 pinctrl 节点,并且标签设置
为“ pinctrl_rgb_led ”,在这里我们引用了这个 pinctrl 信息。
8-10 行,指定引脚使用的哪个 GPIO, 编写格式如下所示。
引脚名字 = <&GPIO组  GPIO编号 指定有效电平>
GPIO_ACTIVE_LOW:低电平有效
GPIO_ACTIVE_HIGH:高电平有效

编译与下载:

        export ARCH=arm

        export CROSS_COMPILE=arm-linux-gnueabihf-

        make npi_v7_defconfig

        make dtbs

        编译成功后会在“./arch/arm/boot/dts ”目录下生成“ imx6ull-mmc-npi.dtb ”文件,将其替换掉板
/usr/lib/linux-image-4.19.35-imx6/ 目录下的 imx6ull-mmc-npi.dtb 文件 并重启

检验:

        在开发板的“/proc/device-tree ”目录下生成对应的 设备树节点

总结:

        这种编写方式在设备树中的编写主要有俩个方面 一个是pinctrl子系统 一个是GPIO子系统

        1.pinctrl子系统流程:

               (1)在&iomucx中编写格式为:

              

               (2)在内核/arch/arm/boot/dts/imx6ulpinfunc.h中寻找对应的引脚复用宏定义

            (3)PAD属性设置

       2.GPIO子系统流程

                (1)添加节点,设置compatible 与驱动做匹配

                  (2)  设置pinctrl-names="default"与pinctrl-0 = <&pinctrl节点名称>

                  (3) 指定引脚使用的哪个 GPIO

                   

        

                 

  • 51
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值