一、修改开发板设备树
1.选择屏幕
屏幕不知道是什么品牌的,只有一个型号:WKS50HD071-WCT。
打开屏幕宏定义,修改如下:
rk3568_linux_sdk/kernel/arch/arm64/boot/dts/rockchip/rk3568-screen_choose.dtsi

2.触摸配置
vi rk3568_linux_sdk/kernel/arch/arm64/boot/dts/rockchip/rk3568-atk-evb1-ddr4-v10.dtsi
因为触摸屏也是用的GT911芯片,所以这里只需修改分辨率,其他不用改。
&i2c1 {
dsi_touch: gt911q14 {
compatible = "goodix,gt9xx";
reg = <0x14>;
pinctrl-names = "default";
pinctrl-0 = <&touch_gpio>;
touch-gpio = <&gpio0 RK_PB5 IRQ_TYPE_LEVEL_LOW>;
reset-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
max-x = <720>;
max-y = <1280>;
tp-size = <911>;
tp-supply = <&vcc5v0_sys>;
wakeup-source;
goodix-ts-name = "dsi1_ts_gt9xx";
status = "okay";
};
};
3.修改板级设备树
rk3568_linux_sdk/kernel/arch/arm64/boot/dts/rockchip/rk3568-atk-atompi-ca1.dts
注:这个文件可以不用改,后面在板级屏幕dts文件中重写dsi0_panel、disp_timings0就行了。


4.修改板级屏幕设备树
rk3568_linux_sdk/kernel/arch/arm64/boot/dts/rockchip/rk3568-atk-atompi-ca1-720p.dts
这里踩了挺多坑的,因为厂家给的初始化时序是有问题的,导致屏幕一直点不亮,而且时序节点又没有提供,只能看ili9881d芯片资料和网上查找了。设备树完整的初始化代码如下:
#include "rk3568-atk-atompi-ca1.dts"
&backlight {
status = "okay";
};
&dsi0 {
status = "okay";
};
&dsi0_in_vp1 {
status = "okay";
};
&route_dsi0 {
connect = <&vp1_out_dsi0>;
status = "okay";
};
&video_phy0 {
status = "okay";
};
&dsi0_panel {
status = "okay";
// 初始化时序
panel-init-sequence = [
39 00 04 FF 98 81 03
23 00 02 01 00
23 00 02 02 00
23 00 02 03 73
23 00 02 04 03
23 00 02 05 00
23 00 02 06 0a
23 00 02 07 00
23 00 02 08 00
23 00 02 09 01
23 00 02 0a 00
23 00 02 0b 00
23 00 02 0c 01
23 00 02 0d 00
23 00 02 0e 00
23 00 02 0f 1d
23 00 02 10 0d
23 00 02 11 00
23 00 02 12 00
23 00 02 13 00
23 00 02 14 00
23 00 02 15 00
23 00 02 16 00
23 00 02 17 00
23 00 02 18 00
23 00 02 19 00
23 00 02 1a 00
23 00 02 1b 00
23 00 02 1c 00
23 00 02 1d 00
23 00 02 1e 40
23 00 02 1f 80
23 00 02 20 06
23 00 02 21 02
23 00 02 22 00
23 00 02 23 00
23 00 02 24 00
23 00 02 25 00
23 00 02 26 00
23 00 02 27 00
23 00 02 28 33
23 00 02 29 03
23 00 02 2a 00
23 00 02 2b 00
23 00 02 2c 00
23 00 02 2d 00
23 00 02 2e 00
23 00 02 2f 00
23 00 02 30 00
23 00 02 31 00
23 00 02 32 00
23 00 02 33 00
23 00 02 34 04
23 00 02 35 00
23 00 02 36 00
23 00 02 37 00
23 00 02 38 3c
23 00 02 39 35
23 00 02 3a 01
23 00 02 3b 40
23 00 02 3c 00
23 00 02 3d 01
23 00 02 3e 00
23 00 02 3f 00
23 00 02 40 00
23 00 02 41 88
23 00 02 42 00
23 00 02 43 00
23 00 02 44 1f
23 00 02 50 01
23 00 02 51 23
23 00 02 52 45
23 00 02 53 67
23 00 02 54 89
23 00 02 55 ab
23 00 02 56 01
23 00 02 57 23
23 00 02 58 45
23 00 02 59 67
23 00 02 5a 89
23 00 02 5b ab
23 00 02 5c cd
23 00 02 5d ef
23 00 02 5e 11
23 00 02 5f 01
23 00 02 60 00
23 00 02 61 15
23 00 02 62 14
23 00 02 63 0e
23 00 02 64 0f
23 00 02 65 0c
23 00 02 66 0d
23 00 02 67 06
23 00 02 68 02
23 00 02 69 07
23 00 02 6a 02
23 00 02 6b 02
23 00 02 6c 02
23 00 02 6d 02
23 00 02 6e 02
23 00 02 6f 02
23 00 02 70 02
23 00 02 71 02
23 00 02 72 02
23 00 02 73 02
23 00 02 74 02
23 00 02 75 01
23 00 02 76 00
23 00 02 77 14
23 00 02 78 15
23 00 02 79 0e
23 00 02 7a 0f
23 00 02 7b 0c
23 00 02 7c 0d
23 00 02 7d 06
23 00 02 7e 02
23 00 02 7f 07
23 00 02 80 02
23 00 02 81 02
23 00 02 82 02
23 00 02 83 02
23 00 02 84 02
23 00 02 85 02
23 00 02 86 02
23 00 02 87 02
23 00 02 88 02
23 00 02 89 02
23 00 02 8A 02
39 00 04 FF 98 81 04
23 00 02 6D 08
23 00 02 6F 05
23 00 02 70 00
23 00 02 71 00
23 00 02 82 0f
23 00 02 84 0f
23 00 02 85 0d
23 00 02 32 ac
23 00 02 8c 80
23 00 02 3c f5
23 00 02 3a 24
23 00 02 b5 07
23 00 02 31 45
23 00 02 88 33
39 00 04 FF 98 81 01
23 00 02 22 09
23 00 02 31 00
23 00 02 53 8a
23 00 02 55 a2
23 00 02 50 81
23 00 02 51 85
23 00 02 60 20
23 00 02 A0 00
23 00 02 A1 1a
23 00 02 A2 28
23 00 02 A3 18
23 00 02 A4 16
23 00 02 A5 29
23 00 02 A6 1d
23 00 02 A7 1e
23 00 02 A8 84
23 00 02 A9 1c
23 00 02 AA 28
23 00 02 AB 75
23 00 02 AC 1a
23 00 02 AD 19
23 00 02 AE 4d
23 00 02 AF 22
23 00 02 B0 28
23 00 02 B1 54
23 00 02 B2 66
23 00 02 B3 39
23 00 02 C0 00
23 00 02 C1 1a
23 00 02 C2 28
23 00 02 C3 13
23 00 02 C4 16
23 00 02 C5 29
23 00 02 C6 1d
23 00 02 C7 1e
23 00 02 C8 84
23 00 02 C9 1c
23 00 02 CA 28
23 00 02 CB 75
23 00 02 CC 1a
23 00 02 CD 19
23 00 02 CE 4d
23 00 02 CF 22
23 00 02 D0 28
23 00 02 D1 54
23 00 02 D2 66
23 00 02 D3 39
39 00 04 FF 98 81 00
23 00 02 35 00
23 00 02 36 03
23 78 02 11 00
23 14 02 29 00
];
// LCD时序节点
disp_timings0: display-timings {
native-mode = <&dsi0_timing0>;
dsi0_timing0: timing0 {
clock-frequency = <64000000>;
hactive = <720>;
vactive = <1280>;
hfront-porch = <52>;
hsync-len = <25>;
hback-porch = <26>;
vfront-porch = <5>;
vsync-len = <2>;
vback-porch = <9>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
};
&dsi_touch {
status = "okay";
};
5.重新编译内核
./build.sh kernel
编译完之后烧写到开发板就OK了。
二、最终效果图
1.Demo运行测试

经过测试,触摸和屏幕显示都没问题,又可以继续撸代码咯。
307

被折叠的 条评论
为什么被折叠?



