天天看点

adb 命令查看/控制 rk3399 GPIO 输入/输出状态

1. 查看kernel已经使用gpio及状态命令:

C:\Users\Administor>adb shell

rk3399_all:/ $ su

rk3399_all:/ # cat /sys/kernel/debug/gpio

GPIOs 0-31, platform/pinctrl, gpio0:

 gpio-4   (                    |bt_default_wake_host) in  lo

 gpio-5   (                    |power               ) in  hi

 gpio-6   (                    |vbus-5v             ) out lo

 gpio-9   (                    |bt_default_reset    ) out lo

 gpio-10  (                    |reset               ) out hi

 gpio-11  (                    |?                   ) out lo

 gpio-13  (                    |enable              ) out hi

GPIOs 32-63, platform/pinctrl, gpio1:

 gpio-34  (                    |int-n               ) in  hi

 gpio-35  (                    |vcc2                ) out hi

 gpio-45  (                    |vcc1                ) out hi

 gpio-46  (                    |vsel                ) out hi

 gpio-49  (                    |vsel                ) out lo

 gpio-54  (                    |mpu6500             ) in  lo

2. 使用io命令直接控制gpio输出电平:

以gpio0为例:

rk3399_all:/ # io -4 -l 64 0xff720000

ff720000:  00002400 00002e40 00000000 00000000

ff720010:  00000000 00000000 00000000 00000000

ff720020:  00000000 00000000 00000000 00000000

第一个reg为输出状态:可以看到gpio0 b5为1,即gpio1 b5输出为高电平

 # io -4 -w 0xff720000 0x400  // gpio0 b5为low

 # io -4 -w 0xff720000 0x2400 //gpio0 b5为high

第二个reg为输入输出方向:可以看到gpio0 b5为输出状态

同理,经查询dts可知

gpio1 对应0xff730000

gpio2 对应0xff780000

gpio3 对应0xff788000

gpio4 对应0xff790000

继续阅读