phonepad:add lcd_hj080na driver
authorlw <lw@rock-chips.com>
Wed, 12 Sep 2012 03:54:15 +0000 (11:54 +0800)
committerlw <lw@rock-chips.com>
Wed, 12 Sep 2012 03:54:52 +0000 (11:54 +0800)
drivers/video/display/screen/Kconfig [changed mode: 0644->0755]
drivers/video/display/screen/Makefile [changed mode: 0644->0755]
drivers/video/display/screen/lcd_hj080na.c [new file with mode: 0755]

old mode 100644 (file)
new mode 100755 (executable)
index 7f07548..616e529
@@ -94,6 +94,8 @@ config LCD_COMMON
        bool "LCD COMMON"
 config LCD_RK2928_A720
         bool "RK2928 A720 panel 800x480"
+config LCD_HJ080NA
+       bool "HJ080NA_4J 1024X768"
 
 endchoice
 
old mode 100644 (file)
new mode 100755 (executable)
index d9f0b5c..57f551d
@@ -43,3 +43,4 @@ obj-$(CONFIG_LCD_HSD100PXN_FOR_TDW851) += lcd_hsd100pxn_for_tdw851.o
 obj-$(CONFIG_LCD_HV070WSA100)    += lcd_hv070wsa.o
 obj-$(CONFIG_LCD_COMMON)    += lcd_common.o
 obj-$(CONFIG_LCD_RK2928_A720) += lcd_rk2928_a720.o
+obj-$(CONFIG_LCD_HJ080NA)    += lcd_hj080na.o
\ No newline at end of file
diff --git a/drivers/video/display/screen/lcd_hj080na.c b/drivers/video/display/screen/lcd_hj080na.c
new file mode 100755 (executable)
index 0000000..103f5ff
--- /dev/null
@@ -0,0 +1,76 @@
+#include <linux/fb.h>\r
+#include <linux/delay.h>\r
+#include "../../rk29_fb.h"\r
+#include <mach/gpio.h>\r
+#include <mach/iomux.h>\r
+#include <mach/board.h>\r
+#include "screen.h"\r
+\r
+\r
+/* Base */\r
+#define OUT_TYPE               SCREEN_RGB\r
+\r
+#define OUT_FACE               OUT_P888\r
+#define OUT_CLK                        65000000\r
+#define LCDC_ACLK       500000000//312000000           //29 lcdc axi DMA ÆµÂÊ\r
+\r
+/* Timing */\r
+#define H_PW                   100\r
+#define H_BP                   100\r
+#define H_VD                   1024\r
+#define H_FP                   120\r
+\r
+#define V_PW                   10\r
+#define V_BP                   10\r
+#define V_VD                   768\r
+#define V_FP                   15\r
+\r
+#define LCD_WIDTH       216\r
+#define LCD_HEIGHT      162\r
+/* Other */\r
+#define DCLK_POL               0\r
+#define SWAP_RB                        0   \r
+\r
+void set_lcd_info(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info )\r
+{\r
+    /* screen type & face */\r
+    screen->type = OUT_TYPE;\r
+    screen->face = OUT_FACE;\r
+\r
+    /* Screen size */\r
+    screen->x_res = H_VD;\r
+    screen->y_res = V_VD;\r
+\r
+    screen->width = LCD_WIDTH;\r
+    screen->height = LCD_HEIGHT;\r
+\r
+    /* Timing */\r
+    screen->lcdc_aclk = LCDC_ACLK;\r
+    screen->pixclock = OUT_CLK;\r
+       screen->left_margin = H_BP;\r
+       screen->right_margin = H_FP;\r
+       screen->hsync_len = H_PW;\r
+       screen->upper_margin = V_BP;\r
+       screen->lower_margin = V_FP;\r
+       screen->vsync_len = V_PW;\r
+\r
+       /* Pin polarity */\r
+       screen->pin_hsync = 0;\r
+       screen->pin_vsync = 0;\r
+       screen->pin_den = 0;\r
+       screen->pin_dclk = DCLK_POL;\r
+\r
+       /* Swap rule */\r
+    screen->swap_rb = SWAP_RB;\r
+    screen->swap_rg = 0;\r
+    screen->swap_gb = 0;\r
+    screen->swap_delta = 0;\r
+    screen->swap_dumy = 0;\r
+\r
+    /* Operation function*/\r
+    screen->init = NULL;\r
+    screen->standby = NULL;\r
+}\r
+\r
+\r
+\r