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

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

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

parent 2c20b9f1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ config MACH_EUKREA_CPUIMX25
	bool "Support Eukrea CPUIMX25 Platform"
	select IMX_HAVE_PLATFORM_ESDHC
	select IMX_HAVE_PLATFORM_FLEXCAN
	select IMX_HAVE_PLATFORM_FSL_USB2_UDC
	select IMX_HAVE_PLATFORM_IMX_I2C
	select IMX_HAVE_PLATFORM_IMX_UART
	select IMX_HAVE_PLATFORM_MXC_EHCI
+4 −0
Original line number Diff line number Diff line
@@ -19,6 +19,10 @@ extern const struct imx_flexcan_data imx25_flexcan_data[] __initconst;
#define imx25_add_flexcan0(pdata)	imx25_add_flexcan(0, pdata)
#define imx25_add_flexcan1(pdata)	imx25_add_flexcan(1, pdata)

extern const struct imx_fsl_usb2_udc_data imx25_fsl_usb2_udc_data __initconst;
#define imx25_add_fsl_usb2_udc(pdata)	\
	imx_add_fsl_usb2_udc(&imx25_fsl_usb2_udc_data, pdata)

extern const struct imx_imx_i2c_data imx25_imx_i2c_data[] __initconst;
#define imx25_add_imx_i2c(id, pdata)	\
	imx_add_imx_i2c(&imx25_imx_i2c_data[id], pdata)
+0 −26
Original line number Diff line number Diff line
@@ -22,32 +22,6 @@
#include <mach/mx25.h>
#include <mach/irqs.h>

static u64 otg_dmamask = DMA_BIT_MASK(32);

static struct resource mxc_otg_resources[] = {
	{
		.start = MX25_USB_OTG_BASE_ADDR,
		.end = MX25_USB_OTG_BASE_ADDR + 0x1ff,
		.flags = IORESOURCE_MEM,
	}, {
		.start = MX25_INT_USB_OTG,
		.end = MX25_INT_USB_OTG,
		.flags = IORESOURCE_IRQ,
	},
};

/* OTG gadget device */
struct platform_device otg_udc_device = {
	.name = "fsl-usb2-udc",
	.id   = -1,
	.dev  = {
		.dma_mask          = &otg_dmamask,
		.coherent_dma_mask = 0xffffffff,
	},
	.resource = mxc_otg_resources,
	.num_resources = ARRAY_SIZE(mxc_otg_resources),
};

static struct resource mxc_pwm_resources0[] = {
	{
		.start	= 0x53fe0000,
+0 −1
Original line number Diff line number Diff line
extern struct platform_device otg_udc_device;
extern struct platform_device mxc_pwm_device0;
extern struct platform_device mxc_pwm_device1;
extern struct platform_device mxc_pwm_device2;
+2 −3
Original line number Diff line number Diff line
@@ -26,7 +26,6 @@
#include <linux/platform_device.h>
#include <linux/usb/otg.h>
#include <linux/usb/ulpi.h>
#include <linux/fsl_devices.h>

#include <mach/eukrea-baseboards.h>
#include <mach/hardware.h>
@@ -97,7 +96,7 @@ static const struct mxc_usbh_platform_data usbh2_pdata __initconst = {
		  MXC_EHCI_IPPUE_DOWN,
};

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,
	.phy_mode       = FSL_USB2_PHY_UTMI,
};
@@ -135,7 +134,7 @@ static void __init eukrea_cpuimx25_init(void)
	if (otg_mode_host)
		imx25_add_mxc_ehci_otg(&otg_pdata);
	else
		mxc_register_device(&otg_udc_device, &otg_device_pdata);
		imx25_add_fsl_usb2_udc(&otg_device_pdata);

	imx25_add_mxc_ehci_hs(&usbh2_pdata);

Loading