Panel_RGB
panel_rgb { compatible = "artinchip,aic-general-rgb-panel"; status = "okay"; rgb-mode = <PRGB>; interface-format = <PRGB_24BIT>; clock-phase = <DEGREE_0>; data-order = <RGB>; backlight = <&backlight>; // enable-gpios = <&gpio_a 4 GPIO_ACTIVE_HIGH>; port { panel_rgb_in: endpoint { remote-endpoint = <&rgb0_out>; }; }; display-timings { native-mode = <&timing0>; timing0: 1024x600 { clock-frequency = <45000000>; hactive = <1024>; vactive = <600>; hback-porch = <140>; hfront-porch = <160>; hsync-len = <20>; vback-porch = <12>; vfront-porch = <20>; vsync-len = <3>; de-active = <1>; pixelclk-active = <1>; }; }; };
参数名称 |
类型 |
描述 |
是否必需 |
---|---|---|---|
rgb-mode |
- |
设置 RGB 显示接口的输出模式,包括:
|
Optional |
interface-format |
- |
设置 RGB 显示接口的输出格式,默认输出并行 RGB 24-bit。 PRGB 的 18bit/16bit 兼容两种输出模式,可根据不同的封装或走线需求进行选择。
16 bit 模式同理,丢弃 24 个 pin 中的 8 个,详情可参考芯片数据手册中 LCD 章节中的功能描述。 |
|
clock-phase |
- |
pixel 时钟输出相位选择, 允许设置时钟上升沿延后数据 0°/90°/180°/270° 相位。 默认为 0° |
|
data-order |
- |
RGB 数据的输出顺序,R/G/B 三组信号可按任意顺序输出。默认为 RGB 顺序输出。 |
|
backlight |
- |
屏幕的 pwm-backlight 配置节点。 |
|
enable-gpios |
- |
预留的屏幕使能引脚,可用于控制屏幕供电,不使用 pwm-backlight 的情况下亦可控制屏幕背光。 |
|
port |
- |
连接到 RGB 显示接口的输入端口,将 panel_rgb 结点与 rgb 结点关联起来。 |
Required |
data-mirror |
Boolean |
控制 RGB 数据组内大小端输出。默认输出低位到高位 0 - 7。如果设置则输出变为 7 - 0 |
Optional |
disp-dither |
- |
颜色输出深度控制,使图像过度更平滑。当内存数据为 8bit ,但输出为 6bit 或者 5bit 时,使能 dither 能让图像过度更平滑,否则直接丢弃低位 bit。 配置 dither 时默认使能随机 dither ,获取更好的显示效果。 |
|
tearing-effect |
- |
TE 信号响应模式,配合屏幕 TE 信号使用,控制 DE 模块的输出,避免 LCD 屏幕出现撕裂现象。
手动刷新和自动刷新模式下,需要设定 TE 脉冲宽度,用于检测屏幕 TE 信号。 |
|
te-pulse-width |
- |
TE 脉冲宽度,用于检测 TE 同步信号的有效状态,建议设为 5。 |
|
data-mirror |
Boolean |
控制 RGB 数据组内大小端输出。默认输出低位到高位 0 - 7。如果设置则输出变为 7 - 0 |
|
display-timings |
- |
屏的时序信号。由屏厂提供。 |
宏定义取值
rgb-mode |
macro |
value |
---|---|---|
并行 RGB |
PRGB |
0 |
串行 RGB |
SRGB |
1 |
I8080 |
I8080 |
2 |
SPI |
SPI |
3 |
mode |
macro |
value |
---|---|---|
PRGB |
PRGB_24BIT |
0 |
- |
PRGB_18BIT_LD |
1 |
- |
PRGB_18BIT_HD |
2 |
- |
PRGB_16BIT_LD |
3 |
- |
PRGB_16BIT_HD |
4 |
SRGB |
SRGB_8BIT |
0 |
- |
SRGB_6BIT |
1 |
I8080 |
I8080_RGB565_8BIT |
0 |
- |
I8080_RGB666_8BIT |
1 |
- |
I8080_RGB666_9BIT |
2 |
- |
I8080_RGB666_16BIT_3CYCLE |
3 |
- |
I8080_RGB666_16BIT_2CYCLE |
4 |
- |
I8080_RGB565_16BIT |
5 |
- |
I8080_RGB666_18BIT |
6 |
- |
I8080_RGB888_24BIT |
7 |
SPI |
SPI_3LINE_RGB565 |
0 |
- |
SPI_3LINE_RGB666 |
1 |
- |
SPI_3LINE_RGB888 |
2 |
- |
SPI_4LINE_RGB565 |
3 |
- |
SPI_4LINE_RGB666 |
4 |
- |
SPI_4LINE_RGB888 |
5 |
- |
SPI_4SDA_RGB565 |
6 |
- |
SPI_4SDA_RGB666 |
7 |
- |
SPI_4SDA_RGB888 |
8 |
degress |
macro |
value |
---|---|---|
0° |
DEGREE_0 |
0 |
90° |
DEGREE_90 |
1 |
180° |
DEGREE_180 |
2 |
270° |
DEGREE_270 |
3 |
数据输出顺序 |
macro |
value |
---|---|---|
RGB |
RGB |
0x02100210 |
RBG |
RBG |
0x02010201 |
BGR |
BGR |
0x00120012 |
BRG |
BRG |
0x00210021 |
GRB |
GRB |
0x01200120 |
GBR |
GBR |
0x01020102 |
颜色输出深度 |
macro |
value |
---|---|---|
R 分量输出 5bit G 分量输出 6bit B 分量输出 5bit |
DITHER_RGB565 |
0x1 |
R 分量输出 6bit G 分量输出 6bit B 分量输出 6bit |
DITHER_RGB666 |
0x2 |
TE mode |
macro |
value |
---|---|---|
连续刷新 |
TE_BYPASS |
0x0 |
手动刷新 |
TE_HOLD |
0x1 |
自动刷新 |
TE_AUTO |
0x2 |