This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3352 24bit LCD配置后颜色失真

Other Parts Discussed in Thread: AM3352

我们现在用的是一个24位rgb的lcd,这个是lcd的数据脚定义,使用的24bit:

我们的硬件连接,am335测如下:

lcd的FPC测如下:

软件配置:

static struct da8xx_panel known_lcd_panels[] = {
        [0] = {//使用这项
                .name = "4.3inch_LCD",
                .width = 320,
                .height = 240,
                .hfp = 20,
                .hbp = 20,
                .hsw = 41,
                .vfp = 2,
                .vbp = 2,
                .vsw = 10,
                .pxl_clk = 8000000,
                .invert_pxl_clk = 0,
        },

...

}

static struct pinmux_config lcdc_pin_mux[] = {
    {"lcd_data0.lcd_data0",        OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
    {"lcd_data1.lcd_data1",        OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
    {"lcd_data2.lcd_data2",        OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
    {"lcd_data3.lcd_data3",        OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
    {"lcd_data4.lcd_data4",        OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
    {"lcd_data5.lcd_data5",        OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
    {"lcd_data6.lcd_data6",        OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
    {"lcd_data7.lcd_data7",        OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
    {"lcd_data8.lcd_data8",        OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
    {"lcd_data9.lcd_data9",        OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
    {"lcd_data10.lcd_data10",    OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
    {"lcd_data11.lcd_data11",    OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
    {"lcd_data12.lcd_data12",    OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
    {"lcd_data13.lcd_data13",    OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
    {"lcd_data14.lcd_data14",    OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
    {"lcd_data15.lcd_data15",    OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
    {"gpmc_ad15.lcd_data16",    OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
    {"gpmc_ad14.lcd_data17",    OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
    {"gpmc_ad13.lcd_data18",    OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
    {"gpmc_ad12.lcd_data19",    OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
    {"gpmc_ad11.lcd_data20",    OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
       {"gpmc_ad10.lcd_data21",    OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
       {"gpmc_ad9.lcd_data22",    OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
       {"gpmc_ad8.lcd_data23",    OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT
                               | AM33XX_PULL_DISA},
    {"lcd_vsync.lcd_vsync",        OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
    {"lcd_hsync.lcd_hsync",        OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
    {"lcd_pclk.lcd_pclk",        OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
    {"lcd_ac_bias_en.lcd_ac_bias_en", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
    {NULL, 0},
};

static const struct display_panel disp_panel = {
    WVGA,
    32,
    16,
    COLOR_ACTIVE,
};

static struct lcd_ctrl_config lcd_cfg = {
    &disp_panel,
    .ac_bias        = 255,
    .ac_bias_intrpt        = 0,
    .dma_burst_sz        = 16,
    .bpp            = 24,
    .fdd            = 0x80,
    .tft_alt_mode        = 0,
    .stn_565_mode        = 0,
    .mono_8bit_mode        = 0,
    .invert_line_clock    = 1,
    .invert_frm_clock    = 1,
    .sync_edge        = 0,
    .sync_ctrl        = 1,
    .raster_order        = 0,
};
现在屏幕上没有红色出现,应该是红色的地方显示黄色了,像是r组没生效

图中的A背景应该是红色,现在显示黄色;

这个现象会是什么问题?