|
@@ -19,6 +19,7 @@
|
|
|
* 10-Mar-2005 LCVR Replaced S3C2410_VA by S3C24XX_VA
|
|
|
* 14-Mar-2005 BJD void __iomem fixes
|
|
|
* 20-Sep-2005 BJD Added static to non-exported items
|
|
|
+ * 26-Oct-2005 BJD Added framebuffer data
|
|
|
*/
|
|
|
|
|
|
#include <linux/kernel.h>
|
|
@@ -41,7 +42,10 @@
|
|
|
//#include <asm/debug-ll.h>
|
|
|
#include <asm/arch/regs-serial.h>
|
|
|
#include <asm/arch/regs-gpio.h>
|
|
|
+#include <asm/arch/regs-lcd.h>
|
|
|
+
|
|
|
#include <asm/arch/idle.h>
|
|
|
+#include <asm/arch/fb.h>
|
|
|
|
|
|
#include "s3c2410.h"
|
|
|
#include "s3c2440.h"
|
|
@@ -86,6 +90,70 @@ static struct s3c2410_uartcfg smdk2440_uartcfgs[] = {
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+/* LCD driver info */
|
|
|
+
|
|
|
+static struct s3c2410fb_mach_info smdk2440_lcd_cfg __initdata = {
|
|
|
+ .regs = {
|
|
|
+
|
|
|
+ .lcdcon1 = S3C2410_LCDCON1_TFT16BPP |
|
|
|
+ S3C2410_LCDCON1_TFT |
|
|
|
+ S3C2410_LCDCON1_CLKVAL(0x04),
|
|
|
+
|
|
|
+ .lcdcon2 = S3C2410_LCDCON2_VBPD(7) |
|
|
|
+ S3C2410_LCDCON2_LINEVAL(319) |
|
|
|
+ S3C2410_LCDCON2_VFPD(6) |
|
|
|
+ S3C2410_LCDCON2_VSPW(3),
|
|
|
+
|
|
|
+ .lcdcon3 = S3C2410_LCDCON3_HBPD(19) |
|
|
|
+ S3C2410_LCDCON3_HOZVAL(239) |
|
|
|
+ S3C2410_LCDCON3_HFPD(7),
|
|
|
+
|
|
|
+ .lcdcon4 = S3C2410_LCDCON4_MVAL(0) |
|
|
|
+ S3C2410_LCDCON4_HSPW(3),
|
|
|
+
|
|
|
+ .lcdcon5 = S3C2410_LCDCON5_FRM565 |
|
|
|
+ S3C2410_LCDCON5_INVVLINE |
|
|
|
+ S3C2410_LCDCON5_INVVFRAME |
|
|
|
+ S3C2410_LCDCON5_PWREN |
|
|
|
+ S3C2410_LCDCON5_HWSWP,
|
|
|
+ },
|
|
|
+
|
|
|
+#if 0
|
|
|
+ /* currently setup by downloader */
|
|
|
+ .gpccon = 0xaa940659,
|
|
|
+ .gpccon_mask = 0xffffffff,
|
|
|
+ .gpcup = 0x0000ffff,
|
|
|
+ .gpcup_mask = 0xffffffff,
|
|
|
+ .gpdcon = 0xaa84aaa0,
|
|
|
+ .gpdcon_mask = 0xffffffff,
|
|
|
+ .gpdup = 0x0000faff,
|
|
|
+ .gpdup_mask = 0xffffffff,
|
|
|
+#endif
|
|
|
+
|
|
|
+ .lpcsel = ((0xCE6) & ~7) | 1<<4,
|
|
|
+
|
|
|
+ .width = 240,
|
|
|
+ .height = 320,
|
|
|
+
|
|
|
+ .xres = {
|
|
|
+ .min = 240,
|
|
|
+ .max = 240,
|
|
|
+ .defval = 240,
|
|
|
+ },
|
|
|
+
|
|
|
+ .yres = {
|
|
|
+ .min = 320,
|
|
|
+ .max = 320,
|
|
|
+ .defval = 320,
|
|
|
+ },
|
|
|
+
|
|
|
+ .bpp = {
|
|
|
+ .min = 16,
|
|
|
+ .max = 16,
|
|
|
+ .defval = 16,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
static struct platform_device *smdk2440_devices[] __initdata = {
|
|
|
&s3c_device_usb,
|
|
|
&s3c_device_lcd,
|
|
@@ -121,6 +189,8 @@ static void __init smdk2440_machine_init(void)
|
|
|
s3c2410_gpio_setpin(S3C2410_GPF6, 0);
|
|
|
s3c2410_gpio_setpin(S3C2410_GPF7, 0);
|
|
|
|
|
|
+ s3c24xx_fb_set_platdata(&smdk2440_lcd_cfg);
|
|
|
+
|
|
|
s3c2410_pm_init();
|
|
|
}
|
|
|
|