讨论广场 问答详情
rk3568芯片配置GT911触摸
小溜溜9 2025-01-08 15:08:25
186 评论 分享

请教一下 红框的值如何配置

186 评论 分享
写回答
全部评论(4)

需要用到Rockchip RK3568 TRM Part1 V1.1-20210301.pdf文档,

在第3章中,先找到SYS_GRF的地址是0xfdc60000,

然后以gpio4B为例:pdf切换到3.7章,找到gpio4B的iomux对应寄存器偏移:是0x006c或0x0068:

切到3.7.2节,找到GRF_GPIO4B_IOMUX_H/L,gpio4 B4/5在H里main,所以IOMUX的地址是0xfdc6006c,然后B4B5要复用成I2C2,也就是11,(设置为0x3311,是因为在设置之前读取寄存器的值是33xx,15:8位的值不做修改,只修改后7:0,只改需要改的,不必要改的不动)

2025-01-08 15:15:17
2025-01-08 15:20:05
gpio4B5的iomux寄存器地址是:SYS_GRF地址 + 偏移 (SYS_GRF的地址是基地址,基地址也能在TRM的pdf中查到) 也就是0xfdc6006c,先去调试串口,用devmem 0xfdc6006c命令,会输出目前寄存器中的值,只改你需要改的位,比方说gpio4b5的功能改为I2c2(我这里gpio4b5对应的 i2c clk )
2025-01-08 15:20:05

rk3568 pin config中你框起来的两条不需要修改,对应的函数会判断,如果是瑞芯微的板子,直接返回success然后跳出函数,不会按照你写的寄存器地址设置值

2025-01-08 15:22:28
2025-01-08 15:40:01
对应的驱动在://drivers/hdf_core/framework/model/input/driver/hdf_touch.c中InputPinMuxCfg函数 函数开头:#if defined(CONFIG_ARCH_SPRD) || defined(CONFIG_ARCH_ROCKCHIP) || defined(LOSCFG_PLATFORM_STM32MP157) || \ defined(CONFIG_ARCH_MESON) || defined(CONFIG_ARCH_NXP_TOUCH) return HDF_SUCCESS; #endif 直接退出了
2025-01-08 15:40:01