| 
					
				 | 
			
			
				@@ -62,3 +62,94 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #define GONI_UCON_DEFAULT	(S3C2410_UCON_TXILEVEL |	\ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				 S3C2410_UCON_RXILEVEL |	\ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				 S3C2410_UCON_TXIRQMODE |	\ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				 S3C2410_UCON_RXIRQMODE |	\ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				 S3C2410_UCON_RXFIFO_TOI |	\ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				 S3C2443_UCON_RXERR_IRQEN) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#define GONI_ULCON_DEFAULT	S3C2410_LCON_CS8 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#define GONI_UFCON_DEFAULT	S3C2410_UFCON_FIFOMODE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct s3c2410_uartcfg goni_uartcfgs[] __initdata = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	[0] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.hwport		= 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.flags		= 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.ucon		= GONI_UCON_DEFAULT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.ulcon		= GONI_ULCON_DEFAULT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.ufcon		= GONI_UFCON_DEFAULT | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			S5PV210_UFCON_TXTRIG256 | S5PV210_UFCON_RXTRIG256, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	[1] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.hwport		= 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.flags		= 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.ucon		= GONI_UCON_DEFAULT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.ulcon		= GONI_ULCON_DEFAULT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.ufcon		= GONI_UFCON_DEFAULT | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			S5PV210_UFCON_TXTRIG64 | S5PV210_UFCON_RXTRIG64, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	[2] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.hwport		= 2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.flags		= 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.ucon		= GONI_UCON_DEFAULT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.ulcon		= GONI_ULCON_DEFAULT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.ufcon		= GONI_UFCON_DEFAULT | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			S5PV210_UFCON_TXTRIG16 | S5PV210_UFCON_RXTRIG16, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	[3] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.hwport		= 3, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.flags		= 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.ucon		= GONI_UCON_DEFAULT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.ulcon		= GONI_ULCON_DEFAULT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.ufcon		= GONI_UFCON_DEFAULT | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			S5PV210_UFCON_TXTRIG16 | S5PV210_UFCON_RXTRIG16, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* Frame Buffer */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct s3c_fb_pd_win goni_fb_win0 = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.max_bpp	= 32, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.default_bpp	= 16, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.xres		= 480, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.yres		= 800, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.virtual_x	= 480, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.virtual_y	= 2 * 800, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct fb_videomode goni_lcd_timing = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.left_margin	= 16, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.right_margin	= 16, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.upper_margin	= 2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.lower_margin	= 28, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.hsync_len	= 2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.vsync_len	= 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.xres		= 480, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.yres		= 800, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.refresh	= 55, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct s3c_fb_platdata goni_lcd_pdata __initdata = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.win[0]		= &goni_fb_win0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.vtiming	= &goni_lcd_timing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.vidcon0	= VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			  VIDCON0_CLKSEL_LCD, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.vidcon1	= VIDCON1_INV_VCLK | VIDCON1_INV_VDEN 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			  | VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.setup_gpio	= s5pv210_fb_gpio_setup_24bpp, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static int lcd_power_on(struct lcd_device *ld, int enable) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static int reset_lcd(struct lcd_device *ld) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	static unsigned int first = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	int reset_gpio = -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	reset_gpio = S5PV210_MP05(5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (first) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		gpio_request(reset_gpio, "MLCD_RST"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		first = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 |