本文记录一次 A133 平台调试 CS5523 转换芯片的过程以及相关经验。项目中 A133 主控本身不直接输出 eDP 信号,因此采用 CS5523 将 A133 输出的 MIPI DSI 信号转换为 eDP 信号,再连接到 eDP 屏幕。
1. 调试背景#
项目显示链路如下:
A133 显示输出侧配置为 MIPI DSI,CS5523 负责完成协议转换。
调试时需要同时关注三部分:
- A133 侧 MIPI DSI 输出参数。
- CS5523 转换芯片初始化参数。
- eDP 屏幕本身的规格参数。
如果三者任意一处配置不匹配,都可能导致黑屏、闪屏、颜色异常、花屏、背光异常等问题。
2. eDP 屏幕配置查看#
调试 CS5523 前,需要先确认 eDP 屏幕规格。重点关注以下参数:
- 分辨率
- 刷新率
- 屏时序(Pixel Clock,前后肩参数)
- eDP lane 数
- 色深,常见为 6bit、8bit(6bit + FRC也配置成8bit)
- 背光 PWM 频率要求
2.1 屏时序#
一般EDP屏幕规格书中不会直接给出前后肩参数:
具体的前后肩参数一般会在EDID Description里面:
2.2 色深#

该屏幕为6bit+2FRC,所以等同于8bit屏幕。
3. CS5523 配置#
CS5523 是 MIPI DSI 转 eDP芯片。它的配置需要同时匹配输入侧 MIPI DSI和输出侧eDP 。
3.1 DP端配置#

主要配置EDP屏幕时序,lan数量,以及色深。
3.2 MIPI端匹配#

主要配置输入端MIPI的Lane数量。
3.3 调试方法#
CS5523分为两种模式:
- 全自动模式:上电后DP/eDP端会根据屏的edid自动做linktraing握手,只要MIPI给了timing一般就可以点亮。edp端配置参数软件会自动处理,此种不适用于MIPI 3lane的情况和部分MIPI timing微调仍调不好的情况,这种模式称为全自动模式。
- 半自动模式:MIPI和EDP都需要使用配置工具来配置,包括MIPI的lane数和edp的timing,edp的bit数,edp的lane数,EDP的swing等,这种称为半自动模式
如果实在无法得知屏幕时序,可以尝试使用全自动模式,利用全自动模式的自动握手,然后通过CH341 USB 转 I2C 工具读取芯片内部寄存器配置。
如果有对比样机,但是平台不同,无法得知发送的初始化配置信息,可以使用逻辑分析仪解析MIPI DP0发送的数据:
需要注意的是要将电平调整为1.8V,这样触发电压为0.9V(MIPI信号一般为1.2V左右)
4. 屏幕驱动#
CS5523可通过两种方法进行寄存器的初始化,i2c初始化以及MIPI DP0初始化。
0x05A,0x3A,0xFF :
sunxi_lcd_dsi_gen_write_2para(sel,0xFF,0X3A,0X5A);
0x7A4,0x2B,0x00(高八位):
sunxi_lcd_dsi_gen_write_2para(sel,0x34,0x10,0x07); sunxi_lcd_dsi_gen_write_2para(sel,0xA4,0x2B,0x00);
0x680,0x2B,0x0A:
sunxi_lcd_dsi_gen_write_2para(sel,0x34,0x10,0x06); sunxi_lcd_dsi_gen_write_2para(sel,0x80,0x2B,0x0A);
5. 休眠唤醒黑屏问题#
测试发现休眠唤醒黑屏,使用i2c读出来寄存器值全部为XXX,证明CS5523芯片工作不正常,排查发现唤醒之后芯片RESET电压仅有0.8V

规格书说明该引脚正常工作下应该为1.8V:
尝试驱动添加控制,休眠输出低电平,唤醒输出高电平,问题解决: