forked from Minki/linux
brcm80211: fmac: abstract chip core revision function
Prepare for adding backplane interconnect type support Reviewed-by: Arend van Spriel <arend@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>
This commit is contained in:
parent
d8f64a425b
commit
454d2a8816
@ -3914,9 +3914,7 @@ brcmf_sdbrcm_probe_attach(struct brcmf_bus *bus, u32 regsva)
|
||||
|
||||
brcmf_sdbrcm_sdiod_drive_strength_init(bus, SDIO_DRIVE_STRENGTH);
|
||||
|
||||
/* Get info on the ARM and SOCRAM cores... */
|
||||
brcmf_sdcard_reg_read(bus->sdiodev,
|
||||
CORE_SB(bus->ci->armcorebase, sbidhigh), 4);
|
||||
/* Get info on the SOCRAM cores... */
|
||||
bus->ramsize = bus->ci->ramsize;
|
||||
if (!(bus->ramsize)) {
|
||||
brcmf_dbg(ERROR, "failed to find SOCRAM memory!\n");
|
||||
|
@ -52,6 +52,17 @@
|
||||
#define SBIDH_VC_MASK 0xffff0000 /* vendor code */
|
||||
#define SBIDH_VC_SHIFT 16
|
||||
|
||||
static u32
|
||||
brcmf_sdio_chip_corerev(struct brcmf_sdio_dev *sdiodev,
|
||||
u32 corebase)
|
||||
{
|
||||
u32 regdata;
|
||||
|
||||
regdata = brcmf_sdcard_reg_read(sdiodev,
|
||||
CORE_SB(corebase, sbidhigh), 4);
|
||||
return SBCOREREV(regdata);
|
||||
}
|
||||
|
||||
bool
|
||||
brcmf_sdio_chip_iscoreup(struct brcmf_sdio_dev *sdiodev,
|
||||
u32 corebase)
|
||||
@ -234,9 +245,7 @@ brcmf_sdio_chip_buscoresetup(struct brcmf_sdio_dev *sdiodev,
|
||||
u32 regdata;
|
||||
|
||||
/* get chipcommon rev */
|
||||
regdata = brcmf_sdcard_reg_read(sdiodev,
|
||||
CORE_SB(ci->cccorebase, sbidhigh), 4);
|
||||
ci->ccrev = SBCOREREV(regdata);
|
||||
ci->ccrev = brcmf_sdio_chip_corerev(sdiodev, ci->cccorebase);
|
||||
|
||||
/* get chipcommon capabilites */
|
||||
ci->cccaps = brcmf_sdcard_reg_read(sdiodev,
|
||||
@ -249,9 +258,10 @@ brcmf_sdio_chip_buscoresetup(struct brcmf_sdio_dev *sdiodev,
|
||||
ci->pmurev = ci->pmucaps & PCAP_REV_MASK;
|
||||
}
|
||||
|
||||
|
||||
ci->buscorerev = brcmf_sdio_chip_corerev(sdiodev, ci->buscorebase);
|
||||
regdata = brcmf_sdcard_reg_read(sdiodev,
|
||||
CORE_SB(ci->buscorebase, sbidhigh), 4);
|
||||
ci->buscorerev = SBCOREREV(regdata);
|
||||
ci->buscoretype = (regdata & SBIDH_CC_MASK) >> SBIDH_CC_SHIFT;
|
||||
|
||||
brcmf_dbg(INFO, "ccrev=%d, pmurev=%d, buscore rev/type=%d/0x%x\n",
|
||||
|
Loading…
Reference in New Issue
Block a user