瑞芯微Rockchip开发者社区
直播中

杨福林

8年用户 1590经验值
私信 关注
[问答]

RK3568 pinctrl的pin脚属性配置不生效有何办法解决

问题描述及复现步骤:

1、官方设备树kernel/arch/arm64/boot/dts/rockchip/rk3568j-firefly-itxq.dtsi中关于led的引脚配置:

led_user: led-user {

rockchip,pins = <4 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;

};

...

user_led: user {

label = "firefly:yellow:user";

linux,default-trigger = "ir-user-click";

default-state = "off";

gpios = <&gpio4 RK_PC4 GPIO_ACTIVE_LOW>;

pinctrl-names = "default";

pinctrl-0 = <&led_user>;

};

2、加载固件之后查看实际的pin脚配置,发现该pin脚是下拉的,对比TRM应该是默认状态未进行配置,使用io命令查看了对应寄存器确认了该情况。

$ cat /sys/kernel/debug/pinctrl/pinctrl-rockchip-pinctrl/pinconf-pins

...

pin 148 (gpio4-20): input bias pull down, output drive strength (12 mA), input schmitt enabled, pin output (1 level), slew rate (1)

...

3、在kernel/drivers/pinctrl/pinctrl-rockchip.c中加入DEBUG宏查看dmesg也未发现对该pin脚的配置。

4、该问题是我在自己配置了一些pin脚但不生效之后发现的,为了排除我配置错误的情况,采用了官方的设备树进行实验,发现也有这个情况。

5、请求大佬答疑解惑!谢谢!

回帖(5)

杨平

2022-8-17 17:10:04
使用的是套板还是单单核心板,套板的灯是否可以手动控制
举报

杨福林

2022-8-17 17:10:14
使用的是套板 itx_rk3568,灯可用手动控制。
举报

张亮

2022-8-17 17:10:23
可以尝试用IO指令把寄存器的值读出来看看
举报

jf_48890533

2023-3-27 11:21:16
您好,请问最后是怎么解决的呢,我也遇到了类似的问题
举报

玉虚掌门

2025-2-20 15:14:55
RK的GPIO需要在&pinctrl这个节点里面初始化, 同时还要在某个pinctrl-0=<&led_user>; "调用"初始化的这个GPIO才可以
举报

更多回帖

发帖
×
20
完善资料,
赚取积分