i2s: add support samplerate up to 192K and support S32_LE
[firefly-linux-kernel-4.4.55.git] / drivers / video / display / screen / lcd_tx23d88vm.c
1 #include <linux/fb.h>\r
2 #include <linux/delay.h>\r
3 #include "../../rk29_fb.h"\r
4 #include <mach/gpio.h>\r
5 #include <mach/iomux.h>\r
6 #include <mach/board.h>\r
7 #include "screen.h"\r
8 \r
9 \r
10 /* Base */\r
11 #define OUT_TYPE                SCREEN_RGB\r
12 \r
13 #define OUT_FACE                OUT_D888_P666\r
14 //#define OUT_FACE              OUT_P888//modify by xhh\r
15 \r
16 \r
17 #define OUT_CLK                  66000000//64000000\r
18 #define LCDC_ACLK        500000000           //29 lcdc axi DMA ÆµÂÊ\r
19 \r
20 /* Timing */\r
21 #define H_PW                    10\r
22 #define H_BP                    20\r
23 #define H_VD                    1200\r
24 #define H_FP                    70\r
25 \r
26 #define V_PW                    2\r
27 #define V_BP                    4\r
28 #define V_VD                    800\r
29 #define V_FP                    14\r
30 \r
31 #define LCD_WIDTH       188\r
32 #define LCD_HEIGHT      125\r
33 /* Other */\r
34 #define DCLK_POL                0\r
35 //#define DCLK_POL              1//xhh\r
36 #define SWAP_RB                 0\r
37 \r
38 \r
39 void set_lcd_info(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info )\r
40 {\r
41     /* screen type & face */\r
42     screen->type = OUT_TYPE;\r
43     screen->face = OUT_FACE;\r
44 \r
45     /* Screen size */\r
46     screen->x_res = H_VD;\r
47     screen->y_res = V_VD;\r
48 \r
49     screen->width = LCD_WIDTH;\r
50     screen->height = LCD_HEIGHT;\r
51 \r
52     /* Timing */\r
53     screen->lcdc_aclk = LCDC_ACLK;\r
54     screen->pixclock = OUT_CLK;\r
55         screen->left_margin = H_BP;\r
56         screen->right_margin = H_FP;\r
57         screen->hsync_len = H_PW;\r
58         screen->upper_margin = V_BP;\r
59         screen->lower_margin = V_FP;\r
60         screen->vsync_len = V_PW;\r
61 \r
62         /* Pin polarity */\r
63         screen->pin_hsync = 0;\r
64         screen->pin_vsync = 0;\r
65         screen->pin_den = 0;\r
66         screen->pin_dclk = DCLK_POL;\r
67 \r
68         /* Swap rule */\r
69     screen->swap_rb = SWAP_RB;\r
70     screen->swap_rg = 0;\r
71     screen->swap_gb = 0;\r
72     screen->swap_delta = 0;\r
73     screen->swap_dumy = 0;\r
74 \r
75     /* Operation function*/\r
76     screen->init = NULL;\r
77     screen->standby = NULL;\r
78 }\r