* [PATCH] brcmfmac: add support for bcm43362 device
@ 2014-01-08 9:49 Arend van Spriel
2014-01-08 12:49 ` [linux-sunxi] " Julian Calaby
2014-01-09 10:48 ` Rafał Miłecki
0 siblings, 2 replies; 4+ messages in thread
From: Arend van Spriel @ 2014-01-08 9:49 UTC (permalink / raw)
To: John W. Linville
Cc: linux-wireless, linux-sunxi, Chen-Yu Tsai, Arend van Spriel
This patch adds support for the bcm43362 1x1 11n chipset. This
chipset is used in AP6210 wifi module found on Cubieboard [1].
[1] http://cubieboard.org/
Reviewed-by: Franky Lin <frankyl@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
---
Hi John,
Here a straggler for new device support that people
playing with Cubieboards have been asking for. Intended
for v3.14 kernel.
Regards,
Arend
---
drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c | 1 +
drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c | 5 +++
.../net/wireless/brcm80211/brcmfmac/sdio_chip.c | 33 ++++++++++++++++++++
.../net/wireless/brcm80211/include/brcm_hw_ids.h | 1 +
4 files changed, 40 insertions(+)
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
index 68dd999..34c993d 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
@@ -945,6 +945,7 @@ static const struct sdio_device_id brcmf_sdmmc_ids[] = {
{SDIO_DEVICE(SDIO_VENDOR_ID_BROADCOM, SDIO_DEVICE_ID_BROADCOM_4329)},
{SDIO_DEVICE(SDIO_VENDOR_ID_BROADCOM, SDIO_DEVICE_ID_BROADCOM_4330)},
{SDIO_DEVICE(SDIO_VENDOR_ID_BROADCOM, SDIO_DEVICE_ID_BROADCOM_4334)},
+ {SDIO_DEVICE(SDIO_VENDOR_ID_BROADCOM, SDIO_DEVICE_ID_BROADCOM_43362)},
{SDIO_DEVICE(SDIO_VENDOR_ID_BROADCOM,
SDIO_DEVICE_ID_BROADCOM_4335_4339)},
{ /* end: all zeroes */ },
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
index 2bf4757..9c7f08a 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
@@ -509,6 +509,8 @@ enum brcmf_sdio_frmtype {
#define BCM4334_NVRAM_NAME "brcm/brcmfmac4334-sdio.txt"
#define BCM4335_FIRMWARE_NAME "brcm/brcmfmac4335-sdio.bin"
#define BCM4335_NVRAM_NAME "brcm/brcmfmac4335-sdio.txt"
+#define BCM43362_FIRMWARE_NAME "brcm/brcmfmac43362-sdio.bin"
+#define BCM43362_NVRAM_NAME "brcm/brcmfmac43362-sdio.txt"
#define BCM4339_FIRMWARE_NAME "brcm/brcmfmac4339-sdio.bin"
#define BCM4339_NVRAM_NAME "brcm/brcmfmac4339-sdio.txt"
@@ -526,6 +528,8 @@ MODULE_FIRMWARE(BCM4334_FIRMWARE_NAME);
MODULE_FIRMWARE(BCM4334_NVRAM_NAME);
MODULE_FIRMWARE(BCM4335_FIRMWARE_NAME);
MODULE_FIRMWARE(BCM4335_NVRAM_NAME);
+MODULE_FIRMWARE(BCM43362_FIRMWARE_NAME);
+MODULE_FIRMWARE(BCM43362_NVRAM_NAME);
MODULE_FIRMWARE(BCM4339_FIRMWARE_NAME);
MODULE_FIRMWARE(BCM4339_NVRAM_NAME);
@@ -552,6 +556,7 @@ static const struct brcmf_firmware_names brcmf_fwname_data[] = {
{ BCM4330_CHIP_ID, 0xFFFFFFFF, BRCMF_FIRMWARE_NVRAM(BCM4330) },
{ BCM4334_CHIP_ID, 0xFFFFFFFF, BRCMF_FIRMWARE_NVRAM(BCM4334) },
{ BCM4335_CHIP_ID, 0xFFFFFFFF, BRCMF_FIRMWARE_NVRAM(BCM4335) },
+ { BCM43362_CHIP_ID, 0xFFFFFFFE, BRCMF_FIRMWARE_NVRAM(BCM43362) },
{ BCM4339_CHIP_ID, 0xFFFFFFFF, BRCMF_FIRMWARE_NVRAM(BCM4339) }
};
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.c b/drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.c
index a0b8409..9fd4067 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/sdio_chip.c
@@ -84,6 +84,17 @@ static const struct sdiod_drive_str sdiod_drvstr_tab1_1v8[] = {
{0, 0x1}
};
+/* SDIO Drive Strength to sel value table for PMU Rev 13 (1.8v) */
+static const struct sdiod_drive_str sdiod_drive_strength_tab5_1v8[] = {
+ {6, 0x7},
+ {5, 0x6},
+ {4, 0x5},
+ {3, 0x4},
+ {2, 0x2},
+ {1, 0x1},
+ {0, 0x0}
+};
+
/* SDIO Drive Strength to sel value table for PMU Rev 17 (1.8v) */
static const struct sdiod_drive_str sdiod_drvstr_tab6_1v8[] = {
{3, 0x3},
@@ -577,6 +588,23 @@ static int brcmf_sdio_chip_recognition(struct brcmf_sdio_dev *sdiodev,
ci->ramsize = 0xc0000;
ci->rambase = 0x180000;
break;
+ case BCM43362_CHIP_ID:
+ ci->c_inf[0].wrapbase = 0x18100000;
+ ci->c_inf[0].cib = 0x27004211;
+ ci->c_inf[1].id = BCMA_CORE_SDIO_DEV;
+ ci->c_inf[1].base = 0x18002000;
+ ci->c_inf[1].wrapbase = 0x18102000;
+ ci->c_inf[1].cib = 0x0a004211;
+ ci->c_inf[2].id = BCMA_CORE_INTERNAL_MEM;
+ ci->c_inf[2].base = 0x18004000;
+ ci->c_inf[2].wrapbase = 0x18104000;
+ ci->c_inf[2].cib = 0x08080401;
+ ci->c_inf[3].id = BCMA_CORE_ARM_CM3;
+ ci->c_inf[3].base = 0x18003000;
+ ci->c_inf[3].wrapbase = 0x18103000;
+ ci->c_inf[3].cib = 0x03004211;
+ ci->ramsize = 0x3C000;
+ break;
default:
brcmf_err("chipid 0x%x is not supported\n", ci->chip);
return -ENODEV;
@@ -782,6 +810,11 @@ brcmf_sdio_chip_drivestrengthinit(struct brcmf_sdio_dev *sdiodev,
brcmf_sdio_chip_name(ci->chip, chn, 8),
drivestrength);
break;
+ case SDIOD_DRVSTR_KEY(BCM43362_CHIP_ID, 13):
+ str_tab = sdiod_drive_strength_tab5_1v8;
+ str_mask = 0x00003800;
+ str_shift = 11;
+ break;
default:
brcmf_err("No SDIO Drive strength init done for chip %s rev %d pmurev %d\n",
brcmf_sdio_chip_name(ci->chip, chn, 8),
diff --git a/drivers/net/wireless/brcm80211/include/brcm_hw_ids.h b/drivers/net/wireless/brcm80211/include/brcm_hw_ids.h
index 84113ea..6fa5d48 100644
--- a/drivers/net/wireless/brcm80211/include/brcm_hw_ids.h
+++ b/drivers/net/wireless/brcm80211/include/brcm_hw_ids.h
@@ -41,6 +41,7 @@
#define BCM4331_CHIP_ID 0x4331
#define BCM4334_CHIP_ID 0x4334
#define BCM4335_CHIP_ID 0x4335
+#define BCM43362_CHIP_ID 43362
#define BCM4339_CHIP_ID 0x4339
#endif /* _BRCM_HW_IDS_H_ */
--
1.7.10.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [linux-sunxi] [PATCH] brcmfmac: add support for bcm43362 device
2014-01-08 9:49 [PATCH] brcmfmac: add support for bcm43362 device Arend van Spriel
@ 2014-01-08 12:49 ` Julian Calaby
2014-01-08 17:40 ` Arend van Spriel
2014-01-09 10:48 ` Rafał Miłecki
1 sibling, 1 reply; 4+ messages in thread
From: Julian Calaby @ 2014-01-08 12:49 UTC (permalink / raw)
To: linux-sunxi
Cc: John W. Linville, linux-wireless, Chen-Yu Tsai, Arend van Spriel
Hi Arend,
On Wed, Jan 8, 2014 at 8:49 PM, Arend van Spriel <arend@broadcom.com> wrote:
> This patch adds support for the bcm43362 1x1 11n chipset. This
> chipset is used in AP6210 wifi module found on Cubieboard [1].
>
> [1] http://cubieboard.org/
>
> Reviewed-by: Franky Lin <frankyl@broadcom.com>
> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
> Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
> Signed-off-by: Arend van Spriel <arend@broadcom.com>
> ---
> Hi John,
>
> Here a straggler for new device support that people
> playing with Cubieboards have been asking for. Intended
> for v3.14 kernel.
>
> Regards,
> Arend
> ---
> drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c | 1 +
> drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c | 5 +++
> .../net/wireless/brcm80211/brcmfmac/sdio_chip.c | 33 ++++++++++++++++++++
> .../net/wireless/brcm80211/include/brcm_hw_ids.h | 1 +
> 4 files changed, 40 insertions(+)
>
> diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
> index 2bf4757..9c7f08a 100644
> --- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
> +++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
> @@ -509,6 +509,8 @@ enum brcmf_sdio_frmtype {
> #define BCM4334_NVRAM_NAME "brcm/brcmfmac4334-sdio.txt"
> #define BCM4335_FIRMWARE_NAME "brcm/brcmfmac4335-sdio.bin"
> #define BCM4335_NVRAM_NAME "brcm/brcmfmac4335-sdio.txt"
> +#define BCM43362_FIRMWARE_NAME "brcm/brcmfmac43362-sdio.bin"
> +#define BCM43362_NVRAM_NAME "brcm/brcmfmac43362-sdio.txt"
I haven't been following the discussion so this may be redundant, but
is this firmware is presently winging it's way towards Linux-firmware?
Thanks,
--
Julian Calaby
Email: julian.calaby@gmail.com
Profile: http://www.google.com/profiles/julian.calaby/
.Plan: http://sites.google.com/site/juliancalaby/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [linux-sunxi] [PATCH] brcmfmac: add support for bcm43362 device
2014-01-08 12:49 ` [linux-sunxi] " Julian Calaby
@ 2014-01-08 17:40 ` Arend van Spriel
0 siblings, 0 replies; 4+ messages in thread
From: Arend van Spriel @ 2014-01-08 17:40 UTC (permalink / raw)
To: Julian Calaby, linux-sunxi; +Cc: John W. Linville, linux-wireless, Chen-Yu Tsai
On 01/08/2014 01:49 PM, Julian Calaby wrote:
> Hi Arend,
>
> On Wed, Jan 8, 2014 at 8:49 PM, Arend van Spriel <arend@broadcom.com> wrote:
>> This patch adds support for the bcm43362 1x1 11n chipset. This
>> chipset is used in AP6210 wifi module found on Cubieboard [1].
>>
>> [1] http://cubieboard.org/
>>
>> Reviewed-by: Franky Lin <frankyl@broadcom.com>
>> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
>> Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
>> Signed-off-by: Arend van Spriel <arend@broadcom.com>
>> ---
>> Hi John,
>>
>> Here a straggler for new device support that people
>> playing with Cubieboards have been asking for. Intended
>> for v3.14 kernel.
>>
>> Regards,
>> Arend
>> ---
>> drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c | 1 +
>> drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c | 5 +++
>> .../net/wireless/brcm80211/brcmfmac/sdio_chip.c | 33 ++++++++++++++++++++
>> .../net/wireless/brcm80211/include/brcm_hw_ids.h | 1 +
>> 4 files changed, 40 insertions(+)
>>
>> diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
>> index 2bf4757..9c7f08a 100644
>> --- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
>> +++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
>> @@ -509,6 +509,8 @@ enum brcmf_sdio_frmtype {
>> #define BCM4334_NVRAM_NAME "brcm/brcmfmac4334-sdio.txt"
>> #define BCM4335_FIRMWARE_NAME "brcm/brcmfmac4335-sdio.bin"
>> #define BCM4335_NVRAM_NAME "brcm/brcmfmac4335-sdio.txt"
>> +#define BCM43362_FIRMWARE_NAME "brcm/brcmfmac43362-sdio.bin"
>> +#define BCM43362_NVRAM_NAME "brcm/brcmfmac43362-sdio.txt"
>
> I haven't been following the discussion so this may be redundant, but
> is this firmware is presently winging it's way towards Linux-firmware?
Hi Julian,
The patch for that still has to go out. I am looking whether we have a
newer firmware release as the one found on cubieboard.org [1]. So the
firmware did not set sail yet (expect it soon :-) ).
Regards,
Arend
[1] http://dl.cubieboard.org/public/Cubieboard/benn/firmware/ap6210/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] brcmfmac: add support for bcm43362 device
2014-01-08 9:49 [PATCH] brcmfmac: add support for bcm43362 device Arend van Spriel
2014-01-08 12:49 ` [linux-sunxi] " Julian Calaby
@ 2014-01-09 10:48 ` Rafał Miłecki
1 sibling, 0 replies; 4+ messages in thread
From: Rafał Miłecki @ 2014-01-09 10:48 UTC (permalink / raw)
To: Arend van Spriel
Cc: John W. Linville, linux-wireless@vger.kernel.org, linux-sunxi,
Chen-Yu Tsai
2014/1/8 Arend van Spriel <arend@broadcom.com>:
> This patch adds support for the bcm43362 1x1 11n chipset. This
> chipset is used in AP6210 wifi module found on Cubieboard [1].
Will you update http://wireless.kernel.org/en/users/Drivers/brcm80211
please? Now, or when it's pushed, whenever you prefer :)
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-01-09 10:48 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-08 9:49 [PATCH] brcmfmac: add support for bcm43362 device Arend van Spriel
2014-01-08 12:49 ` [linux-sunxi] " Julian Calaby
2014-01-08 17:40 ` Arend van Spriel
2014-01-09 10:48 ` Rafał Miłecki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).