aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Dooks <ben-linux@fluff.org>2008-12-11 19:24:40 -0500
committerBen Dooks <ben-linux@fluff.org>2009-05-01 06:38:45 -0400
commitd6662c351a827264706bf880a36cdd376808ba1c (patch)
tree1e06c2204fa369f0f06ad8c9850771a58b35cf42
parent091438dd5668396328a3419abcbc6591159eb8d1 (diff)
[ARM] SMDK6410: Ensure LCD settings are setup
Ensure that the LCD output type is RGB and that the modem interface is not bypassing the LCD block. This ensures the LCD interface output gets to the pins in the correct format. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
-rw-r--r--arch/arm/mach-s3c6410/mach-smdk6410.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c6410/mach-smdk6410.c b/arch/arm/mach-s3c6410/mach-smdk6410.c
index 7f473e47e4f1..d0b9f09b7269 100644
--- a/arch/arm/mach-s3c6410/mach-smdk6410.c
+++ b/arch/arm/mach-s3c6410/mach-smdk6410.c
@@ -39,6 +39,9 @@
39#include <asm/mach-types.h> 39#include <asm/mach-types.h>
40 40
41#include <plat/regs-serial.h> 41#include <plat/regs-serial.h>
42#include <plat/regs-modem.h>
43#include <plat/regs-gpio.h>
44#include <plat/regs-sys.h>
42#include <plat/iic.h> 45#include <plat/iic.h>
43#include <plat/fb.h> 46#include <plat/fb.h>
44 47
@@ -155,9 +158,23 @@ static struct i2c_board_info i2c_devs1[] __initdata = {
155 158
156static void __init smdk6410_map_io(void) 159static void __init smdk6410_map_io(void)
157{ 160{
161 u32 tmp;
162
158 s3c64xx_init_io(smdk6410_iodesc, ARRAY_SIZE(smdk6410_iodesc)); 163 s3c64xx_init_io(smdk6410_iodesc, ARRAY_SIZE(smdk6410_iodesc));
159 s3c24xx_init_clocks(12000000); 164 s3c24xx_init_clocks(12000000);
160 s3c24xx_init_uarts(smdk6410_uartcfgs, ARRAY_SIZE(smdk6410_uartcfgs)); 165 s3c24xx_init_uarts(smdk6410_uartcfgs, ARRAY_SIZE(smdk6410_uartcfgs));
166
167 /* set the LCD type */
168
169 tmp = __raw_readl(S3C64XX_SPCON);
170 tmp &= ~S3C64XX_SPCON_LCD_SEL_MASK;
171 tmp |= S3C64XX_SPCON_LCD_SEL_RGB;
172 __raw_writel(tmp, S3C64XX_SPCON);
173
174 /* remove the lcd bypass */
175 tmp = __raw_readl(S3C64XX_MODEM_MIFPCON);
176 tmp &= ~MIFPCON_LCD_BYPASS;
177 __raw_writel(tmp, S3C64XX_MODEM_MIFPCON);
161} 178}
162 179
163static void __init smdk6410_machine_init(void) 180static void __init smdk6410_machine_init(void)