aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-u300
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-u300')
-rw-r--r--arch/arm/mach-u300/core.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/arm/mach-u300/core.c b/arch/arm/mach-u300/core.c
index 7866f54a4eaa..d102cb501f8d 100644
--- a/arch/arm/mach-u300/core.c
+++ b/arch/arm/mach-u300/core.c
@@ -19,6 +19,7 @@
19#include <linux/dmaengine.h> 19#include <linux/dmaengine.h>
20#include <linux/amba/bus.h> 20#include <linux/amba/bus.h>
21#include <linux/amba/mmci.h> 21#include <linux/amba/mmci.h>
22#include <linux/amba/pl022.h>
22#include <linux/amba/serial.h> 23#include <linux/amba/serial.h>
23#include <linux/platform_device.h> 24#include <linux/platform_device.h>
24#include <linux/gpio.h> 25#include <linux/gpio.h>
@@ -704,6 +705,22 @@ MACHINE_END
704 705
705#ifdef CONFIG_OF 706#ifdef CONFIG_OF
706 707
708static struct pl022_ssp_controller spi_plat_data = {
709 /* If you have several SPI buses this varies, we have only bus 0 */
710 .bus_id = 0,
711 /*
712 * On the APP CPU GPIO 4, 5 and 6 are connected as generic
713 * chip selects for SPI. (Same on U330, U335 and U365.)
714 * TODO: make sure the GPIO driver can select these properly
715 * and do padmuxing accordingly too.
716 */
717 .num_chipselect = 3,
718 .enable_dma = 1,
719 .dma_filter = coh901318_filter_id,
720 .dma_rx_param = (void *) U300_DMA_SPI_RX,
721 .dma_tx_param = (void *) U300_DMA_SPI_TX,
722};
723
707/* These are mostly to get the right device names for the clock lookups */ 724/* These are mostly to get the right device names for the clock lookups */
708static struct of_dev_auxdata u300_auxdata_lookup[] __initdata = { 725static struct of_dev_auxdata u300_auxdata_lookup[] __initdata = {
709 OF_DEV_AUXDATA("stericsson,pinctrl-u300", U300_SYSCON_BASE, 726 OF_DEV_AUXDATA("stericsson,pinctrl-u300", U300_SYSCON_BASE,
@@ -720,6 +737,8 @@ static struct of_dev_auxdata u300_auxdata_lookup[] __initdata = {
720 "uart0", &uart0_plat_data), 737 "uart0", &uart0_plat_data),
721 OF_DEV_AUXDATA("arm,primecell", U300_UART1_BASE, 738 OF_DEV_AUXDATA("arm,primecell", U300_UART1_BASE,
722 "uart1", &uart1_plat_data), 739 "uart1", &uart1_plat_data),
740 OF_DEV_AUXDATA("arm,primecell", U300_SPI_BASE,
741 "pl022", &spi_plat_data),
723 OF_DEV_AUXDATA("st,ddci2c", U300_I2C0_BASE, 742 OF_DEV_AUXDATA("st,ddci2c", U300_I2C0_BASE,
724 "stu300.0", NULL), 743 "stu300.0", NULL),
725 OF_DEV_AUXDATA("st,ddci2c", U300_I2C1_BASE, 744 OF_DEV_AUXDATA("st,ddci2c", U300_I2C1_BASE,