diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-at91/Kconfig | 20 | ||||
-rw-r--r-- | arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c | 23 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/common.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-kirkwood/include/mach/bridge-regs.h | 3 | ||||
-rw-r--r-- | arch/arm/mach-mmp/include/mach/mfp-pxa910.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/colibri-pxa320.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-pxa/hx4700.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/include/mach/entry-macro.S | 1 | ||||
-rw-r--r-- | arch/arm/mach-u300/core.c | 2 | ||||
-rw-r--r-- | arch/arm/plat-pxa/include/plat/mfp.h | 2 | ||||
-rw-r--r-- | arch/arm/plat-pxa/mfp.c | 4 |
11 files changed, 47 insertions, 24 deletions
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig index e35d54d43e70..2fd88437348b 100644 --- a/arch/arm/mach-at91/Kconfig +++ b/arch/arm/mach-at91/Kconfig | |||
@@ -289,13 +289,6 @@ config MACH_NEOCORE926 | |||
289 | help | 289 | help |
290 | Select this if you are using the Adeneo Neocore 926 board. | 290 | Select this if you are using the Adeneo Neocore 926 board. |
291 | 291 | ||
292 | config MACH_AT91SAM9G20EK_2MMC | ||
293 | bool "Atmel AT91SAM9G20-EK Evaluation Kit modified for 2 MMC Slots" | ||
294 | depends on ARCH_AT91SAM9G20 | ||
295 | help | ||
296 | Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit | ||
297 | Rev A or B modified for 2 MMC Slots. | ||
298 | |||
299 | endif | 292 | endif |
300 | 293 | ||
301 | # ---------------------------------------------------------- | 294 | # ---------------------------------------------------------- |
@@ -322,7 +315,16 @@ config MACH_AT91SAM9G20EK | |||
322 | bool "Atmel AT91SAM9G20-EK Evaluation Kit" | 315 | bool "Atmel AT91SAM9G20-EK Evaluation Kit" |
323 | depends on ARCH_AT91SAM9G20 | 316 | depends on ARCH_AT91SAM9G20 |
324 | help | 317 | help |
325 | Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit. | 318 | Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit |
319 | that embeds only one SD/MMC slot. | ||
320 | |||
321 | config MACH_AT91SAM9G20EK_2MMC | ||
322 | bool "Atmel AT91SAM9G20-EK Evaluation Kit with 2 SD/MMC Slots" | ||
323 | depends on ARCH_AT91SAM9G20 | ||
324 | help | ||
325 | Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit | ||
326 | with 2 SD/MMC Slots. This is the case for AT91SAM9G20-EK rev. C and | ||
327 | onwards. | ||
326 | 328 | ||
327 | config MACH_CPU9G20 | 329 | config MACH_CPU9G20 |
328 | bool "Eukrea CPU9G20 board" | 330 | bool "Eukrea CPU9G20 board" |
@@ -392,7 +394,7 @@ config MTD_AT91_DATAFLASH_CARD | |||
392 | 394 | ||
393 | config MTD_NAND_ATMEL_BUSWIDTH_16 | 395 | config MTD_NAND_ATMEL_BUSWIDTH_16 |
394 | bool "Enable 16-bit data bus interface to NAND flash" | 396 | bool "Enable 16-bit data bus interface to NAND flash" |
395 | depends on (MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9G10EK || MACH_AT91SAM9263EK || MACH_AT91SAM9G20EK || MACH_AT91SAM9G45EKES || MACH_AT91CAP9ADK) | 397 | depends on (MACH_AT91SAM9260EK || MACH_AT91SAM9261EK || MACH_AT91SAM9G10EK || MACH_AT91SAM9263EK || MACH_AT91SAM9G20EK || MACH_AT91SAM9G20EK_2MMC || MACH_AT91SAM9G45EKES || MACH_AT91CAP9ADK) |
396 | help | 398 | help |
397 | On AT91SAM926x boards both types of NAND flash can be present | 399 | On AT91SAM926x boards both types of NAND flash can be present |
398 | (8 and 16 bit data bus width). | 400 | (8 and 16 bit data bus width). |
diff --git a/arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c b/arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c index a28e53faf71d..a4102d72cc9b 100644 --- a/arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c +++ b/arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c | |||
@@ -90,7 +90,7 @@ static struct at91_udc_data __initdata ek_udc_data = { | |||
90 | * SPI devices. | 90 | * SPI devices. |
91 | */ | 91 | */ |
92 | static struct spi_board_info ek_spi_devices[] = { | 92 | static struct spi_board_info ek_spi_devices[] = { |
93 | #if !defined(CONFIG_MMC_ATMELMCI) | 93 | #if !(defined(CONFIG_MMC_ATMELMCI) || defined(CONFIG_MMC_AT91)) |
94 | { /* DataFlash chip */ | 94 | { /* DataFlash chip */ |
95 | .modalias = "mtd_dataflash", | 95 | .modalias = "mtd_dataflash", |
96 | .chip_select = 1, | 96 | .chip_select = 1, |
@@ -113,7 +113,7 @@ static struct spi_board_info ek_spi_devices[] = { | |||
113 | * MACB Ethernet device | 113 | * MACB Ethernet device |
114 | */ | 114 | */ |
115 | static struct at91_eth_data __initdata ek_macb_data = { | 115 | static struct at91_eth_data __initdata ek_macb_data = { |
116 | .phy_irq_pin = AT91_PIN_PC12, | 116 | .phy_irq_pin = AT91_PIN_PB0, |
117 | .is_rmii = 1, | 117 | .is_rmii = 1, |
118 | }; | 118 | }; |
119 | 119 | ||
@@ -194,24 +194,27 @@ static void __init ek_add_device_nand(void) | |||
194 | 194 | ||
195 | /* | 195 | /* |
196 | * MCI (SD/MMC) | 196 | * MCI (SD/MMC) |
197 | * det_pin and wp_pin are not connected | 197 | * wp_pin is not connected |
198 | */ | 198 | */ |
199 | #if defined(CONFIG_MMC_ATMELMCI) || defined(CONFIG_MMC_ATMELMCI_MODULE) | 199 | #if defined(CONFIG_MMC_ATMELMCI) || defined(CONFIG_MMC_ATMELMCI_MODULE) |
200 | static struct mci_platform_data __initdata ek_mmc_data = { | 200 | static struct mci_platform_data __initdata ek_mmc_data = { |
201 | .slot[0] = { | 201 | .slot[0] = { |
202 | .bus_width = 4, | 202 | .bus_width = 4, |
203 | .detect_pin = -ENODEV, | 203 | .detect_pin = AT91_PIN_PC2, |
204 | .wp_pin = -ENODEV, | 204 | .wp_pin = -ENODEV, |
205 | }, | 205 | }, |
206 | .slot[1] = { | 206 | .slot[1] = { |
207 | .bus_width = 4, | 207 | .bus_width = 4, |
208 | .detect_pin = -ENODEV, | 208 | .detect_pin = AT91_PIN_PC9, |
209 | .wp_pin = -ENODEV, | 209 | .wp_pin = -ENODEV, |
210 | }, | 210 | }, |
211 | 211 | ||
212 | }; | 212 | }; |
213 | #else | 213 | #else |
214 | static struct amci_platform_data __initdata ek_mmc_data = { | 214 | static struct at91_mmc_data __initdata ek_mmc_data = { |
215 | .slot_b = 1, /* Only one slot so use slot B */ | ||
216 | .wire4 = 1, | ||
217 | .det_pin = AT91_PIN_PC9, | ||
215 | }; | 218 | }; |
216 | #endif | 219 | #endif |
217 | 220 | ||
@@ -221,13 +224,13 @@ static struct amci_platform_data __initdata ek_mmc_data = { | |||
221 | static struct gpio_led ek_leds[] = { | 224 | static struct gpio_led ek_leds[] = { |
222 | { /* "bottom" led, green, userled1 to be defined */ | 225 | { /* "bottom" led, green, userled1 to be defined */ |
223 | .name = "ds5", | 226 | .name = "ds5", |
224 | .gpio = AT91_PIN_PB12, | 227 | .gpio = AT91_PIN_PB8, |
225 | .active_low = 1, | 228 | .active_low = 1, |
226 | .default_trigger = "none", | 229 | .default_trigger = "none", |
227 | }, | 230 | }, |
228 | { /* "power" led, yellow */ | 231 | { /* "power" led, yellow */ |
229 | .name = "ds1", | 232 | .name = "ds1", |
230 | .gpio = AT91_PIN_PB13, | 233 | .gpio = AT91_PIN_PB9, |
231 | .default_trigger = "heartbeat", | 234 | .default_trigger = "heartbeat", |
232 | } | 235 | } |
233 | }; | 236 | }; |
@@ -254,7 +257,11 @@ static void __init ek_board_init(void) | |||
254 | /* Ethernet */ | 257 | /* Ethernet */ |
255 | at91_add_device_eth(&ek_macb_data); | 258 | at91_add_device_eth(&ek_macb_data); |
256 | /* MMC */ | 259 | /* MMC */ |
260 | #if defined(CONFIG_MMC_ATMELMCI) || defined(CONFIG_MMC_ATMELMCI_MODULE) | ||
257 | at91_add_device_mci(0, &ek_mmc_data); | 261 | at91_add_device_mci(0, &ek_mmc_data); |
262 | #else | ||
263 | at91_add_device_mmc(0, &ek_mmc_data); | ||
264 | #endif | ||
258 | /* I2C */ | 265 | /* I2C */ |
259 | at91_add_device_i2c(ek_i2c_devices, ARRAY_SIZE(ek_i2c_devices)); | 266 | at91_add_device_i2c(ek_i2c_devices, ARRAY_SIZE(ek_i2c_devices)); |
260 | /* LEDs */ | 267 | /* LEDs */ |
diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c index 7177c4aa6342..242dd0775343 100644 --- a/arch/arm/mach-kirkwood/common.c +++ b/arch/arm/mach-kirkwood/common.c | |||
@@ -915,6 +915,14 @@ void __init kirkwood_init(void) | |||
915 | kirkwood_uart0_data[0].uartclk = kirkwood_tclk; | 915 | kirkwood_uart0_data[0].uartclk = kirkwood_tclk; |
916 | kirkwood_uart1_data[0].uartclk = kirkwood_tclk; | 916 | kirkwood_uart1_data[0].uartclk = kirkwood_tclk; |
917 | 917 | ||
918 | /* | ||
919 | * Disable propagation of mbus errors to the CPU local bus, | ||
920 | * as this causes mbus errors (which can occur for example | ||
921 | * for PCI aborts) to throw CPU aborts, which we're not set | ||
922 | * up to deal with. | ||
923 | */ | ||
924 | writel(readl(CPU_CONFIG) & ~CPU_CONFIG_ERROR_PROP, CPU_CONFIG); | ||
925 | |||
918 | kirkwood_setup_cpu_mbus(); | 926 | kirkwood_setup_cpu_mbus(); |
919 | 927 | ||
920 | #ifdef CONFIG_CACHE_FEROCEON_L2 | 928 | #ifdef CONFIG_CACHE_FEROCEON_L2 |
diff --git a/arch/arm/mach-kirkwood/include/mach/bridge-regs.h b/arch/arm/mach-kirkwood/include/mach/bridge-regs.h index 9e80d9232c83..418f5017c50e 100644 --- a/arch/arm/mach-kirkwood/include/mach/bridge-regs.h +++ b/arch/arm/mach-kirkwood/include/mach/bridge-regs.h | |||
@@ -13,6 +13,9 @@ | |||
13 | 13 | ||
14 | #include <mach/kirkwood.h> | 14 | #include <mach/kirkwood.h> |
15 | 15 | ||
16 | #define CPU_CONFIG (BRIDGE_VIRT_BASE | 0x0100) | ||
17 | #define CPU_CONFIG_ERROR_PROP 0x00000004 | ||
18 | |||
16 | #define CPU_CONTROL (BRIDGE_VIRT_BASE | 0x0104) | 19 | #define CPU_CONTROL (BRIDGE_VIRT_BASE | 0x0104) |
17 | #define CPU_RESET 0x00000002 | 20 | #define CPU_RESET 0x00000002 |
18 | 21 | ||
diff --git a/arch/arm/mach-mmp/include/mach/mfp-pxa910.h b/arch/arm/mach-mmp/include/mach/mfp-pxa910.h index bf1189ff9a34..7e8a80f25ddc 100644 --- a/arch/arm/mach-mmp/include/mach/mfp-pxa910.h +++ b/arch/arm/mach-mmp/include/mach/mfp-pxa910.h | |||
@@ -160,7 +160,7 @@ | |||
160 | #define MMC1_WP_MMC1_WP MFP_CFG_DRV(MMC1_WP, AF0, MEDIUM) | 160 | #define MMC1_WP_MMC1_WP MFP_CFG_DRV(MMC1_WP, AF0, MEDIUM) |
161 | 161 | ||
162 | /* PWM */ | 162 | /* PWM */ |
163 | #define GPIO27 PWM3 AF2 MFP_CFG(GPIO27, AF2) | 163 | #define GPIO27_PWM3_AF2 MFP_CFG(GPIO27, AF2) |
164 | #define GPIO51_PWM2_OUT MFP_CFG(GPIO51, AF2) | 164 | #define GPIO51_PWM2_OUT MFP_CFG(GPIO51, AF2) |
165 | #define GPIO117_PWM1_OUT MFP_CFG(GPIO117, AF2) | 165 | #define GPIO117_PWM1_OUT MFP_CFG(GPIO117, AF2) |
166 | #define GPIO118_PWM2_OUT MFP_CFG(GPIO118, AF2) | 166 | #define GPIO118_PWM2_OUT MFP_CFG(GPIO118, AF2) |
diff --git a/arch/arm/mach-pxa/colibri-pxa320.c b/arch/arm/mach-pxa/colibri-pxa320.c index 494572825c7d..ec0e14b96682 100644 --- a/arch/arm/mach-pxa/colibri-pxa320.c +++ b/arch/arm/mach-pxa/colibri-pxa320.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <mach/colibri.h> | 27 | #include <mach/colibri.h> |
28 | #include <mach/pxafb.h> | 28 | #include <mach/pxafb.h> |
29 | #include <mach/ohci.h> | 29 | #include <mach/ohci.h> |
30 | #include <mach/audio.h> | ||
30 | 31 | ||
31 | #include "generic.h" | 32 | #include "generic.h" |
32 | #include "devices.h" | 33 | #include "devices.h" |
@@ -145,7 +146,8 @@ static void __init colibri_pxa320_init_lcd(void) | |||
145 | static inline void colibri_pxa320_init_lcd(void) {} | 146 | static inline void colibri_pxa320_init_lcd(void) {} |
146 | #endif | 147 | #endif |
147 | 148 | ||
148 | #if defined(SND_AC97_CODEC) || defined(SND_AC97_CODEC_MODULE) | 149 | #if defined(CONFIG_SND_AC97_CODEC) || \ |
150 | defined(CONFIG_SND_AC97_CODEC_MODULE) | ||
149 | static mfp_cfg_t colibri_pxa320_ac97_pin_config[] __initdata = { | 151 | static mfp_cfg_t colibri_pxa320_ac97_pin_config[] __initdata = { |
150 | GPIO34_AC97_SYSCLK, | 152 | GPIO34_AC97_SYSCLK, |
151 | GPIO35_AC97_SDATA_IN_0, | 153 | GPIO35_AC97_SDATA_IN_0, |
diff --git a/arch/arm/mach-pxa/hx4700.c b/arch/arm/mach-pxa/hx4700.c index abff9e132749..83bd3c6e3884 100644 --- a/arch/arm/mach-pxa/hx4700.c +++ b/arch/arm/mach-pxa/hx4700.c | |||
@@ -604,7 +604,7 @@ static struct platform_device gpio_vbus = { | |||
604 | static const struct ads7846_platform_data tsc2046_info = { | 604 | static const struct ads7846_platform_data tsc2046_info = { |
605 | .model = 7846, | 605 | .model = 7846, |
606 | .vref_delay_usecs = 100, | 606 | .vref_delay_usecs = 100, |
607 | .pressure_max = 512, | 607 | .pressure_max = 1024, |
608 | .debounce_max = 10, | 608 | .debounce_max = 10, |
609 | .debounce_tol = 3, | 609 | .debounce_tol = 3, |
610 | .debounce_rep = 1, | 610 | .debounce_rep = 1, |
diff --git a/arch/arm/mach-pxa/include/mach/entry-macro.S b/arch/arm/mach-pxa/include/mach/entry-macro.S index 241880608ac6..a73bc86a3c26 100644 --- a/arch/arm/mach-pxa/include/mach/entry-macro.S +++ b/arch/arm/mach-pxa/include/mach/entry-macro.S | |||
@@ -46,5 +46,6 @@ | |||
46 | beq 1001f | 46 | beq 1001f |
47 | bic \irqstat, \irqstat, #0x80000000 | 47 | bic \irqstat, \irqstat, #0x80000000 |
48 | mov \irqnr, \irqstat, lsr #16 | 48 | mov \irqnr, \irqstat, lsr #16 |
49 | add \irqnr, \irqnr, #(PXA_IRQ(0)) | ||
49 | 1001: | 50 | 1001: |
50 | .endm | 51 | .endm |
diff --git a/arch/arm/mach-u300/core.c b/arch/arm/mach-u300/core.c index be60d6deee8b..653e25be3dd8 100644 --- a/arch/arm/mach-u300/core.c +++ b/arch/arm/mach-u300/core.c | |||
@@ -408,7 +408,7 @@ static struct platform_device keypad_device = { | |||
408 | }; | 408 | }; |
409 | 409 | ||
410 | static struct platform_device rtc_device = { | 410 | static struct platform_device rtc_device = { |
411 | .name = "rtc0", | 411 | .name = "rtc-coh901331", |
412 | .id = -1, | 412 | .id = -1, |
413 | .num_resources = ARRAY_SIZE(rtc_resources), | 413 | .num_resources = ARRAY_SIZE(rtc_resources), |
414 | .resource = rtc_resources, | 414 | .resource = rtc_resources, |
diff --git a/arch/arm/plat-pxa/include/plat/mfp.h b/arch/arm/plat-pxa/include/plat/mfp.h index 22086e696e8e..857a6839071c 100644 --- a/arch/arm/plat-pxa/include/plat/mfp.h +++ b/arch/arm/plat-pxa/include/plat/mfp.h | |||
@@ -16,7 +16,7 @@ | |||
16 | #ifndef __ASM_PLAT_MFP_H | 16 | #ifndef __ASM_PLAT_MFP_H |
17 | #define __ASM_PLAT_MFP_H | 17 | #define __ASM_PLAT_MFP_H |
18 | 18 | ||
19 | #define mfp_to_gpio(m) ((m) % 128) | 19 | #define mfp_to_gpio(m) ((m) % 256) |
20 | 20 | ||
21 | /* list of all the configurable MFP pins */ | 21 | /* list of all the configurable MFP pins */ |
22 | enum { | 22 | enum { |
diff --git a/arch/arm/plat-pxa/mfp.c b/arch/arm/plat-pxa/mfp.c index 9405d0379c85..be58f9fe65b0 100644 --- a/arch/arm/plat-pxa/mfp.c +++ b/arch/arm/plat-pxa/mfp.c | |||
@@ -207,7 +207,7 @@ unsigned long mfp_read(int mfp) | |||
207 | { | 207 | { |
208 | unsigned long val, flags; | 208 | unsigned long val, flags; |
209 | 209 | ||
210 | BUG_ON(mfp >= MFP_PIN_MAX); | 210 | BUG_ON(mfp < 0 || mfp >= MFP_PIN_MAX); |
211 | 211 | ||
212 | spin_lock_irqsave(&mfp_spin_lock, flags); | 212 | spin_lock_irqsave(&mfp_spin_lock, flags); |
213 | val = mfpr_readl(mfp_table[mfp].mfpr_off); | 213 | val = mfpr_readl(mfp_table[mfp].mfpr_off); |
@@ -220,7 +220,7 @@ void mfp_write(int mfp, unsigned long val) | |||
220 | { | 220 | { |
221 | unsigned long flags; | 221 | unsigned long flags; |
222 | 222 | ||
223 | BUG_ON(mfp >= MFP_PIN_MAX); | 223 | BUG_ON(mfp < 0 || mfp >= MFP_PIN_MAX); |
224 | 224 | ||
225 | spin_lock_irqsave(&mfp_spin_lock, flags); | 225 | spin_lock_irqsave(&mfp_spin_lock, flags); |
226 | mfpr_writel(mfp_table[mfp].mfpr_off, val); | 226 | mfpr_writel(mfp_table[mfp].mfpr_off, val); |