RK平台,RK3399,RK3288,IO控制。
一,硬件IO复用配置
配置复用
GPIO3 :FF790~ FF788;
GPIO3_B7: GPIO
io -4 -r 0xff79e014
GPIO3 FF79e054
iomux
FF79e014
RK3399的iO控制
echo 227 > /sys/class/gpio/export
GPIO7A3: 7X32 +3 = 227
gpio0B5 : 0X32+13 = 13
gpio3_B7: 3X32 + 15 = 111
echo 111 > /sys/class/gpio/export
配置GRF
io -4 -r 0xff78800
[root@rk3399:/]# io -4 -r 0xff788000
ff788000: 00008000
[root@rk3399:/]#
GRF基地址为:FF77_0000
GRF_GPIO3B_IOMUX 0x0e014
io 0xff77e015 > 0x15
cat /sys/kernel/debug/gpio
GPIO控制
测试GPIO2_B2
写入GPIO2_B2位低电平
io -4 -w 0xff780000 0x7f0
红灯亮,设置生效
测试GPIO2_B3
写入GPIO2_B3为输出
io -4 -w 0xff780004 0x80ff1
GPIO2_B3输出为低
io -4 -w 0xff780000 0xff0
发现不生效,查询IOMUX寄存器
io -4 -r 0xff77e004
返回
0x00c0
查询寄存器文档可知bit7:6为11, gpio2_b3没有设为gpio
设置iomux为gpio
io -4 -w 0xff7e004 0x0000
设置无效,可能是被驱动限制了
测试GPIO2_B1
bit位为(B-A)*8 + 1 = 9
由前面可知,DDR应该已经是输出
直接设置DR
io -4 -w 0xff780000 0x5f0
二,另外一种用GPIO Debug接口控制的方法
以GPIO2_B2为例
查看GPIO2_B2的gpio number
- rk3399:/sys/kernel/debug # cat gpio
GPIOs 0-31, platform/pinctrl, gpio0:
gpio-1 ( |vcc_sd ) out lo
gpio-4 ( |bt_default_wake_host) in lo
gpio-5 ( |power ) in hi
gpio-9 ( |bt_default_reset ) out lo
gpio-10 ( |reset ) out hi
GPIOs 32-63, platform/pinctrl, gpio1:
gpio-34 ( |int-n ) in hi
gpio-35 ( |camsys_gpio ) out hi
gpio-45 ( |enable ) out hi
gpio-46 ( |vsel ) out lo
gpio-49 ( |vsel ) out lo
gpio-54 ( |mpu6500 ) in lo
GPIOs 64-95, platform/pinctrl, gpio2:
gpio-64 ( |vbus-5v ) out lo
gpio-69 ( |power33 ) out hi
gpio-70 ( |power ) out hi
gpio-71 ( |reset ) out hi
gpio-72 ( |stanby ) out hi
gpio-73 ( |power18 ) out hi
gpio-74 ( |sysfs ) out lo
gpio-76 ( |int ) in hi
gpio-83 ( |bt_default_rts ) in hi
gpio-90 ( |bt_default_wake ) in lo
可知GPIO2_B2的number 为GPIO74
32*2 + 8+2
rk3399:/sys/class/gpio # echo 74 > export
1|rk3399:/sys/class/gpio # ls
export gpiochip0 gpiochip32 gpiochip96
gpio74 gpiochip128 gpiochip64 unexport
rk3399:/sys/class/gpio #
rk3399:/sys/class/gpio/gpio74 # ls
active_low device direction edge power subsystem uevent value
rk3399:/sys/class/gpio/gpio74 # echo 1 > value
rk3399:/sys/class/gpio/gpio74 # echo 0 > value
rk3399:/sys/class/gpio/gpio74 #
- 分享
- 举报
-
浏览量:1123次2024-02-04 17:43:11
-
浏览量:2291次2022-05-17 09:00:33
-
浏览量:5970次2021-12-10 16:15:34
-
浏览量:6794次2020-04-13 21:20:16
-
浏览量:914次2023-12-07 01:07:22
-
浏览量:3612次2021-04-02 11:52:25
-
浏览量:3454次2019-12-05 18:03:06
-
浏览量:2453次2022-02-25 15:20:03
-
浏览量:2214次2022-10-09 10:41:47
-
浏览量:2323次2022-02-08 09:00:25
-
浏览量:2033次2022-03-03 09:00:13
-
浏览量:2686次2022-01-28 09:00:19
-
浏览量:6852次2020-12-17 09:45:27
-
浏览量:3452次2022-05-17 09:00:46
-
浏览量:1930次2022-02-07 09:00:15
-
浏览量:3425次2022-05-27 10:41:52
-
浏览量:2299次2022-01-23 09:00:26
-
浏览量:5605次2020-04-23 19:40:24
-
浏览量:2493次2022-02-09 09:00:16
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
艾编程的鲁小班
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明