diff options
author | Krzysztof Helt <krzysztof.h1@wp.pl> | 2007-10-16 04:28:56 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-16 12:43:16 -0400 |
commit | 09fe75f6f934597f765748342ca6fb378ee7ecdb (patch) | |
tree | 55a3ab7bf52400be136ec533cd5ebda4336fcd07 /arch/arm/mach-s3c2440/mach-rx3715.c | |
parent | 110c1fa75463c4f327e9fc491e9a27e938800d96 (diff) |
s3c2410fb: multi-display support
This patch adds a new structure to describe and handle
more than one panel (display mode) for the s3c2410 framebuffer.
This structure is added after the pxafb driver.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Antonino Daplas <adaplas@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/arm/mach-s3c2440/mach-rx3715.c')
-rw-r--r-- | arch/arm/mach-s3c2440/mach-rx3715.c | 38 |
1 files changed, 16 insertions, 22 deletions
diff --git a/arch/arm/mach-s3c2440/mach-rx3715.c b/arch/arm/mach-s3c2440/mach-rx3715.c index b59e6d39f2f2..c83078878497 100644 --- a/arch/arm/mach-s3c2440/mach-rx3715.c +++ b/arch/arm/mach-s3c2440/mach-rx3715.c | |||
@@ -110,7 +110,7 @@ static struct s3c2410_uartcfg rx3715_uartcfgs[] = { | |||
110 | 110 | ||
111 | /* framebuffer lcd controller information */ | 111 | /* framebuffer lcd controller information */ |
112 | 112 | ||
113 | static struct s3c2410fb_mach_info rx3715_lcdcfg __initdata = { | 113 | static struct s3c2410fb_display rx3715_lcdcfg __initdata = { |
114 | .regs = { | 114 | .regs = { |
115 | .lcdcon1 = S3C2410_LCDCON1_TFT16BPP | \ | 115 | .lcdcon1 = S3C2410_LCDCON1_TFT16BPP | \ |
116 | S3C2410_LCDCON1_TFT | \ | 116 | S3C2410_LCDCON1_TFT | \ |
@@ -133,6 +133,20 @@ static struct s3c2410fb_mach_info rx3715_lcdcfg __initdata = { | |||
133 | S3C2410_LCDCON5_HWSWP, | 133 | S3C2410_LCDCON5_HWSWP, |
134 | }, | 134 | }, |
135 | 135 | ||
136 | .width = 240, | ||
137 | .height = 320, | ||
138 | |||
139 | .xres = 240, | ||
140 | .yres = 320, | ||
141 | .bpp = 16, | ||
142 | }; | ||
143 | |||
144 | static struct s3c2410fb_mach_info rx3715_fb_info __initdata = { | ||
145 | |||
146 | .displays = &rx3715_lcdcfg, | ||
147 | .num_displays = 1, | ||
148 | .default_display = 0, | ||
149 | |||
136 | .lpcsel = 0xf82, | 150 | .lpcsel = 0xf82, |
137 | 151 | ||
138 | .gpccon = 0xaa955699, | 152 | .gpccon = 0xaa955699, |
@@ -146,26 +160,6 @@ static struct s3c2410fb_mach_info rx3715_lcdcfg __initdata = { | |||
146 | .gpdup_mask = 0xffffffff, | 160 | .gpdup_mask = 0xffffffff, |
147 | 161 | ||
148 | .fixed_syncs = 1, | 162 | .fixed_syncs = 1, |
149 | .width = 240, | ||
150 | .height = 320, | ||
151 | |||
152 | .xres = { | ||
153 | .min = 240, | ||
154 | .max = 240, | ||
155 | .defval = 240, | ||
156 | }, | ||
157 | |||
158 | .yres = { | ||
159 | .max = 320, | ||
160 | .min = 320, | ||
161 | .defval = 320, | ||
162 | }, | ||
163 | |||
164 | .bpp = { | ||
165 | .min = 16, | ||
166 | .max = 16, | ||
167 | .defval = 16, | ||
168 | }, | ||
169 | }; | 163 | }; |
170 | 164 | ||
171 | static struct mtd_partition rx3715_nand_part[] = { | 165 | static struct mtd_partition rx3715_nand_part[] = { |
@@ -224,7 +218,7 @@ static void __init rx3715_init_machine(void) | |||
224 | #endif | 218 | #endif |
225 | s3c2410_pm_init(); | 219 | s3c2410_pm_init(); |
226 | 220 | ||
227 | s3c24xx_fb_set_platdata(&rx3715_lcdcfg); | 221 | s3c24xx_fb_set_platdata(&rx3715_fb_info); |
228 | platform_add_devices(rx3715_devices, ARRAY_SIZE(rx3715_devices)); | 222 | platform_add_devices(rx3715_devices, ARRAY_SIZE(rx3715_devices)); |
229 | } | 223 | } |
230 | 224 | ||