2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
8 #include <linux/module.h>
10 #include <linux/dma-mapping.h>
11 #include <linux/platform_device.h>
12 #include <linux/irqchip/mips-gic.h>
14 #include <asm/mips-boards/sead3int.h>
16 struct resource ehci_resources[] = {
20 .flags = IORESOURCE_MEM
23 .flags = IORESOURCE_IRQ
27 u64 sead3_usbdev_dma_mask = DMA_BIT_MASK(32);
29 static struct platform_device ehci_device = {
33 .dma_mask = &sead3_usbdev_dma_mask,
34 .coherent_dma_mask = DMA_BIT_MASK(32)
36 .num_resources = ARRAY_SIZE(ehci_resources),
37 .resource = ehci_resources
40 static int __init ehci_init(void)
43 ehci_resources[1].start = MIPS_GIC_IRQ_BASE + GIC_INT_EHCI;
45 ehci_resources[1].start = MIPS_CPU_IRQ_BASE + CPU_INT_EHCI;
46 return platform_device_register(&ehci_device);
49 module_init(ehci_init);
51 MODULE_AUTHOR("Chris Dearman <chris@mips.com>");
52 MODULE_LICENSE("GPL");
53 MODULE_DESCRIPTION("EHCI probe driver for SEAD3");