# BRCM_VERSION=3
[bcm963xx.git] / kernel / linux / arch / arm / mach-sa1100 / pangolin.c
1 /*
2  * linux/arch/arm/mach-sa1100/pangolin.c
3  */
4 #include <linux/config.h>
5 #include <linux/init.h>
6 #include <linux/kernel.h>
7 #include <linux/tty.h>
8
9 #include <asm/hardware.h>
10 #include <asm/setup.h>
11
12 #include <asm/mach/arch.h>
13 #include <asm/mach/map.h>
14 #include <asm/mach/serial_sa1100.h>
15
16 #include "generic.h"
17
18 static struct map_desc pangolin_io_desc[] __initdata = {
19  /* virtual     physical    length      type */
20   { 0xf2800000, 0x4b800000, 0x00800000, MT_DEVICE } /* MQ200 */
21 };
22
23 static void __init pangolin_map_io(void)
24 {
25         sa1100_map_io();
26         iotable_init(pangolin_io_desc, ARRAY_SIZE(pangolin_io_desc));
27
28         sa1100_register_uart(0, 1);
29         sa1100_register_uart(1, 3);
30         Ser1SDCR0 |= SDCR0_UART;
31
32         /* set some GPDR bits while it's safe */
33         GPDR |= GPIO_PCMCIA_RESET;
34 #ifndef CONFIG_SA1100_PANGOLIN_PCMCIA_IDE
35         GPDR |= GPIO_PCMCIA_BUS_ON;
36 #endif
37 }
38
39 MACHINE_START(PANGOLIN, "Dialogue-Pangolin")
40         BOOT_MEM(0xc0000000, 0x80000000, 0xf8000000)
41         MAPIO(pangolin_map_io)
42         INITIRQ(sa1100_init_irq)
43         INITTIME(sa1100_init_time)
44 MACHINE_END