From 9edd7e969b13456fa0a275d34f4b18d93f7168d3 Mon Sep 17 00:00:00 2001 From: nbd Date: Mon, 11 Nov 2013 16:51:01 +0000 Subject: [PATCH] ixp4xx: fix usb on cambria boards by using the ehci-platform driver Signed-off-by: Felix Fietkau git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38740 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../linux/ixp4xx/patches-3.10/190-cambria_support.patch | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/target/linux/ixp4xx/patches-3.10/190-cambria_support.patch b/target/linux/ixp4xx/patches-3.10/190-cambria_support.patch index 7698912cce..c3de81a117 100644 --- a/target/linux/ixp4xx/patches-3.10/190-cambria_support.patch +++ b/target/linux/ixp4xx/patches-3.10/190-cambria_support.patch @@ -125,7 +125,7 @@ +subsys_initcall(cambria_pci_init); --- /dev/null +++ b/arch/arm/mach-ixp4xx/cambria-setup.c -@@ -0,0 +1,993 @@ +@@ -0,0 +1,1003 @@ +/* + * arch/arm/mach-ixp4xx/cambria-setup.c + * @@ -163,6 +163,7 @@ +#include +#include +#include ++#include + +#include +#include @@ -634,25 +635,34 @@ + +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 = { -+ .name = "ixp4xx-ehci", ++ .name = "ehci-platform", + .id = 0, + .resource = cambria_usb0_resources, + .num_resources = ARRAY_SIZE(cambria_usb0_resources), + .dev = { + .dma_mask = &ehci_dma_mask, + .coherent_dma_mask = 0xffffffff, ++ .platform_data = &cambria_usb_pdata, + }, +}; + +static struct platform_device cambria_usb1_device = { -+ .name = "ixp4xx-ehci", ++ .name = "ehci-platform", + .id = 1, + .resource = cambria_usb1_resources, + .num_resources = ARRAY_SIZE(cambria_usb1_resources), + .dev = { + .dma_mask = &ehci_dma_mask, + .coherent_dma_mask = 0xffffffff, ++ .platform_data = &cambria_usb_pdata, + }, +}; + -- 2.11.0