imx6ul设备树pinctrl解析

本文档记录了对Linux内核4.1.15版本中,天嵌移植的IMX6UL设备树中pinctrl配置的理解过程。以led_gpio为例,详细探讨了MX6UL_PAD_SNVS_TAMPER7__GPIO5_IO07的定义,解析了配置信息在`imx6ul-pinfunc.h`和`pinctrl-imx.c`中的作用。通过查阅数据手册,了解到config_reg寄存器用于配置IO模式,如上拉电阻和速度。最后,分析了源代码的逻辑,并与其他设备树进行对比,以助于理解如何判断端口输入模式和SION字段的含义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内核使用的是天嵌移植好的linux4.1.15版本的内核,看它的设备树中用到pinctrl的配置不是很理解,理解一番后现在记录下:

1、以led_gpio为例:

leds {
        compatible = "gpio-leds";
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_gpio_leds>;

        led1 {
            label = "LED1";
            gpios = <&gpio5 7 GPIO_ACTIVE_LOW>; //led 使用的引脚,与触发电平
        };
        led2 {
            label = "LED2";
            gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
        };
    };

pinctrl_gpio_leds: gpio_leds{
            fsl,pins = <
                MX6UL_PAD_SNVS_TAMPER7__GPIO5_IO07  0x70a1      //led1
                MX6UL_PAD_SNVS_TAMPER2__GPIO5_IO02  0x70a1      //led2

            >;
        };

pinctrl的配置信息在上串代码的最后,有两个数据结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值