2 * Platform device support for Au1x00 SoCs.
4 * Copyright 2004, Matt Porter <mporter@kernel.crashing.org>
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without any
8 * warranty of any kind, whether express or implied.
10 #include <linux/device.h>
11 #include <linux/kernel.h>
12 #include <linux/init.h>
13 #include <linux/resource.h>
15 #include <asm/mach-au1x00/au1000.h>
17 static struct resource au1xxx_usb_ohci_resources
[] = {
19 .start
= USB_OHCI_BASE
,
20 .end
= USB_OHCI_BASE
+ USB_OHCI_LEN
,
21 .flags
= IORESOURCE_MEM
,
24 .start
= AU1000_USB_HOST_INT
,
25 .end
= AU1000_USB_HOST_INT
,
26 .flags
= IORESOURCE_IRQ
,
30 /* The dmamask must be set for OHCI to work */
31 static u64 ohci_dmamask
= ~(u32
)0;
33 static struct platform_device au1xxx_usb_ohci_device
= {
34 .name
= "au1xxx-ohci",
37 .dma_mask
= &ohci_dmamask
,
38 .coherent_dma_mask
= 0xffffffff,
40 .num_resources
= ARRAY_SIZE(au1xxx_usb_ohci_resources
),
41 .resource
= au1xxx_usb_ohci_resources
,
44 static struct platform_device
*au1xxx_platform_devices
[] __initdata
= {
45 &au1xxx_usb_ohci_device
,
48 int au1xxx_platform_init(void)
50 return platform_add_devices(au1xxx_platform_devices
, ARRAY_SIZE(au1xxx_platform_devices
));
53 arch_initcall(au1xxx_platform_init
);