Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2743f0c1dcca54d6c80b0de1273b3f4e90051a85 Commit: 2743f0c1dcca54d6c80b0de1273b3f4e90051a85 Parent: 6d2a8401d27e3eb8b71d09dd67e0e7d0085b5e29 Author: Andrew Victor <[EMAIL PROTECTED]> AuthorDate: Wed Jan 23 09:29:46 2008 +0100 Committer: Russell King <[EMAIL PROTECTED]> CommitDate: Sat Jan 26 15:00:32 2008 +0000
[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: Andrew Victor <[EMAIL PROTECTED]> Signed-off-by: Russell King <[EMAIL PROTECTED]> --- arch/arm/mach-at91/at91rm9200_devices.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-at91/at91rm9200_devices.c b/arch/arm/mach-at91/at91rm9200_devices.c index ea9a952..ef6aeb8 100644 --- a/arch/arm/mach-at91/at91rm9200_devices.c +++ b/arch/arm/mach-at91/at91rm9200_devices.c @@ -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; - To unsubscribe from this list: send the line "unsubscribe git-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html