mirror of https://gitee.com/openkylin/linux.git
ARM: imx: dynamically register spi_imx devices (imx35)
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
This commit is contained in:
parent
06606ff130
commit
a4dc013570
|
@ -45,6 +45,7 @@ config MACH_PCM037
|
|||
config MACH_PCM037_EET
|
||||
bool "Support pcm037 EET board extensions"
|
||||
depends on MACH_PCM037
|
||||
select IMX_HAVE_PLATFORM_SPI_IMX
|
||||
help
|
||||
Add support for PCM037 EET baseboard extensions. If you are using the
|
||||
OLED display with EET, use "video=mx3fb:CMEL-OLED" kernel
|
||||
|
|
|
@ -18,3 +18,8 @@
|
|||
|
||||
#define imx35_add_mxc_nand(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 = {
|
|||
};
|
||||
|
||||
#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[] = {
|
||||
{
|
||||
.start = MXC_FEC_BASE_ADDR,
|
||||
|
|
|
@ -16,11 +16,6 @@ extern struct platform_device mxc_otg_host;
|
|||
extern struct platform_device mxc_usbh1;
|
||||
extern struct platform_device mxc_usbh2;
|
||||
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_device1;
|
||||
extern struct platform_device imx_ssi_device1;
|
||||
|
|
|
@ -13,9 +13,6 @@
|
|||
#include <linux/spi/spi.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 <asm/mach-types.h>
|
||||
|
@ -64,7 +61,7 @@ static struct spi_board_info pcm037_spi_dev[] = {
|
|||
#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)};
|
||||
|
||||
struct spi_imx_master pcm037_spi1_master = {
|
||||
static const struct spi_imx_master pcm037_spi1_pdata __initconst = {
|
||||
.chipselect = pcm037_spi1_cs,
|
||||
.num_chipselect = ARRAY_SIZE(pcm037_spi1_cs),
|
||||
};
|
||||
|
@ -184,7 +181,7 @@ static int eet_init_devices(void)
|
|||
/* SPI */
|
||||
spi_register_board_info(pcm037_spi_dev, ARRAY_SIZE(pcm037_spi_dev));
|
||||
#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
|
||||
|
||||
platform_device_register(&pcm037_gpio_keys_device);
|
||||
|
|
Loading…
Reference in New Issue