@@ -2355,8 +2355,9 @@ static int dw_mci_init_slot(struct dw_mci *host, unsigned int id)
if (ret == -EPROBE_DEFER)
goto err_host_allocated;
- if (!mmc->ocr_avail)
- mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34;
+ if (!mmc->ocr_avail || !strcmp("mmc0", mmc_hostname(mmc)))
+ mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34 |
+ MMC_VDD_165_195 | MMC_VDD_20_21;
if (host->pdata->caps)
mmc->caps = host->pdata->caps;
--
1.9.1
Here I have some limitation of the frequency. If I choose more the 5Mhz
I can start to have -110 e/o timeout on firmware. Firmware is the
ap6535 firmware. Wifi is stable and working on this frequency
static int dw_mci_execute_tuning(struct mmc_host *mmc, u32 opcode)
{
struct dw_mci_slot *slot = mmc_priv(mmc);
struct dw_mci *host = slot->host;
const struct dw_mci_drv_data *drv_data = host->drv_data;
int err = 0;
if (drv_data && drv_data->execute_tuning)
err = drv_data->execute_tuning(slot);
return err;
}
I have changed this to report 0 in case excute tuning is not implemented
From 4d68f996e28aa135a331e67ccd95874632276606 Mon Sep 17 00:00:00 2001
From: Michael Trimarchi <michael@amarulasolutions.com>
Date: Tue, 21 Jul 2015 15:21:48 +0200
Subject: [PATCH] firefly: add a minimal wifi settings
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
---
arch/arm/boot/dts/rk3288-firefly.dtsi | 33 ++++++++++++++++++++++++++++++++-
1 file changed, 32 insertions(+), 1 deletion(-)
@@ -116,6 +116,19 @@
vin-supply = <&vcc_io>;
};
+ vcc_wifi: wifi-regulator {
+ compatible = "regulator-fixed";
+ gpio = <&gpio4 28 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdio0_pwr>;
+ regulator-name = "vcc_wifi";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ startup-delay-us = <100000>;
+ vin-supply = <&vcc_io>;
+ };
+
+
vcc_flash: flash-regulator {
compatible = "regulator-fixed";
regulator-name = "vcc_flash";
@@ -460,13 +473,31 @@
&sdio0 {
broken-cd;
bus-width = <4>;
+ clock-freq-min-max = <400000 5000000>;
disable-wp;
non-removable;
+ cap-sd--highspeed;
num-slots = <1>;
pinctrl-names = "default";
- pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>;
+ pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>, <&sdio0_int>;
+
+ sd-uhs-sdr104;
+ sd-uhs-sdr12;
+ sd-uhs-sdr25;
+ cap-sdio-irq;
+
vmmc-supply = <&vcc_18>;
+/* mmc-supply = <&vcc_wifi>; */
status = "okay";
+
+ brcmf: bcrmf@1 {
+ compatible = "brcm,bcm4329-fmac";
+ interrupt-parent = <&gpio4>;
+ reg = <0>;
+ interrupts = <30 IRQ_TYPE_EDGE_FALLING>;
+ interrupt-names = "host-wake";
+ status = "okay";
+ };
};
&sdmmc {