aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@openwrt.org>2011-12-23 17:21:52 +0000
committerHauke Mehrtens <hauke@openwrt.org>2011-12-23 17:21:52 +0000
commit6916e5eec45d418ba312e557c9e78aca593703de (patch)
tree9d28e71060ba48f1a658e586db1d2eadbdfc2ca5
parentc9bc227e9d105728fdd04fa80e81b31370547f60 (diff)
downloadmaster-187ad058-6916e5eec45d418ba312e557c9e78aca593703de.tar.gz
master-187ad058-6916e5eec45d418ba312e557c9e78aca593703de.tar.bz2
master-187ad058-6916e5eec45d418ba312e557c9e78aca593703de.zip
brcm47xx: fix usb on more recent bcma based devices.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29605 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--target/linux/brcm47xx/patches-3.0/0032-USB-Add-driver-for-the-bcma-bus.patch9
1 files changed, 5 insertions, 4 deletions
diff --git a/target/linux/brcm47xx/patches-3.0/0032-USB-Add-driver-for-the-bcma-bus.patch b/target/linux/brcm47xx/patches-3.0/0032-USB-Add-driver-for-the-bcma-bus.patch
index 3a35ac80e1..cecc017d0b 100644
--- a/target/linux/brcm47xx/patches-3.0/0032-USB-Add-driver-for-the-bcma-bus.patch
+++ b/target/linux/brcm47xx/patches-3.0/0032-USB-Add-driver-for-the-bcma-bus.patch
@@ -46,7 +46,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+obj-$(CONFIG_USB_HCD_BCMA) += bcma-hcd.o
--- /dev/null
+++ b/drivers/usb/host/bcma-hcd.c
-@@ -0,0 +1,298 @@
+@@ -0,0 +1,299 @@
+/*
+ * Broadcom specific Advanced Microcontroller Bus
+ * Broadcom USB-core driver (BCMA bus glue)
@@ -106,7 +106,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+ tmp = bcma_read32(dev, 0x1e0);
+ tmp |= 0x100;
+ bcma_write32(dev, 0x1e0, tmp);
-+ if (bcma_wait_bits(dev, 0x1e0, 1 << 24, 100, 0))
++ if (bcma_wait_bits(dev, 0x1e0, 1 << 24, 100, 1))
+ printk(KERN_EMERG "Failed to enable misc PPL!\n");
+
+ /* Take out of resets */
@@ -132,10 +132,11 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+ udelay(50);
+ tmp = bcma_read32(dev, 0x524);
+
-+ if (bcma_wait_bits(dev, 0x528, 0xc000, 10000, 1))
++ if (bcma_wait_bits(dev, 0x528, 0xc000, 10000, 1)) {
++ tmp = bcma_read32(dev, 0x528);
+ printk(KERN_EMERG
+ "USB20H mdio_rddata 0x%08x\n", tmp);
-+
++ }
+ bcma_write32(dev, 0x528, 0x80000000);
+ tmp = bcma_read32(dev, 0x314);
+ udelay(265);