内核使用的是天嵌移植好的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的配置信息在上串代码的最后,有两个数据结构