2 #include <linux/delay.h>
3 #include "../../rk29_fb.h"
5 #include <mach/iomux.h>
6 #include <mach/board.h>
10 #define LCD_WIDTH 154 //need modify
13 #define OUT_TYPE SCREEN_RGB
14 #define OUT_FACE OUT_P666
15 #define OUT_CLK 33000000
16 #define LCDC_ACLK 150000000 //29 lcdc axi DMA ƵÂÊ
33 static struct rk29lcd_info *gLcd_info = NULL;
39 if(gLcd_info && gLcd_info->io_init)
45 static int standby(u8 enable)
49 if(gLcd_info && gLcd_info->io_enable)
50 gLcd_info->io_enable();
54 if(gLcd_info && gLcd_info->io_disable)
55 gLcd_info->io_disable();
60 void set_lcd_info(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info )
62 /* screen type & face */
63 screen->type = OUT_TYPE;
64 screen->face = OUT_FACE;
70 screen->width = LCD_WIDTH;
71 screen->height = LCD_HEIGHT;
74 screen->lcdc_aclk = LCDC_ACLK;
75 screen->pixclock = OUT_CLK;
76 screen->left_margin = H_BP;
77 screen->right_margin = H_FP;
78 screen->hsync_len = H_PW;
79 screen->upper_margin = V_BP;
80 screen->lower_margin = V_FP;
81 screen->vsync_len = V_PW;
84 screen->pin_hsync = 0;
85 screen->pin_vsync = 0;
87 screen->pin_dclk = DCLK_POL;
90 screen->swap_rb = SWAP_RB;
93 screen->swap_delta = 0;
94 screen->swap_dumy = 0;
96 /* Operation function*/
98 screen->standby = standby;
101 gLcd_info = lcd_info;
105 printk("%s lcd_info==NULL\n", __func__);