10 #include <linux/module.h>
11 #include <linux/kernel.h>
13 #include <linux/list.h>
19 #include <mach/addr-map.h>
21 #include <mach/cputype.h>
22 #include <mach/irqs.h>
25 #include <mach/devices.h>
29 #define MFPR_VIRT_BASE (APB_VIRT_BASE + 0x1e000)
31 static struct mfp_addr_map pxa910_mfp_addr_map[]
__initdata =
40 MFP_ADDR(DF_IO0, 0x40),
41 MFP_ADDR(DF_IO1, 0x3c),
42 MFP_ADDR(DF_IO2, 0x38),
43 MFP_ADDR(DF_IO3, 0x34),
44 MFP_ADDR(DF_IO4, 0x30),
45 MFP_ADDR(DF_IO5, 0x2c),
46 MFP_ADDR(DF_IO6, 0x28),
47 MFP_ADDR(DF_IO7, 0x24),
48 MFP_ADDR(DF_IO8, 0x20),
49 MFP_ADDR(DF_IO9, 0x1c),
50 MFP_ADDR(DF_IO10, 0x18),
51 MFP_ADDR(DF_IO11, 0x14),
52 MFP_ADDR(DF_IO12, 0x10),
53 MFP_ADDR(DF_IO13, 0
xc),
54 MFP_ADDR(DF_IO14, 0x8),
55 MFP_ADDR(DF_IO15, 0x4),
57 MFP_ADDR(DF_nCS0_SM_nCS2, 0x44),
58 MFP_ADDR(DF_nCS1_SM_nCS3, 0x48),
59 MFP_ADDR(SM_nCS0, 0x4c),
60 MFP_ADDR(SM_nCS1, 0x50),
61 MFP_ADDR(DF_WEn, 0x54),
62 MFP_ADDR(DF_REn, 0x58),
63 MFP_ADDR(DF_CLE_SM_OEn, 0x5c),
64 MFP_ADDR(DF_ALE_SM_WEn, 0x60),
66 MFP_ADDR(DF_RDY0, 0x68),
67 MFP_ADDR(SM_BE0, 0x6c),
68 MFP_ADDR(SM_BE1, 0x70),
70 MFP_ADDR(DF_RDY1, 0x78),
84 static int __init pxa910_init(
void)
87 #ifdef CONFIG_CACHE_TAUROS2
101 #define TIMER_CLK_RST (APBC_APBCLK | APBC_FNCLK | APBC_FNCLKSEL(3))
102 #define APBC_TIMERS APBC_REG(0x34)
104 static void __init pxa910_timer_init(
void)
114 .init = pxa910_timer_init,
132 PXA910_DEVICE(uart1,
"pxa2xx-uart", 0, UART2, 0xd4017000, 0x30, 21, 22);
133 PXA910_DEVICE(uart2,
"pxa2xx-uart", 1, UART3, 0xd4018000, 0x30, 23, 24);
134 PXA910_DEVICE(twsi0,
"pxa2xx-i2c", 0, TWSI0, 0xd4011000, 0x28);
135 PXA910_DEVICE(twsi1,
"pxa2xx-i2c", 1, TWSI1, 0xd4025000, 0x28);
140 PXA910_DEVICE(nand,
"pxa3xx-nand", -1, NAND, 0xd4283000, 0x80, 97, 99);
158 .num_resources =
ARRAY_SIZE(pxa910_resource_gpio),
162 static struct resource pxa910_resource_rtc[] = {
181 .name =
"sa1100-rtc",
183 .num_resources =
ARRAY_SIZE(pxa910_resource_rtc),
184 .resource = pxa910_resource_rtc,