GPIO 输入 上拉的设置

本帖最后由 五星出东方 于 2015-7-22 14:04 编辑

大家好,目前我们想将GPIO8 A6、GPIO8 B0设置为输入的gpio,且为上拉电平。

通过dts设置GPIO8 A6、B0的功能为gpio。
&gpio8 GPIO_B0 VALUE_PULL_UP
&gpio8 GPIO_A6 VALUE_PULL_UP

写了一个驱动,通过gpio_direction_input设置GPIO8 A6、B0的方向为input。

通过gpio_get_value读取GPIO8 A6、B0的值时发现,读出来的值都为0.

查看《RK3288 IO LIST》发现,GPIO8 A6、B0的 IO Pull为down,请问如何能将 IO Pull改为up????

参考:http://wiki.t-firefly.com/index.php/Firefly-RK3288/GPIO
做一些pinctrl

zhansb 发表于 2015-7-22 15:50
参考:http://wiki.t-firefly.com/index.php/Firefly-RK3288/GPIO
做一些pinctrl

您好,我参照dts和wifi的配置,将A6、B0 设置为VALUE_PULL_UP或者ACTIVE_HIGH,实际读出来值都为0.

能否通过函数调用的方式或者直接配置寄存器的方式配置gpio的上拉??

我也在找通过调用函数设置上下拉的方法,但是根本就着不到相关的函数,

在这里问问题都是白问,版主根本解决不了问题

daihuan509 发表于 2015-8-5 14:12
在这里问问题都是白问,版主根本解决不了问题

最后是修改的外部电路

在RK3288-tb.dts 这样配置,试试看
&pinctrl {
//used for init some gpio
init-gpios = <&gpio0 GPIO_A6 GPIO_ACTIVE_HIGH
/*&gpio0 GPIO_C2 GPIO_ACTIVE_HIGH /
/
&gpio7 GPIO_B7 GPIO_ACTIVE_LOW */>;

    gpio0_gpio {
                    gpio0_c2: gpio0-c2 {
                            rockchip,pins = <GPIO0_C2>;
                            rockchip,pull = <VALUE_PULL_DOWN>;
                    };

                    //to add
            };

    gpio7_gpio {
                    gpio7_b7: gpio7-b7 {
                            rockchip,pins = <GPIO7_B7>;
                            rockchip,pull = <VALUE_PULL_UP>;
                    };

                    //to add
            };

    //could add other pinctrl definition such as gpio

};

五星出东方 发表于 2015-8-5 15:51
最后是修改的外部电路

想问下你那个修改上拉的方法是生效了吗,还是你自己外部电路的问题

本帖最后由 charly189 于 2019-5-23 18:34 编辑