diff options
Diffstat (limited to 'arch/arm/mach-s3c2410/mach-h1940.c')
-rw-r--r-- | arch/arm/mach-s3c2410/mach-h1940.c | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c2410/mach-h1940.c b/arch/arm/mach-s3c2410/mach-h1940.c index ea4fb1a97a50..6ff1889fbd21 100644 --- a/arch/arm/mach-s3c2410/mach-h1940.c +++ b/arch/arm/mach-s3c2410/mach-h1940.c | |||
@@ -45,6 +45,9 @@ | |||
45 | 45 | ||
46 | //#include <asm/debug-ll.h> | 46 | //#include <asm/debug-ll.h> |
47 | #include <asm/arch/regs-serial.h> | 47 | #include <asm/arch/regs-serial.h> |
48 | #include <asm/arch/regs-lcd.h> | ||
49 | |||
50 | #include <asm/arch/fb.h> | ||
48 | 51 | ||
49 | #include <linux/serial_core.h> | 52 | #include <linux/serial_core.h> |
50 | 53 | ||
@@ -88,6 +91,48 @@ static struct s3c2410_uartcfg h1940_uartcfgs[] = { | |||
88 | 91 | ||
89 | 92 | ||
90 | 93 | ||
94 | /** | ||
95 | * Set lcd on or off | ||
96 | **/ | ||
97 | static struct s3c2410fb_mach_info h1940_lcdcfg __initdata = { | ||
98 | .fixed_syncs= 1, | ||
99 | .regs={ | ||
100 | .lcdcon1= S3C2410_LCDCON1_TFT16BPP | \ | ||
101 | S3C2410_LCDCON1_TFT | \ | ||
102 | S3C2410_LCDCON1_CLKVAL(0x0C), | ||
103 | |||
104 | .lcdcon2= S3C2410_LCDCON2_VBPD(7) | \ | ||
105 | S3C2410_LCDCON2_LINEVAL(319) | \ | ||
106 | S3C2410_LCDCON2_VFPD(6) | \ | ||
107 | S3C2410_LCDCON2_VSPW(0), | ||
108 | |||
109 | .lcdcon3= S3C2410_LCDCON3_HBPD(19) | \ | ||
110 | S3C2410_LCDCON3_HOZVAL(239) | \ | ||
111 | S3C2410_LCDCON3_HFPD(7), | ||
112 | |||
113 | .lcdcon4= S3C2410_LCDCON4_MVAL(0) | \ | ||
114 | S3C2410_LCDCON4_HSPW(3), | ||
115 | |||
116 | .lcdcon5= S3C2410_LCDCON5_FRM565 | \ | ||
117 | S3C2410_LCDCON5_INVVLINE | \ | ||
118 | S3C2410_LCDCON5_HWSWP, | ||
119 | }, | ||
120 | .lpcsel= 0x02, | ||
121 | .gpccon= 0xaa940659, | ||
122 | .gpccon_mask= 0xffffffff, | ||
123 | .gpcup= 0x0000ffff, | ||
124 | .gpcup_mask= 0xffffffff, | ||
125 | .gpdcon= 0xaa84aaa0, | ||
126 | .gpdcon_mask= 0xffffffff, | ||
127 | .gpdup= 0x0000faff, | ||
128 | .gpdup_mask= 0xffffffff, | ||
129 | |||
130 | .width= 240, | ||
131 | .height= 320, | ||
132 | .xres= {240,240,240}, | ||
133 | .yres= {320,320,320}, | ||
134 | .bpp= {16,16,16}, | ||
135 | }; | ||
91 | 136 | ||
92 | static struct platform_device *h1940_devices[] __initdata = { | 137 | static struct platform_device *h1940_devices[] __initdata = { |
93 | &s3c_device_usb, | 138 | &s3c_device_usb, |
@@ -116,6 +161,11 @@ void __init h1940_init_irq(void) | |||
116 | 161 | ||
117 | } | 162 | } |
118 | 163 | ||
164 | void __init h1940_init(void) | ||
165 | { | ||
166 | set_s3c2410fb_info(&h1940_lcdcfg); | ||
167 | } | ||
168 | |||
119 | MACHINE_START(H1940, "IPAQ-H1940") | 169 | MACHINE_START(H1940, "IPAQ-H1940") |
120 | /* Maintainer: Ben Dooks <ben@fluff.org> */ | 170 | /* Maintainer: Ben Dooks <ben@fluff.org> */ |
121 | .phys_ram = S3C2410_SDRAM_PA, | 171 | .phys_ram = S3C2410_SDRAM_PA, |
@@ -124,5 +174,6 @@ MACHINE_START(H1940, "IPAQ-H1940") | |||
124 | .boot_params = S3C2410_SDRAM_PA + 0x100, | 174 | .boot_params = S3C2410_SDRAM_PA + 0x100, |
125 | .map_io = h1940_map_io, | 175 | .map_io = h1940_map_io, |
126 | .init_irq = h1940_init_irq, | 176 | .init_irq = h1940_init_irq, |
177 | .init_machine = h1940_init, | ||
127 | .timer = &s3c24xx_timer, | 178 | .timer = &s3c24xx_timer, |
128 | MACHINE_END | 179 | MACHINE_END |