]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/mach-at91/at91rm9200_devices.c
[ARM] 4760/1: [AT91] SPI CS0 errata on AT91RM9200
[linux-2.6-omap-h63xx.git] / arch / arm / mach-at91 / at91rm9200_devices.c
index ea9a952fb877b6bba50399b1602db64efb09837f..ef6aeb86e9805ba402c58cc70afdece13b009419 100644 (file)
@@ -558,8 +558,11 @@ void __init at91_add_device_spi(struct spi_board_info *devices, int nr_devices)
                else
                        cs_pin = spi_standard_cs[devices[i].chip_select];
 
-               /* enable chip-select pin */
-               at91_set_gpio_output(cs_pin, 1);
+               if (devices[i].chip_select == 0)        /* for CS0 errata */
+                       at91_set_A_periph(cs_pin, 0);
+               else
+                       at91_set_gpio_output(cs_pin, 1);
+
 
                /* pass chip-select pin to driver */
                devices[i].controller_data = (void *) cs_pin;