25 #undef GPIO24_SSP1_SFRM
40 #define CMX2XX_NR_IRQS (IRQ_BOARD_START + 40)
43 #define CMX2XX_VIRT_BASE (void __iomem *)(0xe8000000)
44 #define CMX2XX_IT8152_VIRT (CMX2XX_VIRT_BASE)
47 #define CMX255_DM9000_PHYS_BASE (PXA_CS1_PHYS + (8 << 22))
48 #define CMX270_DM9000_PHYS_BASE (PXA_CS1_PHYS + (6 << 22))
51 #define CMX255_GPIO_RED (27)
52 #define CMX255_GPIO_GREEN (32)
53 #define CMX270_GPIO_RED (93)
54 #define CMX270_GPIO_GREEN (94)
57 #define GPIO22_ETHIRQ (22)
58 #define GPIO10_ETHIRQ (10)
59 #define CMX255_GPIO_IT8152_IRQ (0)
60 #define CMX270_GPIO_IT8152_IRQ (22)
62 #define CMX255_ETHIRQ PXA_GPIO_TO_IRQ(GPIO22_ETHIRQ)
63 #define CMX270_ETHIRQ PXA_GPIO_TO_IRQ(GPIO10_ETHIRQ)
65 #if defined(CONFIG_DM9000) || defined(CONFIG_DM9000_MODULE)
66 static struct resource cmx255_dm9000_resource[] = {
84 static struct resource cmx270_dm9000_resource[] = {
109 .num_resources =
ARRAY_SIZE(cmx270_dm9000_resource),
111 .platform_data = &cmx270_dm9000_platdata,
115 static void __init cmx2xx_init_dm9000(
void)
118 cmx2xx_dm9000_device.
resource = cmx255_dm9000_resource;
120 cmx2xx_dm9000_device.
resource = cmx270_dm9000_resource;
124 static inline void cmx2xx_init_dm9000(
void) {}
128 #if defined(CONFIG_TOUCHSCREEN_UCB1400) || defined(CONFIG_TOUCHSCREEN_UCB1400_MODULE)
130 .
name =
"ucb1400_core",
134 static void __init cmx2xx_init_touchscreen(
void)
139 static inline void cmx2xx_init_touchscreen(
void) {}
143 #if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
144 static struct gpio_led cmx2xx_leds[] = {
146 .
name =
"cm-x2xx:red",
147 .default_trigger =
"nand-disk",
151 .name =
"cm-x2xx:green",
152 .default_trigger =
"heartbeat",
166 .platform_data = &cmx2xx_gpio_led_pdata,
170 static void __init cmx2xx_init_leds(
void)
182 static inline void cmx2xx_init_leds(
void) {}
185 #if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE)
191 #define MTYPE_STN320x240 0
192 #define MTYPE_TFT640x480 1
193 #define MTYPE_CRT640x480 2
194 #define MTYPE_CRT800x600 3
195 #define MTYPE_TFT320x240 6
196 #define MTYPE_STN640x480 7
215 .
modes = &generic_stn_320x240_mode,
218 LCD_AC_BIAS_FREQ(0xff),
239 .
modes = &generic_tft_640x480_mode,
242 LCD_AC_BIAS_FREQ(0xff),
264 .
modes = &generic_crt_640x480_mode,
288 .
modes = &generic_crt_800x600_mode,
311 .
modes = &generic_tft_320x240_mode,
335 .
modes = &generic_stn_640x480_mode,
344 static int __init cmx2xx_set_display(
char *
str)
348 case MTYPE_STN320x240:
349 cmx2xx_display = &generic_stn_320x240;
351 case MTYPE_TFT640x480:
352 cmx2xx_display = &generic_tft_640x480;
354 case MTYPE_CRT640x480:
355 cmx2xx_display = &generic_crt_640x480;
357 case MTYPE_CRT800x600:
358 cmx2xx_display = &generic_crt_800x600;
360 case MTYPE_TFT320x240:
361 cmx2xx_display = &generic_tft_320x240;
363 case MTYPE_STN640x480:
364 cmx2xx_display = &generic_stn_640x480;
367 cmx2xx_display = &generic_crt_640x480;
380 __setup(
"monitor=", cmx2xx_set_display);
382 static void __init cmx2xx_init_display(
void)
387 static inline void cmx2xx_init_display(
void) {}
391 static unsigned long sleep_save_msc[10];
393 static int cmx2xx_suspend(
void)
417 static void cmx2xx_resume(
void)
427 static struct syscore_ops cmx2xx_pm_syscore_ops = {
429 .suspend = cmx2xx_suspend,
432 static int __init cmx2xx_pm_init(
void)
439 static int __init cmx2xx_pm_init(
void) {
return 0; }
442 #if defined(CONFIG_SND_PXA2XX_AC97) || defined(CONFIG_SND_PXA2XX_AC97_MODULE)
443 static void __init cmx2xx_init_ac97(
void)
448 static inline void cmx2xx_init_ac97(
void) {}
451 static void __init cmx2xx_init(
void)
464 cmx2xx_init_dm9000();
465 cmx2xx_init_display();
467 cmx2xx_init_touchscreen();
471 static void __init cmx2xx_init_irq(
void)
493 static void __init cmx2xx_map_io(
void)
506 static void __init cmx2xx_map_io(
void)
517 .atag_offset = 0x100,
518 .map_io = cmx2xx_map_io,
520 .init_irq = cmx2xx_init_irq,
524 .init_machine = cmx2xx_init,