嵌入式爱好者

查看: 2016|回复: 2

[Linux] ok3588c v1.2 内核下如何驱动套装里的 mipi 屏

[复制链接]

2

主题

7

帖子

22

积分

RK3588通行证

扫一扫,手机访问本帖
发表于 2023-6-8 03:04:07 | 显示全部楼层 |阅读模式
本帖最后由 xiaguangbo 于 2023-6-8 19:38 编辑

2023/6/8 更新

使用 linux sdk 全编译后烧录镜像运行正常,套装里 7 寸 mipi 屏也能正常显示和触摸,屏幕接在了板子上的 MIPI DSI0 上(也就是原理图v1.2的DS1,原理图里是从DS1开始的)但是 uboot 换成我从 https://github.com/rockchip-linux/u-boot 上下载的 u-boot next-dev 分支并使用默认的 rk3588_defconfig 编译的就不行,屏幕就是灰色,系统可以运行到 rootfs 里。把 uboot 换成 linux sdk 里提供的就正常了

我以为是 forlinx-control 没打开,我把 OK3588-C-common.dtsi 里的 / 下的 forlinx-control 里的 status 赋值为 okay 以后重编译,使用我的 uboot 和 linux sdk 新编译出来的 boot.img 还是点不亮 mipi 屏,把 uboot 换成 linux sdk 里提供的就正常了

使用 https://github.com/rockchip-linux/kernal develop-5.10 分支使用板卡的配置文件和设备树编译的 boot.img 配合板子的 uboot.img 屏幕正常显示但是无法触摸。我使用 i2cdetect -a 2 探测出了触摸芯片的地址 0x38,和 OK3588-C-common.dtsi 里的 ft5x06_dsi0 节点写的一样,触摸用不了是还需要其他什么配置吗

总结是:
板子 uboot + 板子 boot = 正常
板子 uboot + 我的 boot = 串口正常,核心板蓝灯闪烁,屏幕正常显示但是无法触摸,插入鼠标可以代替触摸
我的 uboot + 板子 boot = 串口正常,核心板蓝灯闪烁,灰屏
我的 uboot + 我的 boot = 串口正常,核心板蓝灯闪烁,灰屏


我猜测屏幕的初始化是在 uboot 里,但我想知道怎么在内核下完整的驱动该屏幕,包括显示和触摸。是要修改 .dts 吧,可以直接贴出修改方法或者发一份修改的文件吗


回复

使用道具 举报

2

主题

7

帖子

22

积分

RK3588通行证

 楼主| 发表于 2023-6-9 16:58:41 | 显示全部楼层
Linux 下让 mipi 屏幕工作是修改 OK3588-C-common.dtsi 里的 dsi0_in_vp2 和该节点上面的 dsi0 节点,两个节点里的 status 赋值为 okay


触摸还是有问题,是需要指定系统的触摸输入来自于哪个设备吗
点评回复 支持 反对

使用道具 举报

2

主题

7

帖子

22

积分

RK3588通行证

 楼主| 发表于 2023-6-12 19:58:35 | 显示全部楼层
本帖最后由 xiaguangbo 于 2023-6-12 19:59 编辑

触摸是设备树的问题,设备树里 i2c2 下有两个触摸芯片,负责的是 mipi 0,也就是 dsi0 接口的触摸,不使用的那个需要 disabled,因为如果 dsi0 的 mipi 屏用的触摸节点是 ft5x06_dsi0,此节点和 gt9xx_dsi0 共用同一个中断引脚,如果该引脚被 gt9xx_dsi0 先获取了,那 ft5x06_dsi0 就获取不到了,所以要将 gt9xx_dsi0 失能

如果是 linux 用的是 https://github.com/rockchip-linux/kernel,要修改 i2c2 里的 ft5x06_dsi0 节点,取消注释 interrupt-parent、interrupts,注释 irq-gpio,如果是飞凌提供的 linux 就不需要修改,因为这俩的 drives/input/touchscreen/edt_ft5x06.c 的中断脚的处理不一样
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-12-20 18:43

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表