24 #include <linux/types.h>
28 #include <linux/module.h>
35 #include <linux/input.h>
37 #include <asm/setup.h>
45 #include <mach/hardware.h>
46 #include <mach/board.h>
55 static void __init yl9200_init_early(
void)
67 static struct gpio_led yl9200_leds[] = {
72 .default_trigger =
"timer",
78 .default_trigger =
"heartbeat",
115 .pullup_active_low = 1,
135 .name =
"AT91 NAND partition 1, boot",
140 .name =
"AT91 NAND partition 2, kernel",
145 .name =
"AT91 NAND partition 3, filesystem",
150 .name =
"AT91 NAND partition 4, storage",
155 .name =
"AT91 NAND partition 5, ext-fs",
168 .parts = yl9200_nand_partition,
169 .num_parts =
ARRAY_SIZE(yl9200_nand_partition),
175 #define YL9200_FLASH_BASE AT91_CHIPSELECT_0
176 #define YL9200_FLASH_SIZE SZ_16M
180 .name =
"Bootloader",
191 .name =
"Filesystem",
199 .parts = yl9200_flash_partitions,
200 .nr_parts =
ARRAY_SIZE(yl9200_flash_partitions),
203 static struct resource yl9200_flash_resources[] = {
212 .
name =
"physmap-flash",
215 .platform_data = &yl9200_flash_data,
217 .resource = yl9200_flash_resources,
218 .num_resources =
ARRAY_SIZE(yl9200_flash_resources),
233 #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
275 .platform_data = &yl9200_button_data,
279 static void __init yl9200_add_device_buttons(
void)
296 static void __init yl9200_add_device_buttons(
void) {}
302 #if defined(CONFIG_TOUCHSCREEN_ADS7846) || defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
303 static int ads7843_pendown_state(
void)
314 .vref_delay_usecs = 100,
327 .pressure_max = 15000,
330 .debounce_tol = (~0),
334 static void __init yl9200_add_device_ts(
void)
340 static void __init yl9200_add_device_ts(
void) {}
347 #if defined(CONFIG_TOUCHSCREEN_ADS7846) || defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
351 .max_speed_hz = 5000 * 26,
352 .platform_data = &ads_info,
357 .modalias =
"mcp2510",
359 .max_speed_hz = 25000 * 26,
370 #if defined(CONFIG_FB_S1D13XXX) || defined(CONFIG_FB_S1D13XXX_MODULE)
374 static void yl9200_init_video(
void)
497 .initregssize =
ARRAY_SIZE(yl9200_s1dfb_initregs),
498 .platform_init_video = yl9200_init_video,
501 #define YL9200_FB_REG_BASE AT91_CHIPSELECT_7
502 #define YL9200_FB_VMEM_BASE YL9200_FB_REG_BASE + SZ_2M
503 #define YL9200_FB_VMEM_SIZE SZ_2M
505 static struct resource yl9200_s1dfb_resource[] = {
507 .
name =
"s1d13xxxfb memory",
508 .start = YL9200_FB_VMEM_BASE,
509 .end = YL9200_FB_VMEM_BASE + YL9200_FB_VMEM_SIZE -1,
513 .name =
"s1d13xxxfb registers",
514 .start = YL9200_FB_REG_BASE,
515 .end = YL9200_FB_REG_BASE +
SZ_512 -1,
523 .
name =
"s1d13806fb",
526 .dma_mask = &s1dfb_dmamask,
528 .platform_data = &yl9200_s1dfb_pdata,
530 .resource = yl9200_s1dfb_resource,
531 .num_resources =
ARRAY_SIZE(yl9200_s1dfb_resource),
543 static void __init yl9200_board_init(
void)
574 #if defined(CONFIG_SPI_ATMEL) || defined(CONFIG_SPI_ATMEL_MODULE)
578 yl9200_add_device_ts();
583 yl9200_add_device_buttons();
593 .init_early = yl9200_init_early,
595 .init_machine = yl9200_board_init,