diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2011-12-23 17:21:52 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2011-12-23 17:21:52 +0000 |
commit | 11125d68ed38c76048213fcda4eceeabcc888e53 (patch) | |
tree | 7d118b205d72228038255c6b4d58102d2ce63c49 /target/linux/brcm47xx/patches-3.0/0032-USB-Add-driver-for-the-bcma-bus.patch | |
parent | 7b1e525b56743a96c52cb25a6a12cbe7f5d58995 (diff) | |
download | mtk-20170518-11125d68ed38c76048213fcda4eceeabcc888e53.zip mtk-20170518-11125d68ed38c76048213fcda4eceeabcc888e53.tar.gz mtk-20170518-11125d68ed38c76048213fcda4eceeabcc888e53.tar.bz2 |
brcm47xx: fix usb on more recent bcma based devices.
SVN-Revision: 29605
Diffstat (limited to 'target/linux/brcm47xx/patches-3.0/0032-USB-Add-driver-for-the-bcma-bus.patch')
-rw-r--r-- | target/linux/brcm47xx/patches-3.0/0032-USB-Add-driver-for-the-bcma-bus.patch | 9 |
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 3a35ac8..cecc017 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); |