video: rk_fb: add BGR888 support
authorMark Yao <mark.yao@rock-chips.com>
Tue, 12 Jan 2016 07:10:22 +0000 (15:10 +0800)
committerHuang Jiachai <hjc@rock-chips.com>
Thu, 14 Jan 2016 05:59:50 +0000 (13:59 +0800)
Direct load 24bit bmp data to display, but its data format
is BGR888, so add BGR888 support for uboot logo.

Change-Id: Id93f2b559478f38c735213d523d3f72f6745f6a8
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
drivers/video/rockchip/lcdc/rk3368_lcdc.c
include/linux/rk_fb.h

index c79f6e5da080d99bcd061ede1880b5dfb5e69b11..7463bec207b5703b5716628dec9d70fe39030b7a 100644 (file)
@@ -1852,6 +1852,11 @@ static int rk3368_post_dspbuf(struct rk_lcdc_driver *dev_drv, u32 rgb_mst,
        lcdc_writel(lcdc_dev, WIN0_YRGB_MST, rgb_mst);
 
        lcdc_cfg_done(lcdc_dev);
+       if (format == RGB888)
+               win->area[0].format = BGR888;
+       else
+               win->area[0].format = format;
+
        win->ymirror = ymirror;
        win->state = 1;
        win->last_state = 1;
@@ -2968,6 +2973,11 @@ static int win_0_1_set_par(struct lcdc_device *lcdc_dev,
                        swap_rb = 1;
                        win->fmt_10 = 0;
                        break;
+               case BGR888:
+                       fmt_cfg = 1;
+                       swap_rb = 1;
+                       win->fmt_10 = 0;
+                       break;
                case RGB888:
                        fmt_cfg = 1;
                        swap_rb = 0;
index 3ca797f09a827659adbb06896ac26aeba951ae99..d9a34047eabfc0f1d4a0e1d2c123add09e1314b9 100755 (executable)
@@ -215,6 +215,7 @@ enum {
 enum data_format {
        ARGB888,
        RGB888,
+       BGR888,
        RGB565,
        XRGB888,
        XBGR888,