Edit online

Panel_RGB

4 Dec 2024
Read time: 5 minute(s)
panel_rgb 结点的详细参数配置和描述如下:
注: 相关宏定义取值在文件 include/dt-bindings/display/artinchip,aic-disp.h 中。关于各参数的宏定义取值描述,可查看宏定义取值
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>;
        };
    };
};
1. panel_rgb 节点参数描述
参数名称 类型 描述 是否必需
rgb-mode - 设置 RGB 显示接口的输出模式,包括:
  • 并行 RGB,默认值

  • 串行 RGB

  • I8080

  • SPI

Optional
interface-format - 设置 RGB 显示接口的输出格式,默认输出并行 RGB 24-bit。

PRGB 的 18bit/16bit 兼容两种输出模式,可根据不同的封装或走线需求进行选择。

  • PRGB_18BIT_LD 表示将 24 个 pin 中最低位的 6 个 pin 丢弃
  • PRGB_18BIT_HD 表示将 24 个 pin 中最高位的 6 个 pin 丢弃

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 屏幕出现撕裂现象。

  • 连续刷新 (default) :忽略 TE 信号, 连续刷新

  • 手动刷新:DE timging enable 后在下一个 TE 信号更新画面

  • 自动刷新: 每收到一个 TE 信号,自动更新画面,更新期间忽略 TE 信号

手动刷新和自动刷新模式下,需要设定 TE 脉冲宽度,用于检测屏幕 TE 信号。

te-pulse-width - TE 脉冲宽度,用于检测 TE 同步信号的有效状态,建议设为 5。

data-mirror

Boolean

控制 RGB 数据组内大小端输出。默认输出低位到高位 0 - 7。如果设置则输出变为 7 - 0

display-timings

- 屏的时序信号。由屏厂提供。

宏定义取值

2. rgb-mode 宏定义取值
rgb-mode macro value
并行 RGB PRGB 0
串行 RGB SRGB 1
I8080 I8080 2
SPI SPI 3
3. interface-format 宏定义取值
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
4. clock-phase 宏定义取值
degress macro value
DEGREE_0 0
90° DEGREE_90 1
180° DEGREE_180 2
270° DEGREE_270 3
5. data-order 宏定义取值
数据输出顺序 macro value
RGB RGB 0x02100210
RBG RBG 0x02010201
BGR BGR 0x00120012
BRG BRG 0x00210021
GRB GRB 0x01200120
GBR GBR 0x01020102
6. disp-dither 宏定义取值
颜色输出深度 macro value

R 分量输出 5bit

G 分量输出 6bit

B 分量输出 5bit

DITHER_RGB565 0x1

R 分量输出 6bit

G 分量输出 6bit

B 分量输出 6bit

DITHER_RGB666 0x2
7. tearing-effect 宏定义取值
TE mode macro value
连续刷新 TE_BYPASS 0x0
手动刷新 TE_HOLD 0x1
自动刷新 TE_AUTO 0x2