6.3.2.2.2.1.1. panel rgb

panel_rgb {
    compatible = "zx,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>;
        };
    };
};

备注

相关宏定义取值在文件 include/dt-bindings/display/zx,aic-disp.h 中

Required properties:

  • port

    连接到 RGB 显示接口的输入端口,将 panel_rgb 结点与 rgb 结点关联起来。

Optional properties:

  • rgb-mode

    设置 RGB 显示接口的输出模式,可以设置为并行 RGB、串行 RGB、I8080、SPI。默认为并行 RGB 模式

    rgb-mode

    macro

    value

    并行RGB

    PRGB

    0

    串行RGB

    SRGB

    1

    I8080

    I8080

    2

    SPI

    SPI

    3

  • interface-format

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

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

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

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

    16 bit 模式同理,丢弃 24 个 pin 中的 8 个,详情可参考芯片数据手册中 LCD 章节中的功能描述。

    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

  • clock-phase

    pixel时钟输出相位选择, 允许设置时钟上升沿延后数据 0°/90°/180°/270° 相位。 默认为 0°

    degress

    macro

    value

    DEGREE_0

    0

    90°

    DEGREE_90

    1

    180°

    DEGREE_180

    2

    270°

    DEGREE_270

    3

  • data-order

    RGB 数据的输出顺序,R/G/B 三组信号可按任意顺序输出。默认为 RGB 顺序输出。

    数据输出顺序

    macro

    value

    RGB

    RGB

    0x02100210

    RBG

    RBG

    0x02010201

    BGR

    BGR

    0x00120012

    BRG

    BRG

    0x00210021

    GRB

    GRB

    0x01200120

    GBR

    GBR

    0x01020102

  • data-mirror

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

  • disp-dither

    颜色输出深度控制,使图像过度更平滑。当内存数据为 8bit ,但输出为 6bit 或者 5bit 时,使能 dither 能让图像过度更平滑,否则直接丢弃低位 bit。

    配置 dither 时默认使能随机 dither ,获取更好的显示效果。

    颜色输出深度

    macro

    value

    R 分量输出 5bit

    G 分量输出 6bit

    B 分量输出 5bit

    DITHER_RGB565

    0x1

    R 分量输出 6bit

    G 分量输出 6bit

    B 分量输出 6bit

    DITHER_RGB666

    0x2

  • tearing-effect

    TE 信号响应模式,配合屏幕 TE 信号使用,控制 DE 模块的输出,避免 LCD 屏幕出现撕裂现象。

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

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

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

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

    TE mode

    macro

    value

    连续刷新

    TE_BYPASS

    0x0

    手动刷新

    TE_HOLD

    0x1

    自动刷新

    TE_AUTO

    0x2

  • te-pulse-width

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

  • enable-gpios

    预留的屏幕使能引脚,可用于控制屏幕供电,不使用 pwm-backlight 的情况下亦可控制屏幕背光。

  • backlight

    屏幕的 pwm-backlight 配置节点。

  • display-timings

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