ixp4xx: fix usb on cambria boards by using the ehci-platform driver

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 38740
This commit is contained in:
Felix Fietkau 2013-11-11 16:51:01 +00:00
parent f48568af8e
commit e3a335c2c4

View File

@ -125,7 +125,7 @@
+subsys_initcall(cambria_pci_init); +subsys_initcall(cambria_pci_init);
--- /dev/null --- /dev/null
+++ b/arch/arm/mach-ixp4xx/cambria-setup.c +++ b/arch/arm/mach-ixp4xx/cambria-setup.c
@@ -0,0 +1,993 @@ @@ -0,0 +1,1003 @@
+/* +/*
+ * arch/arm/mach-ixp4xx/cambria-setup.c + * arch/arm/mach-ixp4xx/cambria-setup.c
+ * + *
@ -163,6 +163,7 @@
+#include <linux/types.h> +#include <linux/types.h>
+#include <linux/tty.h> +#include <linux/tty.h>
+#include <linux/irq.h> +#include <linux/irq.h>
+#include <linux/usb/ehci_pdriver.h>
+ +
+#include <mach/hardware.h> +#include <mach/hardware.h>
+#include <asm/irq.h> +#include <asm/irq.h>
@ -634,25 +635,34 @@
+ +
+static u64 ehci_dma_mask = ~(u32)0; +static u64 ehci_dma_mask = ~(u32)0;
+ +
+static struct usb_ehci_pdata cambria_usb_pdata = {
+ .big_endian_desc = 1,
+ .big_endian_mmio = 1,
+ .has_tt = 1,
+ .caps_offset = 0x100,
+};
+
+static struct platform_device cambria_usb0_device = { +static struct platform_device cambria_usb0_device = {
+ .name = "ixp4xx-ehci", + .name = "ehci-platform",
+ .id = 0, + .id = 0,
+ .resource = cambria_usb0_resources, + .resource = cambria_usb0_resources,
+ .num_resources = ARRAY_SIZE(cambria_usb0_resources), + .num_resources = ARRAY_SIZE(cambria_usb0_resources),
+ .dev = { + .dev = {
+ .dma_mask = &ehci_dma_mask, + .dma_mask = &ehci_dma_mask,
+ .coherent_dma_mask = 0xffffffff, + .coherent_dma_mask = 0xffffffff,
+ .platform_data = &cambria_usb_pdata,
+ }, + },
+}; +};
+ +
+static struct platform_device cambria_usb1_device = { +static struct platform_device cambria_usb1_device = {
+ .name = "ixp4xx-ehci", + .name = "ehci-platform",
+ .id = 1, + .id = 1,
+ .resource = cambria_usb1_resources, + .resource = cambria_usb1_resources,
+ .num_resources = ARRAY_SIZE(cambria_usb1_resources), + .num_resources = ARRAY_SIZE(cambria_usb1_resources),
+ .dev = { + .dev = {
+ .dma_mask = &ehci_dma_mask, + .dma_mask = &ehci_dma_mask,
+ .coherent_dma_mask = 0xffffffff, + .coherent_dma_mask = 0xffffffff,
+ .platform_data = &cambria_usb_pdata,
+ }, + },
+}; +};
+ +