]> git.karo-electronics.de Git - linux-beck.git/commitdiff
MX2: Add SPI devices/resources
authorSascha Hauer <s.hauer@pengutronix.de>
Fri, 19 Dec 2008 13:32:14 +0000 (14:32 +0100)
committerSascha Hauer <s.hauer@pengutronix.de>
Fri, 14 Aug 2009 10:40:52 +0000 (12:40 +0200)
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
arch/arm/mach-mx2/devices.c
arch/arm/mach-mx2/devices.h

index 4ecf0977beb4b600fcac3dd4f5ded20cd70732df..62810cbe4e30a6311290969143501194bd28ccf3 100644 (file)
 
 #include "devices.h"
 
+/*
+ * SPI master controller
+ *
+ * - i.MX1: 2 channel (slighly different register setting)
+ * - i.MX21: 2 channel
+ * - i.MX27: 3 channel
+ */
+static struct resource mxc_spi_resources0[] = {
+       {
+              .start = CSPI1_BASE_ADDR,
+              .end = CSPI1_BASE_ADDR + SZ_4K - 1,
+              .flags = IORESOURCE_MEM,
+       }, {
+              .start = MXC_INT_CSPI1,
+              .end = MXC_INT_CSPI1,
+              .flags = IORESOURCE_IRQ,
+       },
+};
+
+static struct resource mxc_spi_resources1[] = {
+       {
+               .start = CSPI2_BASE_ADDR,
+               .end = CSPI2_BASE_ADDR + SZ_4K - 1,
+               .flags = IORESOURCE_MEM,
+       }, {
+               .start = MXC_INT_CSPI2,
+               .end = MXC_INT_CSPI2,
+               .flags = IORESOURCE_IRQ,
+       },
+};
+
+#ifdef CONFIG_MACH_MX27
+static struct resource mxc_spi_resources2[] = {
+       {
+               .start = CSPI3_BASE_ADDR,
+               .end = CSPI3_BASE_ADDR + SZ_4K - 1,
+               .flags = IORESOURCE_MEM,
+       }, {
+               .start = MXC_INT_CSPI3,
+               .end = MXC_INT_CSPI3,
+               .flags = IORESOURCE_IRQ,
+       },
+};
+#endif
+
+struct platform_device mxc_spi_device0 = {
+       .name = "spi_imx",
+       .id = 0,
+       .num_resources = ARRAY_SIZE(mxc_spi_resources0),
+       .resource = mxc_spi_resources0,
+};
+
+struct platform_device mxc_spi_device1 = {
+       .name = "spi_imx",
+       .id = 1,
+       .num_resources = ARRAY_SIZE(mxc_spi_resources1),
+       .resource = mxc_spi_resources1,
+};
+
+#ifdef CONFIG_MACH_MX27
+struct platform_device mxc_spi_device2 = {
+       .name = "spi_imx",
+       .id = 2,
+       .num_resources = ARRAY_SIZE(mxc_spi_resources2),
+       .resource = mxc_spi_resources2,
+};
+#endif
+
 /*
  * General Purpose Timer
  * - i.MX21: 3 timers
index 6e91b4e3509dbc9b316fde8af3eb55fb1d3d93c3..d315406d6725e77ff8694be4bdcb789452fc8c43 100644 (file)
@@ -23,3 +23,7 @@ extern struct platform_device mxc_otg_udc_device;
 extern struct platform_device mxc_otg_host;
 extern struct platform_device mxc_usbh1;
 extern struct platform_device mxc_usbh2;
+extern struct platform_device mxc_spi_device0;
+extern struct platform_device mxc_spi_device1;
+extern struct platform_device mxc_spi_device2;
+