mirror of
https://github.com/adulau/aha.git
synced 2024-12-29 12:16:20 +00:00
MX27: Add USB platform devices and resources
This adds clocks and resources for usb in i.mx27 SoC. Signed-off-by: Javier Martin <javier.martin@vista-silicon.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
88e29a8d21
commit
627fb3b9d2
3 changed files with 104 additions and 1 deletions
|
@ -643,7 +643,14 @@ static struct clk_lookup lookups[] = {
|
|||
_REGISTER_CLOCK(NULL, "cspi3", cspi3_clk)
|
||||
_REGISTER_CLOCK("imx-fb.0", NULL, lcdc_clk)
|
||||
_REGISTER_CLOCK(NULL, "csi", csi_clk)
|
||||
_REGISTER_CLOCK(NULL, "usb", usb_clk)
|
||||
_REGISTER_CLOCK("fsl-usb2-udc", "usb", usb_clk)
|
||||
_REGISTER_CLOCK("fsl-usb2-udc", "usb_ahb", usb_clk1)
|
||||
_REGISTER_CLOCK("mxc-ehci.0", "usb", usb_clk)
|
||||
_REGISTER_CLOCK("mxc-ehci.0", "usb_ahb", usb_clk1)
|
||||
_REGISTER_CLOCK("mxc-ehci.1", "usb", usb_clk)
|
||||
_REGISTER_CLOCK("mxc-ehci.1", "usb_ahb", usb_clk1)
|
||||
_REGISTER_CLOCK("mxc-ehci.2", "usb", usb_clk)
|
||||
_REGISTER_CLOCK("mxc-ehci.2", "usb_ahb", usb_clk1)
|
||||
_REGISTER_CLOCK(NULL, "ssi1", ssi1_clk)
|
||||
_REGISTER_CLOCK(NULL, "ssi2", ssi2_clk)
|
||||
_REGISTER_CLOCK("mxc_nand.0", NULL, nfc_clk)
|
||||
|
|
|
@ -369,6 +369,98 @@ struct platform_device mxc_sdhc_device1 = {
|
|||
.resource = mxc_sdhc2_resources,
|
||||
};
|
||||
|
||||
static struct resource otg_resources[] = {
|
||||
{
|
||||
.start = OTG_BASE_ADDR,
|
||||
.end = OTG_BASE_ADDR + 0x1ff,
|
||||
.flags = IORESOURCE_MEM,
|
||||
}, {
|
||||
.start = MXC_INT_USB3,
|
||||
.end = MXC_INT_USB3,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
};
|
||||
|
||||
static u64 otg_dmamask = 0xffffffffUL;
|
||||
|
||||
/* OTG gadget device */
|
||||
struct platform_device mxc_otg_udc_device = {
|
||||
.name = "fsl-usb2-udc",
|
||||
.id = -1,
|
||||
.dev = {
|
||||
.dma_mask = &otg_dmamask,
|
||||
.coherent_dma_mask = 0xffffffffUL,
|
||||
},
|
||||
.resource = otg_resources,
|
||||
.num_resources = ARRAY_SIZE(otg_resources),
|
||||
};
|
||||
|
||||
/* OTG host */
|
||||
struct platform_device mxc_otg_host = {
|
||||
.name = "mxc-ehci",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.coherent_dma_mask = 0xffffffff,
|
||||
.dma_mask = &otg_dmamask,
|
||||
},
|
||||
.resource = otg_resources,
|
||||
.num_resources = ARRAY_SIZE(otg_resources),
|
||||
};
|
||||
|
||||
/* USB host 1 */
|
||||
|
||||
static u64 usbh1_dmamask = 0xffffffffUL;
|
||||
|
||||
static struct resource mxc_usbh1_resources[] = {
|
||||
{
|
||||
.start = OTG_BASE_ADDR + 0x200,
|
||||
.end = OTG_BASE_ADDR + 0x3ff,
|
||||
.flags = IORESOURCE_MEM,
|
||||
}, {
|
||||
.start = MXC_INT_USB1,
|
||||
.end = MXC_INT_USB1,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
};
|
||||
|
||||
struct platform_device mxc_usbh1 = {
|
||||
.name = "mxc-ehci",
|
||||
.id = 1,
|
||||
.dev = {
|
||||
.coherent_dma_mask = 0xffffffff,
|
||||
.dma_mask = &usbh1_dmamask,
|
||||
},
|
||||
.resource = mxc_usbh1_resources,
|
||||
.num_resources = ARRAY_SIZE(mxc_usbh1_resources),
|
||||
};
|
||||
|
||||
/* USB host 2 */
|
||||
static u64 usbh2_dmamask = 0xffffffffUL;
|
||||
|
||||
static struct resource mxc_usbh2_resources[] = {
|
||||
{
|
||||
.start = OTG_BASE_ADDR + 0x400,
|
||||
.end = OTG_BASE_ADDR + 0x5ff,
|
||||
.flags = IORESOURCE_MEM,
|
||||
}, {
|
||||
.start = MXC_INT_USB2,
|
||||
.end = MXC_INT_USB2,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
};
|
||||
|
||||
struct platform_device mxc_usbh2 = {
|
||||
.name = "mxc-ehci",
|
||||
.id = 2,
|
||||
.dev = {
|
||||
.coherent_dma_mask = 0xffffffff,
|
||||
.dma_mask = &usbh2_dmamask,
|
||||
},
|
||||
.resource = mxc_usbh2_resources,
|
||||
.num_resources = ARRAY_SIZE(mxc_usbh2_resources),
|
||||
};
|
||||
|
||||
|
||||
/* GPIO port description */
|
||||
static struct mxc_gpio_port imx_gpio_ports[] = {
|
||||
{
|
||||
|
|
|
@ -19,3 +19,7 @@ extern struct platform_device mxc_i2c_device0;
|
|||
extern struct platform_device mxc_i2c_device1;
|
||||
extern struct platform_device mxc_sdhc_device0;
|
||||
extern struct platform_device mxc_sdhc_device1;
|
||||
extern struct platform_device mxc_otg_udc_device;
|
||||
extern struct platform_device mxc_otg_host;
|
||||
extern struct platform_device mxc_usbh1;
|
||||
extern struct platform_device mxc_usbh2;
|
||||
|
|
Loading…
Reference in a new issue