正点原子RK3568驱动ILI9881D 720P 5寸屏

一、修改开发板设备树

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运行测试

在这里插入图片描述
经过测试,触摸和屏幕显示都没问题,又可以继续撸代码咯。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

taoshiwu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值