diff options
Diffstat (limited to 'arch/arm/mach-u300/core.c')
-rw-r--r-- | arch/arm/mach-u300/core.c | 85 |
1 files changed, 16 insertions, 69 deletions
diff --git a/arch/arm/mach-u300/core.c b/arch/arm/mach-u300/core.c index a7b3f36e2262..b911590c8ae7 100644 --- a/arch/arm/mach-u300/core.c +++ b/arch/arm/mach-u300/core.c | |||
@@ -95,19 +95,9 @@ static struct amba_pl011_data uart0_plat_data = { | |||
95 | #endif | 95 | #endif |
96 | }; | 96 | }; |
97 | 97 | ||
98 | static struct amba_device uart0_device = { | 98 | /* Slow device at 0x3000 offset */ |
99 | .dev = { | 99 | static AMBA_APB_DEVICE(uart0, "uart0", 0, U300_UART0_BASE, |
100 | .coherent_dma_mask = ~0, | 100 | { IRQ_U300_UART0 }, &uart0_plat_data); |
101 | .init_name = "uart0", /* Slow device at 0x3000 offset */ | ||
102 | .platform_data = &uart0_plat_data, | ||
103 | }, | ||
104 | .res = { | ||
105 | .start = U300_UART0_BASE, | ||
106 | .end = U300_UART0_BASE + SZ_4K - 1, | ||
107 | .flags = IORESOURCE_MEM, | ||
108 | }, | ||
109 | .irq = { IRQ_U300_UART0, NO_IRQ }, | ||
110 | }; | ||
111 | 101 | ||
112 | /* The U335 have an additional UART1 on the APP CPU */ | 102 | /* The U335 have an additional UART1 on the APP CPU */ |
113 | #ifdef CONFIG_MACH_U300_BS335 | 103 | #ifdef CONFIG_MACH_U300_BS335 |
@@ -119,71 +109,28 @@ static struct amba_pl011_data uart1_plat_data = { | |||
119 | #endif | 109 | #endif |
120 | }; | 110 | }; |
121 | 111 | ||
122 | static struct amba_device uart1_device = { | 112 | /* Fast device at 0x7000 offset */ |
123 | .dev = { | 113 | static AMBA_APB_DEVICE(uart1, "uart1", 0, U300_UART1_BASE, |
124 | .coherent_dma_mask = ~0, | 114 | { IRQ_U300_UART1 }, &uart1_plat_data); |
125 | .init_name = "uart1", /* Fast device at 0x7000 offset */ | ||
126 | .platform_data = &uart1_plat_data, | ||
127 | }, | ||
128 | .res = { | ||
129 | .start = U300_UART1_BASE, | ||
130 | .end = U300_UART1_BASE + SZ_4K - 1, | ||
131 | .flags = IORESOURCE_MEM, | ||
132 | }, | ||
133 | .irq = { IRQ_U300_UART1, NO_IRQ }, | ||
134 | }; | ||
135 | #endif | 115 | #endif |
136 | 116 | ||
137 | static struct amba_device pl172_device = { | 117 | /* AHB device at 0x4000 offset */ |
138 | .dev = { | 118 | static AMBA_APB_DEVICE(pl172, "pl172", 0, U300_EMIF_CFG_BASE, { }, NULL); |
139 | .init_name = "pl172", /* AHB device at 0x4000 offset */ | ||
140 | .platform_data = NULL, | ||
141 | }, | ||
142 | .res = { | ||
143 | .start = U300_EMIF_CFG_BASE, | ||
144 | .end = U300_EMIF_CFG_BASE + SZ_4K - 1, | ||
145 | .flags = IORESOURCE_MEM, | ||
146 | }, | ||
147 | }; | ||
148 | 119 | ||
149 | 120 | ||
150 | /* | 121 | /* |
151 | * Everything within this next ifdef deals with external devices connected to | 122 | * Everything within this next ifdef deals with external devices connected to |
152 | * the APP SPI bus. | 123 | * the APP SPI bus. |
153 | */ | 124 | */ |
154 | static struct amba_device pl022_device = { | 125 | /* Fast device at 0x6000 offset */ |
155 | .dev = { | 126 | static AMBA_APB_DEVICE(pl022, "pl022", 0, U300_SPI_BASE, |
156 | .coherent_dma_mask = ~0, | 127 | { IRQ_U300_SPI }, NULL); |
157 | .init_name = "pl022", /* Fast device at 0x6000 offset */ | ||
158 | }, | ||
159 | .res = { | ||
160 | .start = U300_SPI_BASE, | ||
161 | .end = U300_SPI_BASE + SZ_4K - 1, | ||
162 | .flags = IORESOURCE_MEM, | ||
163 | }, | ||
164 | .irq = {IRQ_U300_SPI, NO_IRQ }, | ||
165 | /* | ||
166 | * This device has a DMA channel but the Linux driver does not use | ||
167 | * it currently. | ||
168 | */ | ||
169 | }; | ||
170 | 128 | ||
171 | static struct amba_device mmcsd_device = { | 129 | /* Fast device at 0x1000 offset */ |
172 | .dev = { | 130 | #define U300_MMCSD_IRQS { IRQ_U300_MMCSD_MCIINTR0, IRQ_U300_MMCSD_MCIINTR1 } |
173 | .init_name = "mmci", /* Fast device at 0x1000 offset */ | 131 | |
174 | .platform_data = NULL, /* Added later */ | 132 | static AMBA_APB_DEVICE(mmcsd, "mmci", 0, U300_MMCSD_BASE, |
175 | }, | 133 | U300_MMCSD_IRQS, NULL); |
176 | .res = { | ||
177 | .start = U300_MMCSD_BASE, | ||
178 | .end = U300_MMCSD_BASE + SZ_4K - 1, | ||
179 | .flags = IORESOURCE_MEM, | ||
180 | }, | ||
181 | .irq = {IRQ_U300_MMCSD_MCIINTR0, IRQ_U300_MMCSD_MCIINTR1 }, | ||
182 | /* | ||
183 | * This device has a DMA channel but the Linux driver does not use | ||
184 | * it currently. | ||
185 | */ | ||
186 | }; | ||
187 | 134 | ||
188 | /* | 135 | /* |
189 | * The order of device declaration may be important, since some devices | 136 | * The order of device declaration may be important, since some devices |