diff options
-rw-r--r-- | arch/arm/mach-s3c2410/mach-rx3715.c | 70 |
1 files changed, 66 insertions, 4 deletions
diff --git a/arch/arm/mach-s3c2410/mach-rx3715.c b/arch/arm/mach-s3c2410/mach-rx3715.c index 22d9e070fd68..7ff8e4d574c0 100644 --- a/arch/arm/mach-s3c2410/mach-rx3715.c +++ b/arch/arm/mach-s3c2410/mach-rx3715.c | |||
@@ -17,6 +17,7 @@ | |||
17 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | 17 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA |
18 | * 14-Mar-2005 BJD Fixed __iomem warnings | 18 | * 14-Mar-2005 BJD Fixed __iomem warnings |
19 | * 20-Sep-2005 BJD Added static to non-exported items | 19 | * 20-Sep-2005 BJD Added static to non-exported items |
20 | * 31-Oct-2005 BJD Added LCD setup for framebuffer | ||
20 | */ | 21 | */ |
21 | 22 | ||
22 | #include <linux/kernel.h> | 23 | #include <linux/kernel.h> |
@@ -42,6 +43,9 @@ | |||
42 | 43 | ||
43 | #include <asm/arch/regs-serial.h> | 44 | #include <asm/arch/regs-serial.h> |
44 | #include <asm/arch/regs-gpio.h> | 45 | #include <asm/arch/regs-gpio.h> |
46 | #include <asm/arch/regs-lcd.h> | ||
47 | |||
48 | #include <asm/arch/fb.h> | ||
45 | 49 | ||
46 | #include "clock.h" | 50 | #include "clock.h" |
47 | #include "devs.h" | 51 | #include "devs.h" |
@@ -96,6 +100,66 @@ static struct s3c2410_uartcfg rx3715_uartcfgs[] = { | |||
96 | } | 100 | } |
97 | }; | 101 | }; |
98 | 102 | ||
103 | /* framebuffer lcd controller information */ | ||
104 | |||
105 | static struct s3c2410fb_mach_info rx3715_lcdcfg __initdata = { | ||
106 | .regs = { | ||
107 | .lcdcon1 = S3C2410_LCDCON1_TFT16BPP | \ | ||
108 | S3C2410_LCDCON1_TFT | \ | ||
109 | S3C2410_LCDCON1_CLKVAL(0x0C), | ||
110 | |||
111 | .lcdcon2 = S3C2410_LCDCON2_VBPD(5) | \ | ||
112 | S3C2410_LCDCON2_LINEVAL(319) | \ | ||
113 | S3C2410_LCDCON2_VFPD(6) | \ | ||
114 | S3C2410_LCDCON2_VSPW(2), | ||
115 | |||
116 | .lcdcon3 = S3C2410_LCDCON3_HBPD(35) | \ | ||
117 | S3C2410_LCDCON3_HOZVAL(239) | \ | ||
118 | S3C2410_LCDCON3_HFPD(35), | ||
119 | |||
120 | .lcdcon4 = S3C2410_LCDCON4_MVAL(0) | \ | ||
121 | S3C2410_LCDCON4_HSPW(7), | ||
122 | |||
123 | .lcdcon5 = S3C2410_LCDCON5_INVVLINE | | ||
124 | S3C2410_LCDCON5_FRM565 | | ||
125 | S3C2410_LCDCON5_HWSWP, | ||
126 | }, | ||
127 | |||
128 | .lpcsel = 0xf82, | ||
129 | |||
130 | .gpccon = 0xaa955699, | ||
131 | .gpccon_mask = 0xffc003cc, | ||
132 | .gpcup = 0x0000ffff, | ||
133 | .gpcup_mask = 0xffffffff, | ||
134 | |||
135 | .gpdcon = 0xaa95aaa1, | ||
136 | .gpdcon_mask = 0xffc0fff0, | ||
137 | .gpdup = 0x0000faff, | ||
138 | .gpdup_mask = 0xffffffff, | ||
139 | |||
140 | .fixed_syncs = 1, | ||
141 | .width = 240, | ||
142 | .height = 320, | ||
143 | |||
144 | .xres = { | ||
145 | .min = 240, | ||
146 | .max = 240, | ||
147 | .defval = 240, | ||
148 | }, | ||
149 | |||
150 | .yres = { | ||
151 | .max = 320, | ||
152 | .min = 320, | ||
153 | .defval = 320, | ||
154 | }, | ||
155 | |||
156 | .bpp = { | ||
157 | .min = 16, | ||
158 | .max = 16, | ||
159 | .defval = 16, | ||
160 | }, | ||
161 | }; | ||
162 | |||
99 | static struct platform_device *rx3715_devices[] __initdata = { | 163 | static struct platform_device *rx3715_devices[] __initdata = { |
100 | &s3c_device_usb, | 164 | &s3c_device_usb, |
101 | &s3c_device_lcd, | 165 | &s3c_device_lcd, |
@@ -122,14 +186,12 @@ static void __init rx3715_init_irq(void) | |||
122 | s3c24xx_init_irq(); | 186 | s3c24xx_init_irq(); |
123 | } | 187 | } |
124 | 188 | ||
125 | #ifdef CONFIG_PM | ||
126 | static void __init rx3715_init_machine(void) | 189 | static void __init rx3715_init_machine(void) |
127 | { | 190 | { |
128 | s3c2410_pm_init(); | 191 | s3c2410_pm_init(); |
192 | s3c24xx_fb_set_platdata(&rx3715_lcdcfg); | ||
129 | } | 193 | } |
130 | #else | 194 | |
131 | #define rx3715_init_machine NULL | ||
132 | #endif | ||
133 | 195 | ||
134 | MACHINE_START(RX3715, "IPAQ-RX3715") | 196 | MACHINE_START(RX3715, "IPAQ-RX3715") |
135 | /* Maintainer: Ben Dooks <ben@fluff.org> */ | 197 | /* Maintainer: Ben Dooks <ben@fluff.org> */ |