Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6a697e3d authored by Uwe Kleine-König's avatar Uwe Kleine-König
Browse files

ARM: mx3: dynamically register mxc-mmc devices



Compared to the static devices the dynamic have a DMA resource.
This should be save as it seems unused in the driver.

Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
parent a528bc87
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -52,6 +52,7 @@ config MACH_PCM037
	select SOC_IMX31
	select SOC_IMX31
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_MMC
	select IMX_HAVE_PLATFORM_MXC_NAND
	select IMX_HAVE_PLATFORM_MXC_NAND
	select IMX_HAVE_PLATFORM_MXC_W1
	select IMX_HAVE_PLATFORM_MXC_W1
	select MXC_ULPI if USB_ULPI
	select MXC_ULPI if USB_ULPI
@@ -73,6 +74,7 @@ config MACH_MX31LITE
	select SOC_IMX31
	select SOC_IMX31
	select MXC_ULPI if USB_ULPI
	select MXC_ULPI if USB_ULPI
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_MMC
	select IMX_HAVE_PLATFORM_MXC_NAND
	select IMX_HAVE_PLATFORM_MXC_NAND
	select IMX_HAVE_PLATFORM_SPI_IMX
	select IMX_HAVE_PLATFORM_SPI_IMX
	help
	help
@@ -104,6 +106,7 @@ config MACH_MX31MOBOARD
	select SOC_IMX31
	select SOC_IMX31
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_MMC
	select IMX_HAVE_PLATFORM_SPI_IMX
	select IMX_HAVE_PLATFORM_SPI_IMX
	select MXC_ULPI if USB_ULPI
	select MXC_ULPI if USB_ULPI
	help
	help
@@ -114,6 +117,7 @@ config MACH_MX31LILLY
	bool "Support MX31 LILLY-1131 platforms (INCO startec)"
	bool "Support MX31 LILLY-1131 platforms (INCO startec)"
	select SOC_IMX31
	select SOC_IMX31
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_MMC
	select IMX_HAVE_PLATFORM_SPI_IMX
	select IMX_HAVE_PLATFORM_SPI_IMX
	select MXC_ULPI if USB_ULPI
	select MXC_ULPI if USB_ULPI
	help
	help
@@ -147,6 +151,7 @@ config MACH_ARMADILLO5X0
	select SOC_IMX31
	select SOC_IMX31
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_MMC
	select IMX_HAVE_PLATFORM_MXC_NAND
	select IMX_HAVE_PLATFORM_MXC_NAND
	select MXC_ULPI if USB_ULPI
	select MXC_ULPI if USB_ULPI
	help
	help
+4 −0
Original line number Original line Diff line number Diff line
@@ -29,6 +29,10 @@ extern const struct imx_imx_uart_1irq_data imx31_imx_uart_data[] __initconst;
#define imx31_add_imx_uart3(pdata)	imx31_add_imx_uart(3, pdata)
#define imx31_add_imx_uart3(pdata)	imx31_add_imx_uart(3, pdata)
#define imx31_add_imx_uart4(pdata)	imx31_add_imx_uart(4, pdata)
#define imx31_add_imx_uart4(pdata)	imx31_add_imx_uart(4, pdata)


extern const struct imx_mxc_mmc_data imx31_mxc_mmc_data[] __initconst;
#define imx31_add_mxc_mmc(id, pdata)	\
	imx_add_mxc_mmc(&imx31_mxc_mmc_data[id], pdata)

extern const struct imx_mxc_nand_data imx31_mxc_nand_data __initconst;
extern const struct imx_mxc_nand_data imx31_mxc_nand_data __initconst;
#define imx31_add_mxc_nand(pdata)	\
#define imx31_add_mxc_nand(pdata)	\
	imx_add_mxc_nand(&imx31_mxc_nand_data, pdata)
	imx_add_mxc_nand(&imx31_mxc_nand_data, pdata)
+0 −38
Original line number Original line Diff line number Diff line
@@ -30,44 +30,6 @@
#include "devices.h"
#include "devices.h"


#ifdef CONFIG_ARCH_MX31
#ifdef CONFIG_ARCH_MX31
static struct resource mxcsdhc0_resources[] = {
	{
		.start = MX31_MMC_SDHC1_BASE_ADDR,
		.end = MX31_MMC_SDHC1_BASE_ADDR + SZ_16K - 1,
		.flags = IORESOURCE_MEM,
	}, {
		.start = MX31_INT_MMC_SDHC1,
		.end = MX31_INT_MMC_SDHC1,
		.flags = IORESOURCE_IRQ,
	},
};

static struct resource mxcsdhc1_resources[] = {
	{
		.start = MX31_MMC_SDHC2_BASE_ADDR,
		.end = MX31_MMC_SDHC2_BASE_ADDR + SZ_16K - 1,
		.flags = IORESOURCE_MEM,
	}, {
		.start = MX31_INT_MMC_SDHC2,
		.end = MX31_INT_MMC_SDHC2,
		.flags = IORESOURCE_IRQ,
	},
};

struct platform_device mxcsdhc_device0 = {
	.name = "mxc-mmc",
	.id = 0,
	.num_resources = ARRAY_SIZE(mxcsdhc0_resources),
	.resource = mxcsdhc0_resources,
};

struct platform_device mxcsdhc_device1 = {
	.name = "mxc-mmc",
	.id = 1,
	.num_resources = ARRAY_SIZE(mxcsdhc1_resources),
	.resource = mxcsdhc1_resources,
};

static struct resource rnga_resources[] = {
static struct resource rnga_resources[] = {
	{
	{
		.start = MX3x_RNGA_BASE_ADDR,
		.start = MX3x_RNGA_BASE_ADDR,
+0 −2
Original line number Original line Diff line number Diff line
extern struct platform_device mx3_ipu;
extern struct platform_device mx3_ipu;
extern struct platform_device mx3_fb;
extern struct platform_device mx3_fb;
extern struct platform_device mx3_camera;
extern struct platform_device mx3_camera;
extern struct platform_device mxcsdhc_device0;
extern struct platform_device mxcsdhc_device1;
extern struct platform_device mxc_otg_udc_device;
extern struct platform_device mxc_otg_udc_device;
extern struct platform_device mxc_otg_host;
extern struct platform_device mxc_otg_host;
extern struct platform_device mxc_usbh1;
extern struct platform_device mxc_usbh1;
+2 −3
Original line number Original line Diff line number Diff line
@@ -49,7 +49,6 @@


#include <mach/common.h>
#include <mach/common.h>
#include <mach/iomux-mx3.h>
#include <mach/iomux-mx3.h>
#include <mach/mmc.h>
#include <mach/ipu.h>
#include <mach/ipu.h>
#include <mach/mx3fb.h>
#include <mach/mx3fb.h>
#include <mach/mxc_ehci.h>
#include <mach/mxc_ehci.h>
@@ -453,7 +452,7 @@ static void armadillo5x0_sdhc1_exit(struct device *dev, void *data)
	gpio_free(IOMUX_TO_GPIO(MX31_PIN_ATA_RESET_B));
	gpio_free(IOMUX_TO_GPIO(MX31_PIN_ATA_RESET_B));
}
}


static struct imxmmc_platform_data sdhc_pdata = {
static const struct imxmmc_platform_data sdhc_pdata __initconst = {
	.get_ro = armadillo5x0_sdhc1_get_ro,
	.get_ro = armadillo5x0_sdhc1_get_ro,
	.init = armadillo5x0_sdhc1_init,
	.init = armadillo5x0_sdhc1_init,
	.exit = armadillo5x0_sdhc1_exit,
	.exit = armadillo5x0_sdhc1_exit,
@@ -520,7 +519,7 @@ static void __init armadillo5x0_init(void)
	gpio_direction_input(MX31_PIN_GPIO1_0);
	gpio_direction_input(MX31_PIN_GPIO1_0);


	/* Register SDHC */
	/* Register SDHC */
	mxc_register_device(&mxcsdhc_device0, &sdhc_pdata);
	imx31_add_mxc_mmc(0, &sdhc_pdata);


	/* Register FB */
	/* Register FB */
	mxc_register_device(&mx3_ipu, &mx3_ipu_data);
	mxc_register_device(&mx3_ipu, &mx3_ipu_data);
Loading