aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/bcma
diff options
context:
space:
mode:
authorRafał Miłecki <rafal@milecki.pl>2016-08-10 11:56:46 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-08-15 16:25:59 +0200
commitd6b76c4ddb124dd22c6e910ca9332e472e7b3273 (patch)
treeeb743699e2273c7277b796d15a293c8d0b203aeb /include/linux/bcma
parentusbip: vhci_hcd: fix return value check in add_platform_device() (diff)
downloadwireguard-linux-d6b76c4ddb124dd22c6e910ca9332e472e7b3273.tar.xz
wireguard-linux-d6b76c4ddb124dd22c6e910ca9332e472e7b3273.zip
USB: bcma: support old USB 2.0 controller on Northstar devices
Currently bcma-hcd driver handles 3 different bcma cores: 1) BCMA_CORE_USB20_HOST (0x819) 2) BCMA_CORE_NS_USB20 (0x504) 3) BCMA_CORE_NS_USB30 (0x505) The first one was introduced years ago and so far was used on MIPS devices only. All Northstar (ARM) devices were using other two cores which allowed easy implementation of separated initialization paths. It seems however Broadcom decided to reuse this old USB 2.0 controller on some recently introduced cheaper Northstar BCM53573 SoCs. I noticed this on Tenda AC9 (based on BCM47189B0 belonging to BCM53573 family). There is no difference in this old controller core identification between MIPS and ARM devices: they share the same id and revision. We need different controller initialization procedure however. To handle this add a check for architecture and implement required initialization for ARM case. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/bcma')
-rw-r--r--include/linux/bcma/bcma_regs.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/bcma/bcma_regs.h b/include/linux/bcma/bcma_regs.h
index ebd5c1fcdea4..4901fb358b07 100644
--- a/include/linux/bcma/bcma_regs.h
+++ b/include/linux/bcma/bcma_regs.h
@@ -10,6 +10,7 @@
#define BCMA_CLKCTLST_HAVEALPREQ 0x00000008 /* ALP available request */
#define BCMA_CLKCTLST_HAVEHTREQ 0x00000010 /* HT available request */
#define BCMA_CLKCTLST_HWCROFF 0x00000020 /* Force HW clock request off */
+#define BCMA_CLKCTLST_HQCLKREQ 0x00000040 /* HQ Clock */
#define BCMA_CLKCTLST_EXTRESREQ 0x00000700 /* Mask of external resource requests */
#define BCMA_CLKCTLST_EXTRESREQ_SHIFT 8
#define BCMA_CLKCTLST_HAVEALP 0x00010000 /* ALP available */