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

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

ARM: imx: dynamically allocate fsl-usb2-udc devices

parent 2eb42d5c
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -128,6 +128,7 @@ endchoice


config MACH_CPUIMX27
config MACH_CPUIMX27
	bool "Eukrea CPUIMX27 module"
	bool "Eukrea CPUIMX27 module"
	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
	select IMX_HAVE_PLATFORM_IMX2_WDT
	select IMX_HAVE_PLATFORM_IMX2_WDT
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_IMX_UART
@@ -200,6 +201,7 @@ config MACH_IMX27LITE


config MACH_PCA100
config MACH_PCA100
	bool "Phytec phyCARD-s (pca100)"
	bool "Phytec phyCARD-s (pca100)"
	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
	select IMX_HAVE_PLATFORM_IMX2_WDT
	select IMX_HAVE_PLATFORM_IMX2_WDT
	select IMX_HAVE_PLATFORM_IMX_FB
	select IMX_HAVE_PLATFORM_IMX_FB
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_I2C
+4 −0
Original line number Original line Diff line number Diff line
@@ -13,6 +13,10 @@ extern const struct imx_fec_data imx27_fec_data __initconst;
#define imx27_add_fec(pdata)	\
#define imx27_add_fec(pdata)	\
	imx_add_fec(&imx27_fec_data, pdata)
	imx_add_fec(&imx27_fec_data, pdata)


extern const struct imx_fsl_usb2_udc_data imx27_fsl_usb2_udc_data __initconst;
#define imx27_add_fsl_usb2_udc(pdata)	\
	imx_add_fsl_usb2_udc(&imx27_fsl_usb2_udc_data, pdata)

extern const struct imx_imx2_wdt_data imx27_imx2_wdt_data __initconst;
extern const struct imx_imx2_wdt_data imx27_imx2_wdt_data __initconst;
#define imx27_add_imx2_wdt(pdata)	\
#define imx27_add_imx2_wdt(pdata)	\
	imx_add_imx2_wdt(&imx27_imx2_wdt_data)
	imx_add_imx2_wdt(&imx27_imx2_wdt_data)
+0 −28
Original line number Original line Diff line number Diff line
@@ -76,34 +76,6 @@ int __init imx1_register_gpios(void)
}
}
#endif
#endif


#ifdef CONFIG_MACH_MX27
static struct resource otg_resources[] = {
	{
		.start = MX27_USB_OTG_BASE_ADDR,
		.end = MX27_USB_OTG_BASE_ADDR + 0x1ff,
		.flags = IORESOURCE_MEM,
	}, {
		.start = MX27_INT_USB_OTG,
		.end = MX27_INT_USB_OTG,
		.flags = IORESOURCE_IRQ,
	},
};

static u64 otg_dmamask = DMA_BIT_MASK(32);

/* OTG gadget device */
struct platform_device mxc_otg_udc_device = {
	.name		= "fsl-usb2-udc",
	.id		= -1,
	.dev		= {
		.dma_mask		= &otg_dmamask,
		.coherent_dma_mask	= DMA_BIT_MASK(32),
	},
	.resource	= otg_resources,
	.num_resources	= ARRAY_SIZE(otg_resources),
};
#endif

#if defined(CONFIG_MACH_MX21) || defined(CONFIG_MACH_MX27)
#if defined(CONFIG_MACH_MX21) || defined(CONFIG_MACH_MX27)
/* GPIO port description */
/* GPIO port description */
#define DEFINE_MXC_GPIO_PORT_IRQ(SOC, n, _irq)				\
#define DEFINE_MXC_GPIO_PORT_IRQ(SOC, n, _irq)				\
+0 −1
Original line number Original line Diff line number Diff line
#if defined(CONFIG_MACH_MX21) || defined(CONFIG_MACH_MX27)
#if defined(CONFIG_MACH_MX21) || defined(CONFIG_MACH_MX27)
extern struct platform_device mxc_otg_udc_device;
extern struct platform_device mx21_usbhc_device;
extern struct platform_device mx21_usbhc_device;
extern struct platform_device imx_kpp_device;
extern struct platform_device imx_kpp_device;
#endif
#endif
+2 −3
Original line number Original line Diff line number Diff line
@@ -28,7 +28,6 @@
#include <linux/serial_8250.h>
#include <linux/serial_8250.h>
#include <linux/usb/otg.h>
#include <linux/usb/otg.h>
#include <linux/usb/ulpi.h>
#include <linux/usb/ulpi.h>
#include <linux/fsl_devices.h>


#include <asm/mach-types.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/arch.h>
@@ -223,7 +222,7 @@ static struct mxc_usbh_platform_data usbh2_pdata __initdata = {
};
};
#endif
#endif


static struct fsl_usb2_platform_data otg_device_pdata = {
static const struct fsl_usb2_platform_data otg_device_pdata __initconst = {
	.operating_mode = FSL_USB2_DR_DEVICE,
	.operating_mode = FSL_USB2_DR_DEVICE,
	.phy_mode       = FSL_USB2_PHY_ULPI,
	.phy_mode       = FSL_USB2_PHY_ULPI,
};
};
@@ -289,7 +288,7 @@ static void __init eukrea_cpuimx27_init(void)
	imx27_add_mxc_ehci_hs(2, &usbh2_pdata);
	imx27_add_mxc_ehci_hs(2, &usbh2_pdata);
#endif
#endif
	if (!otg_mode_host)
	if (!otg_mode_host)
		mxc_register_device(&mxc_otg_udc_device, &otg_device_pdata);
		imx27_add_fsl_usb2_udc(&otg_device_pdata);


#ifdef CONFIG_MACH_EUKREA_MBIMX27_BASEBOARD
#ifdef CONFIG_MACH_EUKREA_MBIMX27_BASEBOARD
	eukrea_mbimx27_baseboard_init();
	eukrea_mbimx27_baseboard_init();
Loading