diff options
author | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2012-01-05 14:40:49 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-01-06 09:42:30 +0100 |
commit | d816bb4cc05f1af3cdd11d0b166f7c5bed8f080f (patch) | |
tree | 02f7913978ccde412bb808487f55b4b3f4b22669 /arch/arm/mach-at91/at91rm9200_devices.c | |
parent | be11d8ef355c9d5d3a0add64ef9a5e3203ad6810 (diff) | |
download | barebox-d816bb4cc05f1af3cdd11d0b166f7c5bed8f080f.tar.gz barebox-d816bb4cc05f1af3cdd11d0b166f7c5bed8f080f.tar.xz |
at91: add spi device ressources
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-at91/at91rm9200_devices.c')
-rw-r--r-- | arch/arm/mach-at91/at91rm9200_devices.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/arch/arm/mach-at91/at91rm9200_devices.c b/arch/arm/mach-at91/at91rm9200_devices.c index 68bcffc230..1fc78abf4d 100644 --- a/arch/arm/mach-at91/at91rm9200_devices.c +++ b/arch/arm/mach-at91/at91rm9200_devices.c @@ -154,6 +154,38 @@ void __init at91_add_device_nand(struct atmel_nand_data *data) {} #endif /* -------------------------------------------------------------------- + * SPI + * -------------------------------------------------------------------- */ + +#if defined(CONFIG_DRIVER_SPI_ATMEL) +void at91_add_device_spi(int spi_id, struct at91_spi_platform_data *pdata) +{ + int i; + int cs_pin; + + BUG_ON(spi_id > 0); + + for (i = 0; i < pdata->num_chipselect; i++) { + cs_pin = pdata->chipselect[i]; + + /* enable chip-select pin */ + if (cs_pin > 0) + at91_set_gpio_output(cs_pin, 1); + } + + at91_set_A_periph(AT91_PIN_PA0, 0); /* MISO */ + at91_set_A_periph(AT91_PIN_PA1, 0); /* MOSI */ + at91_set_A_periph(AT91_PIN_PA2, 0); /* SPCK */ + + add_generic_device("atmel_spi", spi_id, NULL, AT91RM9200_BASE_SPI, + SZ_16K, IORESOURCE_MEM, pdata); +} +#else +void __init at91_add_device_spi(int spi_id, struct at91_spi_platform_data *pdata) {} +#endif + + +/* -------------------------------------------------------------------- * UART * -------------------------------------------------------------------- */ |