summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.h
diff options
context:
space:
mode:
authorFranky Lin2011-11-04 22:23:29 +0100
committerJohn W. Linville2011-11-09 22:13:56 +0100
commite63ac6b888eed345f5b93751649515d6436abed2 (patch)
treee52ae8f6db00cb2058b377f2852f08270e318946 /drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.h
parentbrcm80211: fmac: move chip recognition function to sdio_chip.c (diff)
downloadkernel-qcow2-linux-e63ac6b888eed345f5b93751649515d6436abed2.tar.gz
kernel-qcow2-linux-e63ac6b888eed345f5b93751649515d6436abed2.tar.xz
kernel-qcow2-linux-e63ac6b888eed345f5b93751649515d6436abed2.zip
brcm80211: fmac: move bus core prep code to sdio_chip.c
This patch is part of abstracting chip backplane handle code series. Reviewed-by: Arend van Spriel <arend@broadcom.com> Reviewed-by: Roland Vossen <rvossen@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.h')
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.h b/drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.h
index 95951863480b..2d75b8c55de9 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.h
+++ b/drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.h
@@ -28,6 +28,30 @@
#define CORE_SB(base, field) \
(base + SBCONFIGOFF + offsetof(struct sbconfig, field))
+/* SDIO function 1 register CHIPCLKCSR */
+/* Force ALP request to backplane */
+#define SBSDIO_FORCE_ALP 0x01
+/* Force HT request to backplane */
+#define SBSDIO_FORCE_HT 0x02
+/* Force ILP request to backplane */
+#define SBSDIO_FORCE_ILP 0x04
+/* Make ALP ready (power up xtal) */
+#define SBSDIO_ALP_AVAIL_REQ 0x08
+/* Make HT ready (power up PLL) */
+#define SBSDIO_HT_AVAIL_REQ 0x10
+/* Squelch clock requests from HW */
+#define SBSDIO_FORCE_HW_CLKREQ_OFF 0x20
+/* Status: ALP is ready */
+#define SBSDIO_ALP_AVAIL 0x40
+/* Status: HT is ready */
+#define SBSDIO_HT_AVAIL 0x80
+#define SBSDIO_AVBITS (SBSDIO_HT_AVAIL | SBSDIO_ALP_AVAIL)
+#define SBSDIO_ALPAV(regval) ((regval) & SBSDIO_AVBITS)
+#define SBSDIO_HTAV(regval) (((regval) & SBSDIO_AVBITS) == SBSDIO_AVBITS)
+#define SBSDIO_ALPONLY(regval) (SBSDIO_ALPAV(regval) && !SBSDIO_HTAV(regval))
+#define SBSDIO_CLKAV(regval, alponly) \
+ (SBSDIO_ALPAV(regval) && (alponly ? 1 : SBSDIO_HTAV(regval)))
+
struct chip_info {
u32 chip;
u32 chiprev;