diff options
author | Andrew Victor <andrew@sanpeople.com> | 2007-02-08 03:00:39 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-02-08 09:55:22 -0500 |
commit | d0760b3bc8ff9b34e3e2e166e2102548a24751b4 (patch) | |
tree | 1ff9a9acf479b75e2d8dc23f1b894e5ac12c8d1d /arch/arm/mach-at91 | |
parent | 9d0412680e6c7b685ee466842047bcfb924d6dc5 (diff) |
[ARM] 4143/1: AT91: Prepare for AT91SAM9263 support
The Atmel AT91SAM9263 processor includes many more integrated
peripherals than Atmel's previous ARM9-based AT91 processors, so this
has necessitated a few changes to the core AT91 support.
These changes are:
* The system peripheral I/O region we remap has increased from
0xFFFA0000..0xFFFFFFFF to 0xFFF78000..0xFFFFFFFF.
* The increased I/O region forces changes to entry-macro.S and
debug-macro.S due to ARM's limited immediate offset addressing
modes.
* Maximum number of GPIO banks increases to 5.
* 2 MMC controllers so the board-setup code needs to specify which
controller it wishes to use when calling at91_add_device_mmc().
Original patch from Nicolas Ferre.
Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-at91')
-rw-r--r-- | arch/arm/mach-at91/at91rm9200_devices.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9260_devices.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-at91/at91sam9261_devices.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-at91/board-carmeva.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/board-csb337.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/board-dk.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/board-eb9200.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/board-ek.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/board-kb9202.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-at91/board-sam9260ek.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-at91/board-sam9261ek.c | 4 |
11 files changed, 16 insertions, 16 deletions
diff --git a/arch/arm/mach-at91/at91rm9200_devices.c b/arch/arm/mach-at91/at91rm9200_devices.c index a06498ccc826..077c81f9bc56 100644 --- a/arch/arm/mach-at91/at91rm9200_devices.c +++ b/arch/arm/mach-at91/at91rm9200_devices.c | |||
@@ -315,7 +315,7 @@ static struct platform_device at91rm9200_mmc_device = { | |||
315 | .num_resources = ARRAY_SIZE(mmc_resources), | 315 | .num_resources = ARRAY_SIZE(mmc_resources), |
316 | }; | 316 | }; |
317 | 317 | ||
318 | void __init at91_add_device_mmc(struct at91_mmc_data *data) | 318 | void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) |
319 | { | 319 | { |
320 | if (!data) | 320 | if (!data) |
321 | return; | 321 | return; |
@@ -361,7 +361,7 @@ void __init at91_add_device_mmc(struct at91_mmc_data *data) | |||
361 | platform_device_register(&at91rm9200_mmc_device); | 361 | platform_device_register(&at91rm9200_mmc_device); |
362 | } | 362 | } |
363 | #else | 363 | #else |
364 | void __init at91_add_device_mmc(struct at91_mmc_data *data) {} | 364 | void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {} |
365 | #endif | 365 | #endif |
366 | 366 | ||
367 | 367 | ||
diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c index 4adff70b9ba0..b5d8968e29a7 100644 --- a/arch/arm/mach-at91/at91sam9260_devices.c +++ b/arch/arm/mach-at91/at91sam9260_devices.c | |||
@@ -229,7 +229,7 @@ static struct platform_device at91sam9260_mmc_device = { | |||
229 | .num_resources = ARRAY_SIZE(mmc_resources), | 229 | .num_resources = ARRAY_SIZE(mmc_resources), |
230 | }; | 230 | }; |
231 | 231 | ||
232 | void __init at91_add_device_mmc(struct at91_mmc_data *data) | 232 | void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) |
233 | { | 233 | { |
234 | if (!data) | 234 | if (!data) |
235 | return; | 235 | return; |
@@ -275,7 +275,7 @@ void __init at91_add_device_mmc(struct at91_mmc_data *data) | |||
275 | platform_device_register(&at91sam9260_mmc_device); | 275 | platform_device_register(&at91sam9260_mmc_device); |
276 | } | 276 | } |
277 | #else | 277 | #else |
278 | void __init at91_add_device_mmc(struct at91_mmc_data *data) {} | 278 | void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {} |
279 | #endif | 279 | #endif |
280 | 280 | ||
281 | 281 | ||
diff --git a/arch/arm/mach-at91/at91sam9261_devices.c b/arch/arm/mach-at91/at91sam9261_devices.c index 3249de08d1f3..b2f6d33d0f8c 100644 --- a/arch/arm/mach-at91/at91sam9261_devices.c +++ b/arch/arm/mach-at91/at91sam9261_devices.c | |||
@@ -159,7 +159,7 @@ static struct platform_device at91sam9261_mmc_device = { | |||
159 | .num_resources = ARRAY_SIZE(mmc_resources), | 159 | .num_resources = ARRAY_SIZE(mmc_resources), |
160 | }; | 160 | }; |
161 | 161 | ||
162 | void __init at91_add_device_mmc(struct at91_mmc_data *data) | 162 | void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) |
163 | { | 163 | { |
164 | if (!data) | 164 | if (!data) |
165 | return; | 165 | return; |
@@ -192,7 +192,7 @@ void __init at91_add_device_mmc(struct at91_mmc_data *data) | |||
192 | platform_device_register(&at91sam9261_mmc_device); | 192 | platform_device_register(&at91sam9261_mmc_device); |
193 | } | 193 | } |
194 | #else | 194 | #else |
195 | void __init at91_add_device_mmc(struct at91_mmc_data *data) {} | 195 | void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {} |
196 | #endif | 196 | #endif |
197 | 197 | ||
198 | 198 | ||
diff --git a/arch/arm/mach-at91/board-carmeva.c b/arch/arm/mach-at91/board-carmeva.c index a0815322f685..b4518619063a 100644 --- a/arch/arm/mach-at91/board-carmeva.c +++ b/arch/arm/mach-at91/board-carmeva.c | |||
@@ -134,7 +134,7 @@ static void __init carmeva_board_init(void) | |||
134 | /* Compact Flash */ | 134 | /* Compact Flash */ |
135 | // at91_add_device_cf(&carmeva_cf_data); | 135 | // at91_add_device_cf(&carmeva_cf_data); |
136 | /* MMC */ | 136 | /* MMC */ |
137 | at91_add_device_mmc(&carmeva_mmc_data); | 137 | at91_add_device_mmc(0, &carmeva_mmc_data); |
138 | } | 138 | } |
139 | 139 | ||
140 | MACHINE_START(CARMEVA, "Carmeva") | 140 | MACHINE_START(CARMEVA, "Carmeva") |
diff --git a/arch/arm/mach-at91/board-csb337.c b/arch/arm/mach-at91/board-csb337.c index 45d6d9b8f5e9..871c6609d6ec 100644 --- a/arch/arm/mach-at91/board-csb337.c +++ b/arch/arm/mach-at91/board-csb337.c | |||
@@ -130,7 +130,7 @@ static void __init csb337_board_init(void) | |||
130 | /* SPI */ | 130 | /* SPI */ |
131 | at91_add_device_spi(csb337_spi_devices, ARRAY_SIZE(csb337_spi_devices)); | 131 | at91_add_device_spi(csb337_spi_devices, ARRAY_SIZE(csb337_spi_devices)); |
132 | /* MMC */ | 132 | /* MMC */ |
133 | at91_add_device_mmc(&csb337_mmc_data); | 133 | at91_add_device_mmc(0, &csb337_mmc_data); |
134 | } | 134 | } |
135 | 135 | ||
136 | MACHINE_START(CSB337, "Cogent CSB337") | 136 | MACHINE_START(CSB337, "Cogent CSB337") |
diff --git a/arch/arm/mach-at91/board-dk.c b/arch/arm/mach-at91/board-dk.c index 7401dbe1b474..6043c38c0a9e 100644 --- a/arch/arm/mach-at91/board-dk.c +++ b/arch/arm/mach-at91/board-dk.c | |||
@@ -194,7 +194,7 @@ static void __init dk_board_init(void) | |||
194 | #else | 194 | #else |
195 | /* MMC */ | 195 | /* MMC */ |
196 | at91_set_gpio_output(AT91_PIN_PB7, 1); /* this MMC card slot can optionally use SPI signaling (CS3). */ | 196 | at91_set_gpio_output(AT91_PIN_PB7, 1); /* this MMC card slot can optionally use SPI signaling (CS3). */ |
197 | at91_add_device_mmc(&dk_mmc_data); | 197 | at91_add_device_mmc(0, &dk_mmc_data); |
198 | #endif | 198 | #endif |
199 | /* NAND */ | 199 | /* NAND */ |
200 | at91_add_device_nand(&dk_nand_data); | 200 | at91_add_device_nand(&dk_nand_data); |
diff --git a/arch/arm/mach-at91/board-eb9200.c b/arch/arm/mach-at91/board-eb9200.c index 56d5ef63e04e..20458b5548f0 100644 --- a/arch/arm/mach-at91/board-eb9200.c +++ b/arch/arm/mach-at91/board-eb9200.c | |||
@@ -109,7 +109,7 @@ static void __init eb9200_board_init(void) | |||
109 | at91_add_device_spi(NULL, 0); | 109 | at91_add_device_spi(NULL, 0); |
110 | /* MMC */ | 110 | /* MMC */ |
111 | /* only supports 1 or 4 bit interface, not wired through to SPI */ | 111 | /* only supports 1 or 4 bit interface, not wired through to SPI */ |
112 | at91_add_device_mmc(&eb9200_mmc_data); | 112 | at91_add_device_mmc(0, &eb9200_mmc_data); |
113 | } | 113 | } |
114 | 114 | ||
115 | MACHINE_START(ATEB9200, "Embest ATEB9200") | 115 | MACHINE_START(ATEB9200, "Embest ATEB9200") |
diff --git a/arch/arm/mach-at91/board-ek.c b/arch/arm/mach-at91/board-ek.c index 0f589dd7d1a9..322fdd75a1e4 100644 --- a/arch/arm/mach-at91/board-ek.c +++ b/arch/arm/mach-at91/board-ek.c | |||
@@ -154,7 +154,7 @@ static void __init ek_board_init(void) | |||
154 | #else | 154 | #else |
155 | /* MMC */ | 155 | /* MMC */ |
156 | at91_set_gpio_output(AT91_PIN_PB22, 1); /* this MMC card slot can optionally use SPI signaling (CS3). */ | 156 | at91_set_gpio_output(AT91_PIN_PB22, 1); /* this MMC card slot can optionally use SPI signaling (CS3). */ |
157 | at91_add_device_mmc(&ek_mmc_data); | 157 | at91_add_device_mmc(0, &ek_mmc_data); |
158 | #endif | 158 | #endif |
159 | /* NOR Flash */ | 159 | /* NOR Flash */ |
160 | platform_device_register(&ek_flash); | 160 | platform_device_register(&ek_flash); |
diff --git a/arch/arm/mach-at91/board-kb9202.c b/arch/arm/mach-at91/board-kb9202.c index 17e68f5efb13..76f6e1e553ea 100644 --- a/arch/arm/mach-at91/board-kb9202.c +++ b/arch/arm/mach-at91/board-kb9202.c | |||
@@ -122,7 +122,7 @@ static void __init kb9202_board_init(void) | |||
122 | /* USB Device */ | 122 | /* USB Device */ |
123 | at91_add_device_udc(&kb9202_udc_data); | 123 | at91_add_device_udc(&kb9202_udc_data); |
124 | /* MMC */ | 124 | /* MMC */ |
125 | at91_add_device_mmc(&kb9202_mmc_data); | 125 | at91_add_device_mmc(0, &kb9202_mmc_data); |
126 | /* I2C */ | 126 | /* I2C */ |
127 | at91_add_device_i2c(); | 127 | at91_add_device_i2c(); |
128 | /* SPI */ | 128 | /* SPI */ |
diff --git a/arch/arm/mach-at91/board-sam9260ek.c b/arch/arm/mach-at91/board-sam9260ek.c index 6ae272d224e5..57fb4499d969 100644 --- a/arch/arm/mach-at91/board-sam9260ek.c +++ b/arch/arm/mach-at91/board-sam9260ek.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * linux/arch/arm/mach-at91/board-ek.c | 2 | * linux/arch/arm/mach-at91/board-sam9260ek.c |
3 | * | 3 | * |
4 | * Copyright (C) 2005 SAN People | 4 | * Copyright (C) 2005 SAN People |
5 | * Copyright (C) 2006 Atmel | 5 | * Copyright (C) 2006 Atmel |
@@ -187,7 +187,7 @@ static void __init ek_board_init(void) | |||
187 | /* Ethernet */ | 187 | /* Ethernet */ |
188 | at91_add_device_eth(&ek_macb_data); | 188 | at91_add_device_eth(&ek_macb_data); |
189 | /* MMC */ | 189 | /* MMC */ |
190 | at91_add_device_mmc(&ek_mmc_data); | 190 | at91_add_device_mmc(0, &ek_mmc_data); |
191 | } | 191 | } |
192 | 192 | ||
193 | MACHINE_START(AT91SAM9260EK, "Atmel AT91SAM9260-EK") | 193 | MACHINE_START(AT91SAM9260EK, "Atmel AT91SAM9260-EK") |
diff --git a/arch/arm/mach-at91/board-sam9261ek.c b/arch/arm/mach-at91/board-sam9261ek.c index 25d626348e6d..b7e772467cf6 100644 --- a/arch/arm/mach-at91/board-sam9261ek.c +++ b/arch/arm/mach-at91/board-sam9261ek.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * linux/arch/arm/mach-at91/board-ek.c | 2 | * linux/arch/arm/mach-at91/board-sam9261ek.c |
3 | * | 3 | * |
4 | * Copyright (C) 2005 SAN People | 4 | * Copyright (C) 2005 SAN People |
5 | * Copyright (C) 2006 Atmel | 5 | * Copyright (C) 2006 Atmel |
@@ -243,7 +243,7 @@ static void __init ek_board_init(void) | |||
243 | at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices)); | 243 | at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices)); |
244 | #else | 244 | #else |
245 | /* MMC */ | 245 | /* MMC */ |
246 | at91_add_device_mmc(&ek_mmc_data); | 246 | at91_add_device_mmc(0, &ek_mmc_data); |
247 | #endif | 247 | #endif |
248 | } | 248 | } |
249 | 249 | ||