发作品签到
专业版

泰山派7寸mipi屏转接板

工程标签

1.4k
0
0
2

简介

给泰山派适配淘宝买的荔枝派LicheeRV Nano的7寸mipi屏

简介:给泰山派适配淘宝买的荔枝派LicheeRV Nano的7寸mipi屏

开源协议

GPL 3.0

(未经作者授权,禁止转载)
创建时间:2024-05-14 17:05:36更新时间:2024-05-22 17:08:51

描述

一、说明

手上有一块在淘宝买的荔枝派7寸mipi屏,商家不肯给数据手册,但是问题不大,他们的sdk有屏幕参数

荔枝派LicheeRV Nano SDK:

https://github.com/sipeed/LicheeRV-Nano-Build

 

二、泰山派设备树

1. tspi_android_sdk\kernel\arch\arm64\boot\dts\rockchip\tspi-rk3566-user-v10.dts

  • 注释掉 #include "tspi-rk3566-hdmi-v10.dtsi"#include "tspi-rk3566-edp-v10.dtsi"
  • 保留 #include "tspi-rk3566-dsi-v10.dtsi"
  • 添加触摸节点
    &i2c1 {
        status = "okay";
        gt9xx: gt9xx@14 {
            compatible = "goodix,gt9xx";
            reg = <0x14>;
            tp-size = <911>;
            max-x = <800>;
            max-y = <1280>;
            touch-gpio = <&gpio1 RK_PA0 IRQ_TYPE_LEVEL_LOW>;
            reset-gpio = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>;
            status = "okay";
        };
    };

 

2. tspi_android_sdk\kernel\arch\arm64\boot\dts\rockchip\tspi-rk3566-dsi-v10.dtsi

把对应的节点改成如下

&dsi1 {
status = "okay";
rockchip,lane-rate = <1000>;//修改
dsi1_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reset-gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&dsi1_rst_gpio>;
reg = <0>;
backlight = <&backlight>;
reset-delay-ms = <10>;
enable-delay-ms = <120>;
prepare-delay-ms = <20>;
unprepare-delay-ms = <20>;
disable-delay-ms = <50>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = ;
dsi,lanes  = <4>;
panel-init-sequence = [//修改
15 00 02 B0 01
15 00 02 C3 4F
15 00 02 C4 40
15 00 02 C5 40
15 00 02 C6 40
15 00 02 C7 40
15 00 02 C8 4D
15 00 02 C9 52
15 00 02 CA 51
15 00 02 CD 5D
15 00 02 CE 5B
15 00 02 CF 4B
15 00 02 D0 49
15 00 02 D1 47
15 00 02 D2 45
15 00 02 D3 41
15 00 02 D7 50
15 00 02 D8 40
15 00 02 D9 40
15 00 02 DA 40
15 00 02 DB 40
15 00 02 DC 4E
15 00 02 DD 52
15 00 02 DE 51
15 00 02 E1 5E
15 00 02 E2 5C
15 00 02 E3 4C
15 00 02 E4 4A
15 00 02 E5 48
15 00 02 E6 46
15 00 02 E7 42
15 00 02 B0 03
15 00 02 BE 03
15 00 02 CC 44
15 00 02 C8 07
15 00 02 C9 05
15 00 02 CA 42
15 00 02 CD 3E
15 00 02 CF 60
15 00 02 D2 04
15 00 02 D3 04
15 00 02 D4 01
15 00 02 D5 00
15 00 02 D6 03
15 00 02 D7 04
15 00 02 D9 01
15 00 02 DB 01
15 00 02 E4 F0
15 00 02 E5 0A
15 00 02 B0 00
15 00 02 B1 08
15 00 02 BD 54
15 00 02 C2 06
15 00 02 C4 0B
15 00 02 B0 02
15 00 02 C0 00
15 00 02 C1 0A
15 00 02 C2 20
15 00 02 C3 24
15 00 02 C4 23
15 00 02 C5 29
15 00 02 C6 23
15 00 02 C7 1C
15 00 02 C8 19
15 00 02 C9 17
15 00 02 CA 17
15 00 02 CB 18
15 00 02 CC 1A
15 00 02 CD 1E
15 00 02 CE 20
15 00 02 CF 23
15 00 02 D0 07
15 00 02 D1 00
15 00 02 D2 00
15 00 02 D3 0A
15 00 02 D4 13
15 00 02 D5 1C
15 00 02 D6 1A
15 00 02 D7 13
15 00 02 D8 17
15 00 02 D9 1C
15 00 02 DA 19
15 00 02 DB 17
15 00 02 DC 17
15 00 02 DD 18
15 00 02 DE 1A
15 00 02 DF 1E
15 00 02 E0 20
15 00 02 E1 23
15 00 02 E2 07
05 78 01 11
05 14 01 29
];
 
panel-exit-sequence = [
05 00 01 28
05 00 01 10
];
 
disp_timings1: display-timings { //修改
native-mode = <&dsi1_timing0>;
dsi1_timing0: timing0 {
clock-frequency = <85000000>;
hactive = <800>;
vactive = <1280>;
hfront-porch = <56>;
hsync-len = <80>;
hback-porch = <136>;
vfront-porch = <3>;
vsync-len = <10>;
vback-porch = <34>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <1>;
};
};

 

三、修改gt9xx驱动

1. tspi_android_sdk\kernel\drivers\input\touchscreen\gt9xx\gt9xx.c

找到这个函数goodix_ts_probe

修改内容如下

else if (val == 911) {
        m89or101 = FALSE;
        bgt911 = TRUE;
        gtp_change_x2y = FALSE;//修改
        gtp_x_reverse = TRUE;//修改
        gtp_y_reverse = TRUE;//修改
    }

 

2. 触摸配置

tspi_android_sdk\kernel\drivers\input\touchscreen\gt9xx目录下新建一个后缀为cfg的文件,如GT911_Config.cfg,在里面复制粘贴如下内容

0x42,0xD0,0x02,0x00,0x05,0x05,0x75,0x01,0x01,0x0F,0x24,0x0F,0x64,0x3C,0x03,0x05,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x16,0x19,0x1C,0x14,0x8C,0x0E,0x0E,0x24,0x00,0x31,0x0D,0x00,0x00,0x00,0x83,0x33,0x1D,0x00,0x41,0x00,0x00,0x00,0x00,0x00,0x08,0x0A,0x00,0x2B,0x1C,0x3C,0x94,0xD5,0x03,0x08,0x00,0x00,0x04,0x93,0x1E,0x00,0x82,0x23,0x00,0x74,0x29,0x00,0x69,0x2F,0x00,0x5F,0x37,0x00,0x5F,0x20,0x40,0x60,0x00,0xF0,0x40,0x30,0x55,0x50,0x27,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x19,0x00,0x00,0x50,0x50,0x02,0x04,0x06,0x08,0x0A,0x0C,0x0E,0x10,0x12,0x14,0x16,0x18,0x1A,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1D,0x1E,0x1F,0x20,0x21,0x22,0x24,0x26,0x28,0x29,0x2A,0x1C,0x18,0x16,0x14,0x13,0x12,0x10,0x0F,0x0C,0x0A,0x08,0x06,0x04,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0x01

 

3. tspi_android_sdk\kernel\drivers\input\touchscreen\gt9xx\gt9xx_cfg.h

修改如下内容

/* CFG for GT911 */
u8 gtp_dat_gt11[] = {
    /* <1200, 1920>*/
    //#include "WGJ89006B_GT911_Config_20140625_085816_0X43.cfg"//修改
    #include "GT911_Config.cfg"//修改
};

 

四、编译

1. 如果你是开发linux,在sdk目录下使用如下命令命令

./build.sh lunch

输入3,回车

export RK_ROOTFS_SYSTEM=debian    //看你的是buildroot还是debian

./build.sh kernel

 

2.如果你是开发android,在sdk/kernel目录下执行

make ARCH=arm64 BOOT_IMG=../rockdev/Image-rk3566_tspi/boot.img tspi-rk3566-user-v10.img -j32

如果不行就用下面的试试

make ARCH=arm64 tspi_defconfig rk356x_evb.config android-11.config
make ARCH=arm64 tspi-rk3566-user-v10.img -j16

android sdk太大,我就编译了个内核,镜像随便下一个官方提供的,然后替换内核就好

 

3. 替换内核

【Android】系统SDK编译 - 飞书云文档 (feishu.cn)

 

五、视频

https://www.bilibili.com/video/BV19D421G7D5/?spm_id_from=333.999.list.card_archive.click

https://www.bilibili.com/video/BV1et421K7bZ/?spm_id_from=333.999.list.card_archive.click

b站点点关注点点赞🤭

 

六、注意事项

触摸和mipi的线都是:

转接板到mipi屏为同向

转接板到泰山派为反向

需要改背光电路的电阻,就在mipi接口旁边,把那两个电阻都改为20Ω或者把那两个电阻去掉,焊一个10Ω的电阻

这样背光电流改为200/10=20mA,原本100多mA可能会烧屏

 

七、拓展

板子设计的fpc接线都很绕,有空一起搞一个接线舒服的板子!

嘉立创能不能给我送一个3D打印的免费券!!!

 

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
暂无数据
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航