diff options
Diffstat (limited to 'arch/arm/mach-sa1100/cerf.c')
-rw-r--r-- | arch/arm/mach-sa1100/cerf.c | 28 |
1 files changed, 6 insertions, 22 deletions
diff --git a/arch/arm/mach-sa1100/cerf.c b/arch/arm/mach-sa1100/cerf.c index d12d0f48b1dc..4a61f60e0502 100644 --- a/arch/arm/mach-sa1100/cerf.c +++ b/arch/arm/mach-sa1100/cerf.c | |||
@@ -18,7 +18,6 @@ | |||
18 | #include <linux/mtd/mtd.h> | 18 | #include <linux/mtd/mtd.h> |
19 | #include <linux/mtd/partitions.h> | 19 | #include <linux/mtd/partitions.h> |
20 | 20 | ||
21 | #include <asm/irq.h> | ||
22 | #include <mach/hardware.h> | 21 | #include <mach/hardware.h> |
23 | #include <asm/setup.h> | 22 | #include <asm/setup.h> |
24 | 23 | ||
@@ -30,14 +29,11 @@ | |||
30 | 29 | ||
31 | #include <mach/cerf.h> | 30 | #include <mach/cerf.h> |
32 | #include <mach/mcp.h> | 31 | #include <mach/mcp.h> |
32 | #include <mach/irqs.h> | ||
33 | #include "generic.h" | 33 | #include "generic.h" |
34 | 34 | ||
35 | static struct resource cerfuart2_resources[] = { | 35 | static struct resource cerfuart2_resources[] = { |
36 | [0] = { | 36 | [0] = DEFINE_RES_MEM(0x80030000, SZ_64K), |
37 | .start = 0x80030000, | ||
38 | .end = 0x8003ffff, | ||
39 | .flags = IORESOURCE_MEM, | ||
40 | }, | ||
41 | }; | 37 | }; |
42 | 38 | ||
43 | static struct platform_device cerfuart2_device = { | 39 | static struct platform_device cerfuart2_device = { |
@@ -87,11 +83,8 @@ static struct flash_platform_data cerf_flash_data = { | |||
87 | .nr_parts = ARRAY_SIZE(cerf_partitions), | 83 | .nr_parts = ARRAY_SIZE(cerf_partitions), |
88 | }; | 84 | }; |
89 | 85 | ||
90 | static struct resource cerf_flash_resource = { | 86 | static struct resource cerf_flash_resource = |
91 | .start = SA1100_CS0_PHYS, | 87 | DEFINE_RES_MEM(SA1100_CS0_PHYS, SZ_32M); |
92 | .end = SA1100_CS0_PHYS + SZ_32M - 1, | ||
93 | .flags = IORESOURCE_MEM, | ||
94 | }; | ||
95 | 88 | ||
96 | static void __init cerf_init_irq(void) | 89 | static void __init cerf_init_irq(void) |
97 | { | 90 | { |
@@ -124,29 +117,20 @@ static void __init cerf_map_io(void) | |||
124 | static struct mcp_plat_data cerf_mcp_data = { | 117 | static struct mcp_plat_data cerf_mcp_data = { |
125 | .mccr0 = MCCR0_ADM, | 118 | .mccr0 = MCCR0_ADM, |
126 | .sclk_rate = 11981000, | 119 | .sclk_rate = 11981000, |
127 | .codec = "ucb1x00", | ||
128 | }; | 120 | }; |
129 | 121 | ||
130 | static void __init cerf_init(void) | 122 | static void __init cerf_init(void) |
131 | { | 123 | { |
124 | sa11x0_ppc_configure_mcp(); | ||
132 | platform_add_devices(cerf_devices, ARRAY_SIZE(cerf_devices)); | 125 | platform_add_devices(cerf_devices, ARRAY_SIZE(cerf_devices)); |
133 | sa11x0_register_mtd(&cerf_flash_data, &cerf_flash_resource, 1); | 126 | sa11x0_register_mtd(&cerf_flash_data, &cerf_flash_resource, 1); |
134 | |||
135 | /* | ||
136 | * Setup the PPC unit correctly. | ||
137 | */ | ||
138 | PPDR &= ~PPC_RXD4; | ||
139 | PPDR |= PPC_TXD4 | PPC_SCLK | PPC_SFRM; | ||
140 | PSDR |= PPC_RXD4; | ||
141 | PSDR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); | ||
142 | PPSR &= ~(PPC_TXD4 | PPC_SCLK | PPC_SFRM); | ||
143 | |||
144 | sa11x0_register_mcp(&cerf_mcp_data); | 127 | sa11x0_register_mcp(&cerf_mcp_data); |
145 | } | 128 | } |
146 | 129 | ||
147 | MACHINE_START(CERF, "Intrinsyc CerfBoard/CerfCube") | 130 | MACHINE_START(CERF, "Intrinsyc CerfBoard/CerfCube") |
148 | /* Maintainer: support@intrinsyc.com */ | 131 | /* Maintainer: support@intrinsyc.com */ |
149 | .map_io = cerf_map_io, | 132 | .map_io = cerf_map_io, |
133 | .nr_irqs = SA1100_NR_IRQS, | ||
150 | .init_irq = cerf_init_irq, | 134 | .init_irq = cerf_init_irq, |
151 | .timer = &sa1100_timer, | 135 | .timer = &sa1100_timer, |
152 | .init_machine = cerf_init, | 136 | .init_machine = cerf_init, |