summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>2017-12-14 16:43:25 +0100
committerJakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>2018-01-29 15:29:20 +0100
commit4f1ca67d443b1ceac41ef4875bf55ad090319a28 (patch)
tree4801c41b500df7afa090834dc8ee4e7713b8ce2f
parentad3dc70f0cf71ee195a44caab8407737599f0aee (diff)
puma: workarounds for AP6255 wifi module
Sleep must be disabled as the module does not seem to wake up again when plugged into the MicroSD slot. Signed-off-by: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3399-puma.dts4
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/sdio.c5
2 files changed, 7 insertions, 2 deletions
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-puma.dts b/arch/arm64/boot/dts/rockchip/rk3399-puma.dts
index 2bbcdebd4420..339dc08fc6f1 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-puma.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-puma.dts
@@ -688,7 +688,9 @@
/* Q7_SDIO - External SD Card */
&sdmmc {
- max-frequency = <50000000>; // 50 MHz = High Speed 3.3V
+ // On the AP6255 Wifi module, firmware download fails above 25 MHz. Set to 10 MHz to be safe.
+ max-frequency = <10000000>;
+ //max-frequency = <50000000>; // 50 MHz = High Speed 3.3V
supports-sdio;
supports-sd;
bus-width = <4>;
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/brcm80211/brcmfmac/sdio.c
index bcf29bf6f727..2e9cc44d6346 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/sdio.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/sdio.c
@@ -309,7 +309,10 @@ struct rte_console {
#define BRCMF_IDLE_ACTIVE 0 /* Do not request any SD clock change
* when idle
*/
-#define BRCMF_IDLE_INTERVAL 1
+
+// The AP6255 Wifi module plugged into the Haikou baseboard does not
+// wake up once it is sent to sleep. Disable sleep for now.
+#define BRCMF_IDLE_INTERVAL 0
#define KSO_WAIT_US 50
#define MAX_KSO_ATTEMPTS (PMU_MAX_TRANSITION_DLY/KSO_WAIT_US)