Edit online

Panel_RGB

3 Mar 2025
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