video: rockchip: fb: add car_reversing for px5
[firefly-linux-kernel-4.4.55.git] / include / linux / rk_fb.h
index d01f38b9818842924458ff2112e345d7b0ee59f2..2374664e6dfe4f4205308c551506a2a7f8a18c4d 100755 (executable)
@@ -192,6 +192,11 @@ enum {
        HAL_PIXEL_FORMAT_BGR_888 = 0x31,
        HAL_PIXEL_FORMAT_BGR_565 = 0x32,
 
+       HAL_PIXEL_FORMAT_YUYV422 = 0x33,
+       HAL_PIXEL_FORMAT_YUYV420 = 0x34,
+       HAL_PIXEL_FORMAT_UYVY422 = 0x35,
+       HAL_PIXEL_FORMAT_UYVY420 = 0x36,
+
        HAL_PIXEL_FORMAT_YCrCb_NV12_BT709 =
                        BT709(HAL_PIXEL_FORMAT_YCrCb_NV12),
        HAL_PIXEL_FORMAT_YCrCb_NV12_VIDEO_BT709 =
@@ -218,10 +223,10 @@ enum {
 
 //display data format
 enum data_format {
-       ARGB888,
-       RGB888,
+       ARGB888,/*don't update and insert other format*/
+       RGB888, /*don't update and insert other format*/
+       RGB565, /*don't update and insert other format*/
        BGR888,
-       RGB565,
        XRGB888,
        XBGR888,
        ABGR888,
@@ -237,6 +242,10 @@ enum data_format {
        YUV422_A,
        YUV444_A,
        YUV420_NV21,
+       YUYV422,
+       YUYV420,
+       UYVY422,
+       UYVY420
 };
 #define IS_YUV_FMT(fmt) ((fmt >= YUV420) ? 1 : 0)
 #define IS_RGB_FMT(fmt) ((fmt < YUV420) ? 1 : 0)
@@ -288,11 +297,12 @@ struct rk_vop_property {
 
 enum rk_win_feature {
        SUPPORT_WIN_IDENTIFY    = BIT(0),
-       SUPPORT_SCALE           = BIT(1),
-       SUPPORT_YUV             = BIT(2),
-       SUPPORT_YUV10BIT        = BIT(3),
-       SUPPORT_MULTI_AREA      = BIT(4),
-       SUPPORT_HWC_LAYER       = BIT(5)
+       SUPPORT_HW_EXIST        = BIT(1),
+       SUPPORT_SCALE           = BIT(2),
+       SUPPORT_YUV             = BIT(3),
+       SUPPORT_YUV10BIT        = BIT(4),
+       SUPPORT_MULTI_AREA      = BIT(5),
+       SUPPORT_HWC_LAYER       = BIT(6)
 };
 
 struct rk_win_property {
@@ -386,6 +396,7 @@ struct rk_lcdc_win_area {
        bool state;
        enum data_format format;
        u8 fmt_cfg;
+       u8 yuyv_fmt;
        u8 swap_rb;
        u8 swap_uv;
        u32 y_offset;           /*yuv/rgb offset  -->LCDC_WINx_YRGB_MSTx*/
@@ -789,6 +800,7 @@ extern int rk_fb_register(struct rk_lcdc_driver *dev_drv,
 extern int rk_fb_unregister(struct rk_lcdc_driver *dev_drv);
 extern struct rk_lcdc_driver *rk_get_lcdc_drv(char *name);
 extern int rk_fb_get_extern_screen(struct rk_screen *screen);
+extern int rk_fb_set_vop_pwm(void);
 extern int rk_fb_get_prmry_screen( struct rk_screen *screen);
 extern int rk_fb_set_prmry_screen(struct rk_screen *screen);
 extern u32 rk_fb_get_prmry_screen_pixclock(void);
@@ -818,5 +830,6 @@ int rk_fb_get_display_policy(void);
 int rk_fb_pixel_width(int data_format);
 void trace_buffer_dump(struct device *dev,
                              struct rk_lcdc_driver *dev_drv);
+int rk_fb_set_car_reverse_status(struct rk_lcdc_driver *dev_drv, int status);
 extern int rockchip_get_screen_type(void);
 #endif