diff options
author | Franky Lin <frankyl@broadcom.com> | 2012-05-05 01:27:31 (GMT) |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-05-15 21:27:56 (GMT) |
commit | e9b8d91d5555e64d30c3b972795579e6d8619908 (patch) | |
tree | 784deda314aa31dbc0348811b4a66333a855fe7a /drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h | |
parent | 7d9cfc28269b10b19678d7cb57892afec85af8fb (diff) | |
download | linux-fsl-qoriq-e9b8d91d5555e64d30c3b972795579e6d8619908.tar.xz |
brcmfmac: introduce unified register access interface for SDIO
Both brcmf_sdcard_cfg_read/write and brcmf_sdcard_reg_read/write
are used as interface functions for register access of SDIO WiFi
dongle. A unified interface brcmf_sdio_regr/w is introduced in
this patch in order to simplify the interface and keep the
complexity within the lower layer.
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Franky Lin <frankyl@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h')
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h b/drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h index 6df06cf..d6ed2d8 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h +++ b/drivers/net/wireless/brcm80211/brcmfmac/sdio_host.h @@ -40,6 +40,10 @@ /* Maximum number of I/O funcs */ #define SDIOD_MAX_IOFUNCS 7 +/* mask of register map */ +#define REG_F0_CCCR_MASK 0xFF +#define REG_F1_MISC_MASK 0x1FFFF + /* as of sdiod rev 0, supports 3 functions */ #define SBSDIO_NUM_FUNCTION 3 @@ -186,6 +190,14 @@ brcmf_sdcard_reg_read(struct brcmf_sdio_dev *sdiodev, u32 addr); extern u32 brcmf_sdcard_reg_write(struct brcmf_sdio_dev *sdiodev, u32 addr, u32 data); +/* sdio device register access interface */ +extern u8 brcmf_sdio_regrb(struct brcmf_sdio_dev *sdiodev, u32 addr, int *ret); +extern u32 brcmf_sdio_regrl(struct brcmf_sdio_dev *sdiodev, u32 addr, int *ret); +extern void brcmf_sdio_regwb(struct brcmf_sdio_dev *sdiodev, u32 addr, + u8 data, int *ret); +extern void brcmf_sdio_regwl(struct brcmf_sdio_dev *sdiodev, u32 addr, + u32 data, int *ret); + /* Indicate if last reg read/write failed */ extern bool brcmf_sdcard_regfail(struct brcmf_sdio_dev *sdiodev); |