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 |