IMX6 GPIO设置为输出时读取的value一直为0

IMX6 GPIO设置为输出时读取的value一直为0

转载请注明:http://blog.csdn.net/kp339/article/details/53096531

问题描述:在使用IMX6进行开发时发现:即使IO口设置为输出状态,设置其电平为高,硬件上测量电平也是对的,但是gpio_get_value获取的状态一直是0。

解决方法:配置SION位,使IO口在输出状态下可以正确获取状态。

这里以DTS配置为例:

&iomux {
    pinctrl-name = "default";
    pinctrl-0 = <&pinctrl_hog_1>;
    imx6ul-evk {
        ...
        /* 第29位配置为4,即表示设置SION位 */
        MX6UL_PAD_GPIO1_IO09__GPIO1_IO09    0x40017059 
        ...
    };
    ...
};

参考资料:

drivers/pinctrl/freescale/pinctrl-imx.c
关键词:IMX_PAD_SION
http://permalink.gmane.org/gmane.linux.ports.arm.kernel/295260

你可能感兴趣的:(linux)