summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-at91/at91rm9200_devices.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/arm/mach-at91/at91rm9200_devices.c b/arch/arm/mach-at91/at91rm9200_devices.c
index 8cb2f57751..c9ceef9654 100644
--- a/arch/arm/mach-at91/at91rm9200_devices.c
+++ b/arch/arm/mach-at91/at91rm9200_devices.c
@@ -182,7 +182,12 @@ void at91_add_device_spi(int spi_id, struct at91_spi_platform_data *pdata)
cs_pin = pdata->chipselect[i];
/* enable chip-select pin */
- if (cs_pin > 0)
+ if (!gpio_is_valid(cs_pin))
+ continue;
+
+ if (cs_pin == AT91_PIN_PA3)
+ at91_set_A_periph(cs_pin, 0);
+ else
at91_set_gpio_output(cs_pin, 1);
}