GPIO控制问题
背景
- Platform: IMX6
- OS: Linux
- Kernel: v4.1.35
问题
用GPIO去控制一个外扩板的复位引脚,开始直接在用户态使用export去控制GPIO,但Kernel起来时的默认状态没法控制,Uboot是高电平,但到Kernel起来变成低电平,需修改进Kernel的默认电平
分析与解决
改用leds-gpio
的方式去控制。
dts类似如下:
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_leds>;
reset-ctl {
gpios = <&gpio4 30 0>;
label = "reset_ctl";
default-state = "on";
};
}
...
pinctrl_gpio_leds: gpio_ledsgrp {
fsl,pins = <
MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x80000000 /* reset-ctl */
>;
};
注意:
gpios = <&gpio4 30 0>;
第3个参数为有效电平, 0即为低电平有效default-state = "on"
"on"
与"off"
对应上面的有效电平
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 DD'Notes!
评论