Commit 2743f0c1 authored by Andrew Victor's avatar Andrew Victor Committed by Russell King

[ARM] 4760/1: [AT91] SPI CS0 errata on AT91RM9200

Due to errata regarding the handling of SPI CS0 on the AT91RM9200, the
atmel_spi driver drives CS0 from the SPI controller and not as a GPIO
pin.
We therefore need to configure CS0 for use by the controller
Signed-off-by: default avatarAndrew Victor <linux@maxim.org.za>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 6d2a8401
...@@ -558,9 +558,12 @@ void __init at91_add_device_spi(struct spi_board_info *devices, int nr_devices) ...@@ -558,9 +558,12 @@ void __init at91_add_device_spi(struct spi_board_info *devices, int nr_devices)
else else
cs_pin = spi_standard_cs[devices[i].chip_select]; cs_pin = spi_standard_cs[devices[i].chip_select];
/* enable chip-select pin */ if (devices[i].chip_select == 0) /* for CS0 errata */
at91_set_A_periph(cs_pin, 0);
else
at91_set_gpio_output(cs_pin, 1); at91_set_gpio_output(cs_pin, 1);
/* pass chip-select pin to driver */ /* pass chip-select pin to driver */
devices[i].controller_data = (void *) cs_pin; devices[i].controller_data = (void *) cs_pin;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment