rk3036 lcdc: commit driver code, just pass compiling.
[firefly-linux-kernel-4.4.55.git] / include / linux / rk_screen.h
index 3ecaa16d149617c0fe6eafade360caa91f43668d..e7f33c1d32a7a600bcda5841c9089b00f61d06a3 100755 (executable)
@@ -1,58 +1,6 @@
 #ifndef _SCREEN_H
 #define _SCREEN_H
 
-#define LVDS_8BIT_1     0
-#define LVDS_8BIT_2     1
-#define LVDS_8BIT_3     2
-#define LVDS_6BIT       3
-/*             lvds connect config       
- *                                        
- *             LVDS_8BIT_1    LVDS_8BIT_2     LVDS_8BIT_3     LVDS_6BIT
-----------------------------------------------------------------------
-       TX0     R0              R2              R2              R0
-       TX1     R1              R3              R3              R1
-       TX2     R2              R4              R4              R2
-Y      TX3     R3              R5              R5              R3
-0      TX4     R4              R6              R6              R4
-       TX6     R5              R7              R7              R5      
-       TX7     G0              G2              G2              G0
-----------------------------------------------------------------------
-       TX8     G1              G3              G3              G1
-       TX9     G2              G4              G4              G2
-Y      TX12    G3              G5              G5              G3
-1      TX13    G4              G6              G6              G4
-       TX14    G5              G7              G7              G5
-       TX15    B0              B2              B2              B0
-       TX18    B1              B3              B3              B1
-----------------------------------------------------------------------
-       TX19    B2              B4              B4              B2
-       TX20    B3              B5              B5              B3
-       TX21    B4              B6              B6              B4
-Y      TX22    B5              B7              B7              B5
-2      TX24    HSYNC           HSYNC           HSYNC           HSYNC
-       TX25    VSYNC           VSYNC           VSYNC           VSYNC
-       TX26    ENABLE          ENABLE          ENABLE          ENABLE
-----------------------------------------------------------------------    
-       TX27    R6              R0              GND             GND
-       TX5     R7              R1              GND             GND
-       TX10    G6              G0              GND             GND
-Y      TX11    G7              G1              GND             GND
-3      TX16    B6              B0              GND             GND
-       TX17    B7              B1              GND             GND
-       TX23    RSVD            RSVD            RSVD            RSVD
-----------------------------------------------------------------------
-*/
-
-typedef enum _SCREEN_TYPE {
-       SCREEN_NULL = 0,
-       SCREEN_RGB,
-       SCREEN_LVDS,
-       SCREEN_MCU,
-       SCREEN_TVOUT,
-       SCREEN_HDMI,
-       SCREEN_MIPI,
-} SCREEN_TYPE;
-
 typedef enum _REFRESH_STAGE {
     REFRESH_PRE = 0,
     REFRESH_END,
@@ -99,6 +47,12 @@ struct rk29lcd_info {
        int (*io_disable)(void);
 };
 
+struct overscan {
+       unsigned char left;
+       unsigned char top;
+       unsigned char right;
+       unsigned char bottom;
+};
 
 /* Screen description 
 *type:LVDS,RGB,MIPI,MCU
@@ -113,6 +67,14 @@ struct rk_screen {
        u8 lcdc_id;   
        u8 screen_id; 
        struct fb_videomode mode;
+       u32 post_dsp_stx;
+       u32 post_dsp_sty;
+       u32 post_xsize;
+       u32 post_ysize;
+       u16 x_mirror;
+       u16 y_mirror;
+       int interlace;
+       int pixelrepeat; //For 480i/576i format, pixel is repeated twice.
        u16 width;
        u16 height;
        u8  ft;
@@ -154,6 +116,7 @@ struct rk_screen {
        int ypos;
        int xsize; //horizontal and vertical display size on he screen,they can be changed by application
        int ysize;
+       struct overscan overscan;
        struct rk_screen *ext_screen;
        /* Operation function*/
        int (*init)(void);