13 #include <linux/kernel.h>
14 #include <linux/types.h>
16 #include <linux/list.h>
21 #include <linux/serial_core.h>
23 #include <linux/i2c.h>
39 #include <mach/regs-gpio.h>
40 #include <mach/regs-mem.h>
41 #include <mach/regs-lcd.h>
53 #include <plat/clock.h>
62 #define UCON S3C2410_UCON_DEFAULT
63 #define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE
64 #define UFCON S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODE
101 static struct mtd_partition __initdata jive_imageA_nand_part[] = {
103 #ifdef CONFIG_MACH_JIVE_SHOW_BOOTLOADER
108 .size = (160 *
SZ_1K),
115 .offset = (176 *
SZ_1K),
122 .
name =
"kernel (ro)",
123 .offset = (192 *
SZ_1K),
136 .offset = (44 *
SZ_1M),
143 .offset = (160 *
SZ_1K),
150 .offset = (22 *
SZ_1M),
155 .size = (20 *
SZ_1M),
159 static struct mtd_partition __initdata jive_imageB_nand_part[] = {
161 #ifdef CONFIG_MACH_JIVE_SHOW_BOOTLOADER
166 .size = (160 *
SZ_1K),
173 .offset = (176 *
SZ_1K),
180 .
name =
"kernel (ro)",
181 .offset = (22 *
SZ_1M),
188 .size = (20 *
SZ_1M),
195 .offset = (44 *
SZ_1M),
202 .offset = (160 *
SZ_1K),
209 .offset = (192 *
SZ_1K),
213 .offset = (2 *
SZ_1M),
222 .nr_partitions =
ARRAY_SIZE(jive_imageA_nand_part),
223 .partitions = jive_imageA_nand_part,
232 .sets = jive_nand_sets,
241 if (options ==
NULL || options[0] ==
'\0')
258 "using default.",
set);
265 __setup(
"mtdset=", jive_mtdset);
269 #define LCD_XRES (240)
270 #define LCD_YRES (320)
271 #define LCD_LEFT_MARGIN (12)
272 #define LCD_RIGHT_MARGIN (12)
273 #define LCD_LOWER_MARGIN (12)
274 #define LCD_UPPER_MARGIN (12)
275 #define LCD_VSYNC (2)
276 #define LCD_HSYNC (2)
278 #define LCD_REFRESH (60)
280 #define LCD_HTOT (LCD_HSYNC + LCD_LEFT_MARGIN + LCD_XRES + LCD_RIGHT_MARGIN)
281 #define LCD_VTOT (LCD_VSYNC + LCD_LOWER_MARGIN + LCD_YRES + LCD_UPPER_MARGIN)
296 .pixclock = (1000000000000
LL /
313 #define S3C2410_GPCCON_MASK(x) (3 << ((x) * 2))
314 #define S3C2410_GPDCON_MASK(x) (3 << ((x) * 2))
317 .displays = jive_vgg2432a4_display,
318 .num_displays =
ARRAY_SIZE(jive_vgg2432a4_display),
319 .default_display = 0,
325 .gpcup = (0xf << 1) | (0x3f << 10),
339 .
gpdup = (0x3f << 2) | (0x3f << 10),
358 static void jive_lcm_reset(
unsigned int set)
365 #undef LCD_UPPER_MARGIN
366 #define LCD_UPPER_MARGIN 2
372 .reset = jive_lcm_reset,
402 .dev.platform_data = &jive_lcd_spi,
417 .dev.platform_data = &jive_wm8750_spi,
428 .max_speed_hz = 100000,
429 .platform_data = &jive_lcm_config,
432 .modalias =
"WM8750",
436 .max_speed_hz = 100000,
495 #define jive_pm_suspend NULL
496 #define jive_pm_resume NULL
504 static void __init jive_map_io(
void)
511 static void jive_power_off(
void)
519 static void __init jive_machine_init(
void)
659 .atag_offset = 0x100,
662 .map_io = jive_map_io,
663 .init_machine = jive_machine_init,