Commit 8b32a92b authored by Paul Mundt's avatar Paul Mundt

sh: Add EHCI support for SH7786.

This adds in the platform device for SH7786 USB EHCI.
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 63c84552
...@@ -522,10 +522,37 @@ static struct platform_device dma0_device = { ...@@ -522,10 +522,37 @@ static struct platform_device dma0_device = {
}, },
}; };
#define USB_EHCI_START 0xffe70000
#define USB_OHCI_START 0xffe70400
static struct resource usb_ehci_resources[] = {
[0] = {
.start = USB_EHCI_START,
.end = USB_EHCI_START + 0x3ff,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = 77,
.end = 77,
.flags = IORESOURCE_IRQ,
},
};
static struct platform_device usb_ehci_device = {
.name = "sh_ehci",
.id = -1,
.dev = {
.dma_mask = &usb_ehci_device.dev.coherent_dma_mask,
.coherent_dma_mask = DMA_BIT_MASK(32),
},
.num_resources = ARRAY_SIZE(usb_ehci_resources),
.resource = usb_ehci_resources,
};
static struct resource usb_ohci_resources[] = { static struct resource usb_ohci_resources[] = {
[0] = { [0] = {
.start = 0xffe70400, .start = USB_OHCI_START,
.end = 0xffe704ff, .end = USB_OHCI_START + 0x3ff,
.flags = IORESOURCE_MEM, .flags = IORESOURCE_MEM,
}, },
[1] = { [1] = {
...@@ -535,12 +562,11 @@ static struct resource usb_ohci_resources[] = { ...@@ -535,12 +562,11 @@ static struct resource usb_ohci_resources[] = {
}, },
}; };
static u64 usb_ohci_dma_mask = DMA_BIT_MASK(32);
static struct platform_device usb_ohci_device = { static struct platform_device usb_ohci_device = {
.name = "sh_ohci", .name = "sh_ohci",
.id = -1, .id = -1,
.dev = { .dev = {
.dma_mask = &usb_ohci_dma_mask, .dma_mask = &usb_ohci_device.dev.coherent_dma_mask,
.coherent_dma_mask = DMA_BIT_MASK(32), .coherent_dma_mask = DMA_BIT_MASK(32),
}, },
.num_resources = ARRAY_SIZE(usb_ohci_resources), .num_resources = ARRAY_SIZE(usb_ohci_resources),
...@@ -570,6 +596,7 @@ static struct platform_device *sh7786_early_devices[] __initdata = { ...@@ -570,6 +596,7 @@ static struct platform_device *sh7786_early_devices[] __initdata = {
static struct platform_device *sh7786_devices[] __initdata = { static struct platform_device *sh7786_devices[] __initdata = {
&dma0_device, &dma0_device,
&usb_ehci_device,
&usb_ohci_device, &usb_ohci_device,
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment