6.2.2.2. disp_conf头文件配置¶
显示驱动中包含一个 disp_conf.h 头文件,以宏定义的方式配置显示接口。
bsp/artinchip/drv/display/disp_conf.h
menuconfig 配置 LCD 外设或者改动频繁的参数,而 disp_conf.h 配置显示接口。
注解
引入 disp_conf.h 头文件是为了避免 menuconfig 参数过多导致误改。
这部分参数可方便 PCB layout 走线,配置有误会导致显示异常。推荐在硬件工程师的确认下,结合芯片手册进行修改。
6.2.2.2.1. LVDS 参数¶
/* lvds link swap enable, swap lvds link0 and link1 */
#define AIC_LVDS_LINK_SWAP_EN   0
/**
 * lvds channel output order
 *
 * works on both link0 and link1 (if exists)
 *
 * default D3 CK D2 D1 D0
 *          4  3  2  1  0
 */
#define AIC_LVDS_LINES      0x43210
/**
 * lvds channel polarities, works on both link0 and link1 (if exists)
 */
#define AIC_LVDS_POL        0x0
/**
 * lvds channel phy config, works on both link0 and link1 (if exists)
 */
#define AIC_LVDS_PHY        0xFA
- AIC_LVDS_SYNC_MODE_EN - LVDS 同步前端信号模式使能。 防止前端给到半帧数据时打开 LVDS 模块,出现显示异常,不推荐关闭。 
- AIC_LVDS_LINK_SWAP_EN - LVDS Link 互换使能,Link 0 通道与 Link 1 通道输出互换 
- AIC_LVDS_LINES - LVDS Link 通道内输出选择。控制 LVDS Link 内部 5 个通道的差分信号输出,允许 5 对差分信号任意互换 - 5 个通道分别为 D3 CK D2 D1 D0,缺省值为:0x43210,4 个 bit 表示一个通道 - 0x43210 表示 D3 通道输出 D3,CK 通道输出 CK,D2 通道输出 D2,D1 通道输出 D1,D0 通道输出 D0 - 0x01234 表示 D3 通道输出 D0,CK 通道输出 D1,D2 通道输出 D2,D1 通道输出 CK,D0 通道输出 D3 
- AIC_LVDS_POL - LVDS 通道极性控制,低 5 bit 分别控制 LVDS 五个通道差分信号的极性,通道默认顺序为 D3 CK D2 D1 D0 - 0x3 表示 D1 D0 通道极性反相,0x8 表示 CK 通道反相 - AIC_LVDS_POL 受 AIC_LVDS_LINES 影响,如果 CK 通道选择输出 D0,则该 bit 控制 D0 相位,0x8 表示 D0 反相 
- AIC_LVDS_PHY - LVDS 物理层控制,对应芯片手册 LVDS_0_PHY_CTL 和 LVDS_1_PHY_CTL 寄存器的数值,结合芯片手册进行修改。 
6.2.2.2.2. MIPI-DSI 参数¶
/* data line assignments */
#define LANE_ASSIGNMENTS 0x0123;
/* data line polarities */
#define LANE_POLARITIES  0b1111;
/* data clk inverse */
#define CLK_INVERSE      1
- LANE_ASSIGNMENTS - 数据通道输出选择,默认为 0x0123,4 个 bit 表示一个通道。该参数可方便 layout 走线 - 0x0123 表示数据通道3 输出 DATA0,数据通道2 输出 DATA1,数据通道1 输出 DATA2, 数据通道0 输出 DATA3 - 0x3012 表示数据通道3 输出 DATA3,数据通道2 输出 DATA0,数据通道1 输出 DATA1,数据通道0 输出 DATA2 - 如果是两个 lane,可配置成 0x01,表示数据通道1 输出 DATA0,数据通道0 输出DATA1 
- LANE_POLARITIES - 数据通道极性是否正负极取反,默认为 0b1111,二进制参数,1 个 bit 对应一个通道,与 LANE_ASSIGNMENTS 配置的通道顺序保持一致。 - LANE_ASSIGNMENTS = <0x3012>; LANE_POLARITIES = <0b1010>; 表示 DATA3 和 DATA1 正负极取反 
- CLK_INVERSE - CLK Lane 正负极取反