disp_conf 头文件配置
显示驱动中包含一个 disp_conf.h
头文件,以宏定义的方式配置显示接口。
bsp/artinchip/drv/display/disp_conf.h
menuconfig 配置 LCD 外设或者改动频繁的参数,而 disp_conf.h
配置显示接口。
引入 disp_conf.h
头文件是为了避免 menuconfig 参数过多导致误改。
这部分参数可方便 PCB layout 走线,配置有误会导致显示异常。推荐在硬件工程师的确认下,结合芯片手册进行修改。
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 寄存器的数值,结合芯片手册进行修改。
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 正负极取反