20260113给飞凌OK3588-C开发板适配Rockchip原厂的Android14系统时点亮飞凌的7寸屏时适配CTP触摸屏FT5X06

20260113给飞凌OK3588-C开发板适配Rockchip原厂的Android14系统时点亮飞凌的7寸屏时适配CTP触摸屏FT5X06

2026/1/12 20:22

缘起:给飞凌OK3588-C开发板适配Rockchip原厂的Android14后,需要适配CTP触摸屏FT5X06。

当你把荣品RD-RK3588开发板重新适配一把,就相当于从头做了一个项目:【荣品RD-RK3588开发板】。

当然,开发板的功能都是好的,你免除了调试的过程,也就没有解决相关硬件出错的经验/机会了!

1、在DTS的i2c2中挂载CTP触摸屏FT5X06

【下次如果没有的I2C节点要首先注意I2C的冲突了】

如果不指定i2c2的引脚复用,那默认就是i2c2m0了

pin 15 (gpio0-15): feaa0000.i2c (GPIO UNCLAIMED) function i2c2 group i2c2m0-xfer

pin 16 (gpio0-16): feaa0000.i2c (GPIO UNCLAIMED) function i2c2 group i2c2m0-xfer

Z:\14TB\OK3588-C\OK3588-android14-source\kernel-6.1\arch\arm64\boot\dts\rockchip\OK3588-C-Common.dtsi

Y:\new_disk_4t\wyb\OK3588-C\RK3576_Android14.0_SDK_RELEASE\kernel-6.1\arch\arm64\boot\dts\rockchip\rk3588-evb7-v11.dtsi

&i2c2 {

status = "okay";

// extio: tca6424@23 {

// compatible = "ti,tca6424";

// reg = <0x23>;

// interrupt-parent = <&gpio1>;

// interrupts = <RK_PA4 IRQ_TYPE_EDGE_FALLING>;

// gpio-controller;

// #gpio-cells = <2>;

// interrupt-controller;

// #interrupt-cells = <2>;

// pinctrl-0 = <&extio_int_gpio>;

// pinctrl-names = "default";

// status = "okay";

// };

ft5x06_dsi0: ft5x06@38 { //dsi0 tp
compatible = "edt,edt-ft5406", "edt,edt-ft5x06";
reg = <0x38>;
pinctrl-names = "ft5x06_default";
pinctrl-0 = <&ft5x06_dsi0_gpio>;
interrupt-parent = <&gpio3>;
interrupts = <RK_PC0 IRQ_TYPE_EDGE_FALLING>;
// irq-gpio = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>;
// reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_HIGH>;
touchscreen-size-x = <1024>;
touchscreen-size-y = <600>;
input-phy = "ft5x06_2_38/input0";
status = "okay";
};

// usbc0: fusb302@22 {

// compatible = "fcs,fusb302";

// reg = <0x22>;

// interrupt-parent = <&gpio1>;

// interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;

// pinctrl-names = "default";

// pinctrl-0 = <&usbc0_int>;

// vbus-supply = <&vbus5v0_typec0>;

// status = "okay";

//

// ports {

// #address-cells = <1>;

// #size-cells = <0>;

//

// port@0 {

// reg = <0>;

// usbc0_role_sw: endpoint@0 {

// remote-endpoint = <&dwc3_0_role_switch>;

// };

// };

// };

//

// usb_con: connector {

// compatible = "usb-c-connector";

// label = "USB-C";

// data-role = "dual";

// power-role = "dual";

// try-power-role = "sink";

// op-sink-microwatt = <1000000>;

// sink-pdos =

// <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>;

// source-pdos =

// <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;

//

// altmodes {

// #address-cells = <1>;

// #size-cells = <0>;

//

// altmode@0 {

// reg = <0>;

// svid = <0xff01>;

// vdo = <0xffffffff>;

// };

// };

//

// ports {

// #address-cells = <1>;

// #size-cells = <0>;

//

// port@0 {

// reg = <0>;

// usbc0_orien_sw: endpoint {

// remote-endpoint = <&usbdp_phy0_orientation_switch>;

// };

// };

//

// port@1 {

// reg = <1>;

// dp_altmode_mux: endpoint {

// remote-endpoint = <&usbdp_phy0_dp_altmode_mux>;

// };

// };

// };

// };

// };

};

2、

PWM MIPI_DSI1_EN 3B2

MIPI_DSI1_RESET 3B7

TP_INT MIPI_DSI1_INT 3c0

FT5X06:0x38

&pinctrl {

m2 {

net_m2_rst_gpio: net_m2_rst_gpio {

rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;

};

};

【这里应该/貌似没用?貌似是GT911需要配置的?】
touch {
touch_gpio: touch-gpio {
rockchip,pins =
<0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>,
<0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>;
};
};

hdmirxdet {

hdmirx_det_gpio: hdmirx-det-gpio {

rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>;

};

};

extio {

extio_int_gpio: extio-int-gpio {

rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;

};

};

usb-typec {

usbc0_int: usbc0-int {

rockchip,pins = <1 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;

};

typec5v_pwren0: typec5v-pwren0 {

rockchip,pins = <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;

};

usbc1_int: usbc1-int {

rockchip,pins = <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>;

};

typec5v_pwren1: typec5v-pwren1 {

rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;

};

};

【这里必须的,FT5X06的】
tp_int {
ft5x06_dsi0_gpio: ft5x06-dsi0-gpio {
rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>,
<3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
};

ft5x06_dsi1_gpio: ft5x06-dsi1-gpio {

rockchip,pins = <3 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>,

<3 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;

};

};

headphone {

hp_det: hp-det {

rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;

};

};

};

3、在.config文件中确认CONFIG_TOUCHSCREEN_EDT_FT5X06的位置和写法:

Y:\new_disk_4t\wyb\OK3588-C\RK3576_Android14.0_SDK_RELEASE\kernel-6.1\.config

CONFIG_TOUCHSCREEN_INEXIO is not set

CONFIG_TOUCHSCREEN_MK712 is not set

CONFIG_TOUCHSCREEN_PARADE=y

CONFIG_TOUCHSCREEN_PARADE_DEVICETREE_SUPPORT=y

CONFIG_TOUCHSCREEN_PARADE_DEBUG is not set

CONFIG_TOUCHSCREEN_PARADE_I2C=y

CONFIG_TOUCHSCREEN_PARADE_SPI is not set

CONFIG_TOUCHSCREEN_PARADE_MT_A is not set

CONFIG_TOUCHSCREEN_PARADE_MT_B=y

CONFIG_TOUCHSCREEN_PARADE_BUTTON is not set

CONFIG_TOUCHSCREEN_PARADE_PROXIMITY is not set

CONFIG_TOUCHSCREEN_PARADE_DEVICE_ACCESS is not set

CONFIG_TOUCHSCREEN_PARADE_LOADER=y

CONFIG_TOUCHSCREEN_PARADE_PLATFORM_FW_UPGRADE is not set

CONFIG_TOUCHSCREEN_PARADE_BINARY_FW_UPGRADE is not set

CONFIG_TOUCHSCREEN_PARADE_PLATFORM_TTCONFIG_UPGRADE is not set

CONFIG_TOUCHSCREEN_PARADE_MANUAL_TTCONFIG_UPGRADE is not set

CONFIG_TOUCHSCREEN_PARADE_DEBUG_MDL is not set

CONFIG_TOUCHSCREEN_PENMOUNT is not set

CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set

CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set

CONFIG_TOUCHSCREEN_TOUCHWIN is not set

CONFIG_TOUCHSCREEN_PIXCIR is not set

CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set

CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set

CONFIG_TOUCHSCREEN_TOUCHIT213 is not set

CONFIG_TOUCHSCREEN_TSC_SERIO is not set

CONFIG_TOUCHSCREEN_TSC2004 is not set

Z:\14TB\OK3588-C\OK3588-android-source\kernel-5.10\.config

CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set

CONFIG_TOUCHSCREEN_INEXIO is not set

CONFIG_TOUCHSCREEN_MK712 is not set

CONFIG_TOUCHSCREEN_PENMOUNT is not set

CONFIG_TOUCHSCREEN_EDT_FT5X06=y

CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set

CONFIG_TOUCHSCREEN_TOUCHWIN is not set

CONFIG_TOUCHSCREEN_PIXCIR is not set

CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set

CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set

Y:\new_disk_4t\wyb\OK3588-C\RK3576_Android14.0_SDK_RELEASE\kernel-6.1\arch\arm64\configs\rockchip_defconfig

CONFIG_INPUT_TOUCHSCREEN=y

CONFIG_TOUCHSCREEN_CHIPONE_9551R=y

CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5=y

CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICETREE_SUPPORT=y

CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_I2C=y

CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_LOADER=y

CONFIG_TOUCHSCREEN_FT5726=y

CONFIG_TOUCHSCREEN_GSL3673=y

CONFIG_TOUCHSCREEN_GSL3673_800X1280=y

CONFIG_TOUCHSCREEN_GSLX680_PAD=y

CONFIG_TOUCHSCREEN_GT1X=y

CONFIG_TOUCHSCREEN_ILI210X=y

CONFIG_TOUCHSCREEN_ELAN5515=y

CONFIG_TOUCHSCREEN_WACOM_W9013=y

CONFIG_TOUCHSCREEN_PARADE=y

CONFIG_TOUCHSCREEN_PARADE_DEVICETREE_SUPPORT=y

CONFIG_TOUCHSCREEN_PARADE_I2C=y

CONFIG_TOUCHSCREEN_PARADE_MT_B=y
CONFIG_TOUCHSCREEN_PARADE_LOADER=y
CONFIG_TOUCHSCREEN_EDT_FT5X06=y
CONFIG_ROCKCHIP_REMOTECTL=y

CONFIG_ROCKCHIP_REMOTECTL_PWM=y

CONFIG_SENSOR_DEVICE=y

CONFIG_GSENSOR_DEVICE=y

4、确认edt-ft5x06.c编译成为edt-ft5x06.o了,但是CTP还是不能用。

getevent也没有打印信息。

dmesg | grep ft5

【确认CTP的驱动程序没有被挂载!】

Y:\new_disk_4t\wyb\OK3588-C\RK3576_Android14.0_SDK_RELEASE\kernel-6.1\drivers\input\touchscreen\edt-ft5x06.o

【应该不用修改】

Y:\new_disk_4t\wyb\OK3588-C\RK3576_Android14.0_SDK_RELEASE\kernel-6.1\drivers\input\touchscreen\edt-ft5x06.c

5、

保险起见,替换掉edt-ft5x06.c【无效】

6、这时候想起来可能是GPIO冲突了,重点关注I2C2

【现阶段异常的】

pin 15 (gpio0-15): vcc-3v3-sd-s0-regulator gpio0:15 function sdmmc group sd-s0-pwr

pin 16 (gpio0-16): (MUX UNCLAIMED) (GPIO UNCLAIMED)

【预编译的Android14】

pin 15 (gpio0-15): feaa0000.i2c (GPIO UNCLAIMED) function i2c2 group i2c2m0-xfer

pin 16 (gpio0-16): feaa0000.i2c (GPIO UNCLAIMED) function i2c2 group i2c2m0-xfer

根据经验/很容易得知:gpio0-15/GPIO0B7被sd-s0-pwr占用了

Y:\new_disk_4t\wyb\OK3588-C\RK3576_Android14.0_SDK_RELEASE\kernel-6.1\arch\arm64\boot\dts\rockchip\rk3588-evb7-v11.dtsi

vcc_3v3_sd_s0: vcc-3v3-sd-s0-regulator {

compatible = "regulator-fixed";

// 2026/1/12 21:04 wenyuanbo i2c2
//gpio = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
//pinctrl-0 = <&sd_s0_pwr>;

regulator-name = "vcc_3v3_sd_s0";

enable-active-high;

};

// 2026/1/12 21:04 wenyuanbo i2c2
//sdmmc {
// sd_s0_pwr: sd-s0-pwr {
// rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>;
// };
//};

7、通了!

130|console:/ #
130|console:/ # getevent

add device 1: /dev/input/event3

name: "Logitech USB Optical Mouse"
add device 2: /dev/input/event1
name: "generic ft5x06 (79)"

add device 3: /dev/input/event2

name: "rockchip,hdmiin rockchip,hdmiin"

add device 4: /dev/input/event5

name: "rockchip-hdmi0 rockchip-hdmi0"

add device 5: /dev/input/event4

name: "adc-keys"

add device 6: /dev/input/event0

name: "rk805 pwrkey"

add device 7: /dev/input/event6

name: "rockchip-hdmi1 rockchip-hdmi1"
【单指头】
/dev/input/event1: 0003 002f 00000000
/dev/input/event1: 0003 0039 00000006
/dev/input/event1: 0003 0035 000000a5
/dev/input/event1: 0003 0036 000000db
/dev/input/event1: 0001 014a 00000001
/dev/input/event1: 0003 0000 000000a5
/dev/input/event1: 0003 0001 000000db
/dev/input/event1: 0000 0000 00000000
/dev/input/event1: 0003 0039 ffffffff
/dev/input/event1: 0001 014a 00000000
/dev/input/event1: 0000 0000 00000000

72.211461\]\[ T521\] healthd: battery l=50 v=3300 t=2.6 h=2 st=3 c=-1600 fc=100 chg=au 【多指头/五指头?】 /dev/input/event1: 0003 0039 00000007 /dev/input/event1: 0003 0035 00000103 /dev/input/event1: 0003 0036 0000018a /dev/input/event1: 0001 014a 00000001 /dev/input/event1: 0003 0000 00000103 /dev/input/event1: 0003 0001 0000018a /dev/input/event1: 0000 0000 00000000 /dev/input/event1: 0003 002f 00000001 /dev/input/event1: 0003 0039 00000008 /dev/input/event1: 0003 0035 000002ec /dev/input/event1: 0003 0036 000000b6 /dev/input/event1: 0003 002f 00000002 /dev/input/event1: 0003 0039 00000009 /dev/input/event1: 0003 0035 00000329 /dev/input/event1: 0003 0036 00000114 /dev/input/event1: 0000 0000 00000000 /dev/input/event1: 0003 002f 00000001 /dev/input/event1: 0003 0039 ffffffff /dev/input/event1: 0003 002f 00000002 /dev/input/event1: 0003 0039 ffffffff /dev/input/event1: 0000 0000 00000000 /dev/input/event1: 0003 002f 00000000 /dev/input/event1: 0003 0039 ffffffff /dev/input/event1: 0001 014a 00000000 /dev/input/event1: 0000 0000 00000000 \^C 130\|console:/ # \[ 132.211169\]\[ T521\] healthd: battery l=50 v=3300 t=2.6 h=2 st=3 c=-1600 fc=100 chg=au ![](https://i-blog.csdnimg.cn/direct/55f24dca24f042d38d8ce22274a1bf47.png) ![](https://i-blog.csdnimg.cn/direct/b58d8418b36040bea7a5d9472f077e73.png)![](https://i-blog.csdnimg.cn/direct/3eb0144e841b4d1d90ff8a64e10d40d0.png) ![](https://i-blog.csdnimg.cn/direct/10506a4b24b0461a8e6fd5c84facf128.png) ![](https://i-blog.csdnimg.cn/direct/6fac512e874d4abbad5c02d7f3167cf7.png) ![](https://i-blog.csdnimg.cn/direct/192b80d0d0e54ee58eacb0c5ff079813.png) ![](https://i-blog.csdnimg.cn/direct/fe409884cc7e4e0da6ca62847efc4f6b.png) ![](https://i-blog.csdnimg.cn/direct/c2a2630b6cb3406b90e3a6697559dea5.png) ![](https://i-blog.csdnimg.cn/direct/afbc5a2405364771a98df888a5f3e1a9.png) ![](https://i-blog.csdnimg.cn/direct/6ef60373fcdf45568a862f3814c6b063.png)

相关推荐
qq_401700412 小时前
MOS管开关电路上下拉电阻的作用
单片机·嵌入式硬件
独处东汉2 小时前
AI辅助Stm32l031项目开发基础准备
人工智能·stm32·嵌入式硬件
麒qiqi2 小时前
51单片机核心外设知识点总结:GPIO、按键、中断、定时器与PWM
单片机·嵌入式硬件·51单片机
Q_21932764552 小时前
基于单片机的电梯模拟运行系统
单片机·嵌入式硬件
尼喃2 小时前
面向双节串联锂电池的高效充电解决方案,5V升压至8.4V/2A充电芯片PW4253及其系列选型指南
单片机·51单片机·芯片
上大科技蔡生2 小时前
FP5207兼容替代芯片CS5717:2.7V-36V宽输入,单节锂电池适用,异步升压DCDC
单片机·嵌入式硬件·dcdc
南棱笑笑生2 小时前
20260113给飞凌OK3588-C开发板适配Rockchip原厂的Android14系统时适配CAM3接口的OV5645
c语言·开发语言·rockchip
v先v关v住v获v取2 小时前
磁性数据线吸力测试装置设计8张cad+三维图+设计说明书
科技·单片机·51单片机
Q_21932764552 小时前
基于STM32的Buck变换器设计与控制系统
单片机·嵌入式硬件