Commit a4dc0135 authored by Uwe Kleine-König's avatar Uwe Kleine-König

ARM: imx: dynamically register spi_imx devices (imx35)

Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
parent 06606ff1
...@@ -45,6 +45,7 @@ config MACH_PCM037 ...@@ -45,6 +45,7 @@ config MACH_PCM037
config MACH_PCM037_EET config MACH_PCM037_EET
bool "Support pcm037 EET board extensions" bool "Support pcm037 EET board extensions"
depends on MACH_PCM037 depends on MACH_PCM037
select IMX_HAVE_PLATFORM_SPI_IMX
help help
Add support for PCM037 EET baseboard extensions. If you are using the Add support for PCM037 EET baseboard extensions. If you are using the
OLED display with EET, use "video=mx3fb:CMEL-OLED" kernel OLED display with EET, use "video=mx3fb:CMEL-OLED" kernel
......
...@@ -18,3 +18,8 @@ ...@@ -18,3 +18,8 @@
#define imx35_add_mxc_nand(pdata) \ #define imx35_add_mxc_nand(pdata) \
imx_add_mxc_nand_v21(MX35_NFC_BASE_ADDR, MX35_INT_NANDFC, pdata) imx_add_mxc_nand_v21(MX35_NFC_BASE_ADDR, MX35_INT_NANDFC, pdata)
#define imx35_add_spi_imx0(pdata) \
imx_add_spi_imx(0, MX35_CSPI1_BASE_ADDR, SZ_4K, MX35_INT_CSPI1, pdata)
#define imx35_add_spi_imx1(pdata) \
imx_add_spi_imx(1, MX35_CSPI2_BASE_ADDR, SZ_4K, MX35_INT_CSPI2, pdata)
...@@ -380,67 +380,6 @@ struct platform_device mxc_usbh2 = { ...@@ -380,67 +380,6 @@ struct platform_device mxc_usbh2 = {
}; };
#if defined(CONFIG_ARCH_MX35) #if defined(CONFIG_ARCH_MX35)
/*
* SPI master controller
* 3 channels
*/
static struct resource mxc_spi_0_resources[] = {
{
.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_1_resources[] = {
{
.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,
},
};
static struct resource mxc_spi_2_resources[] = {
{
.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,
},
};
struct platform_device mxc_spi_device0 = {
.name = "spi_imx",
.id = 0,
.num_resources = ARRAY_SIZE(mxc_spi_0_resources),
.resource = mxc_spi_0_resources,
};
struct platform_device mxc_spi_device1 = {
.name = "spi_imx",
.id = 1,
.num_resources = ARRAY_SIZE(mxc_spi_1_resources),
.resource = mxc_spi_1_resources,
};
struct platform_device mxc_spi_device2 = {
.name = "spi_imx",
.id = 2,
.num_resources = ARRAY_SIZE(mxc_spi_2_resources),
.resource = mxc_spi_2_resources,
};
static struct resource mxc_fec_resources[] = { static struct resource mxc_fec_resources[] = {
{ {
.start = MXC_FEC_BASE_ADDR, .start = MXC_FEC_BASE_ADDR,
......
...@@ -16,11 +16,6 @@ extern struct platform_device mxc_otg_host; ...@@ -16,11 +16,6 @@ extern struct platform_device mxc_otg_host;
extern struct platform_device mxc_usbh1; extern struct platform_device mxc_usbh1;
extern struct platform_device mxc_usbh2; extern struct platform_device mxc_usbh2;
extern struct platform_device mxc_rnga_device; extern struct platform_device mxc_rnga_device;
#if defined(CONFIG_ARCH_MX35)
extern struct platform_device mxc_spi_device0;
extern struct platform_device mxc_spi_device1;
extern struct platform_device mxc_spi_device2;
#endif
extern struct platform_device imx_ssi_device0; extern struct platform_device imx_ssi_device0;
extern struct platform_device imx_ssi_device1; extern struct platform_device imx_ssi_device1;
extern struct platform_device imx_ssi_device1; extern struct platform_device imx_ssi_device1;
......
...@@ -13,9 +13,6 @@ ...@@ -13,9 +13,6 @@
#include <linux/spi/spi.h> #include <linux/spi/spi.h>
#include <mach/common.h> #include <mach/common.h>
#if defined(CONFIG_SPI_IMX) || defined(CONFIG_SPI_IMX_MODULE)
#include <mach/spi.h>
#endif
#include <mach/iomux-mx3.h> #include <mach/iomux-mx3.h>
#include <asm/mach-types.h> #include <asm/mach-types.h>
...@@ -64,7 +61,7 @@ static struct spi_board_info pcm037_spi_dev[] = { ...@@ -64,7 +61,7 @@ static struct spi_board_info pcm037_spi_dev[] = {
#if defined(CONFIG_SPI_IMX) || defined(CONFIG_SPI_IMX_MODULE) #if defined(CONFIG_SPI_IMX) || defined(CONFIG_SPI_IMX_MODULE)
static int pcm037_spi1_cs[] = {MXC_SPI_CS(1), IOMUX_TO_GPIO(MX31_PIN_KEY_COL7)}; static int pcm037_spi1_cs[] = {MXC_SPI_CS(1), IOMUX_TO_GPIO(MX31_PIN_KEY_COL7)};
struct spi_imx_master pcm037_spi1_master = { static const struct spi_imx_master pcm037_spi1_pdata __initconst = {
.chipselect = pcm037_spi1_cs, .chipselect = pcm037_spi1_cs,
.num_chipselect = ARRAY_SIZE(pcm037_spi1_cs), .num_chipselect = ARRAY_SIZE(pcm037_spi1_cs),
}; };
...@@ -184,7 +181,7 @@ static int eet_init_devices(void) ...@@ -184,7 +181,7 @@ static int eet_init_devices(void)
/* SPI */ /* SPI */
spi_register_board_info(pcm037_spi_dev, ARRAY_SIZE(pcm037_spi_dev)); spi_register_board_info(pcm037_spi_dev, ARRAY_SIZE(pcm037_spi_dev));
#if defined(CONFIG_SPI_IMX) || defined(CONFIG_SPI_IMX_MODULE) #if defined(CONFIG_SPI_IMX) || defined(CONFIG_SPI_IMX_MODULE)
mxc_register_device(&mxc_spi_device0, &pcm037_spi1_master); imx35_add_spi_imx0(&pcm037_spi1_pdata);
#endif #endif
platform_device_register(&pcm037_gpio_keys_device); platform_device_register(&pcm037_gpio_keys_device);
......
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