Hi On Wed, Jul 22, 2015 at 08:45:37AM +0200, Romain Perier wrote: > Hi Michael, > > You can ask and discuss about wifi here, but could you re-send you > patches as described in [1] please ? > > Short version: > 1. git format-patch HEAD~2 # extract your two commits > 2. scripts/get_maintainer.pl -f <changed_files> # list maintainers > 3. git send-email --to --cc <emails listed by get_maintainer.pl> *.patch > I know how it works. Right now they are not patches but I will include them inline with some description in it to understand what problem I still have. The first one is an hack. Problem is this: card answer to me that support from 2.0V but regulator is connected to 1.8V. So capability report are wrong, for now this is just an hack >From 661979de16b3d0d010659a2e601209aa894d55f4 Mon Sep 17 00:00:00 2001 From: Michael Trimarchi <michael@xxxxxxxxxxxxxxxxxxxx> Date: Tue, 21 Jul 2015 16:14:13 +0200 Subject: [PATCH] dw_mmc: hack voltage response from wifi Signed-off-by: Michael Trimarchi <michael@xxxxxxxxxxxxxxxxxxxx> --- drivers/mmc/host/dw_mmc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index 923152a..5d2f38a 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c @@ -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@xxxxxxxxxxxxxxxxxxxx> Date: Tue, 21 Jul 2015 15:21:48 +0200 Subject: [PATCH] firefly: add a minimal wifi settings Signed-off-by: Michael Trimarchi <michael@xxxxxxxxxxxxxxxxxxxx> --- arch/arm/boot/dts/rk3288-firefly.dtsi | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/rk3288-firefly.dtsi b/arch/arm/boot/dts/rk3288-firefly.dtsi index 149b9ed..effce71 100644 --- a/arch/arm/boot/dts/rk3288-firefly.dtsi +++ b/arch/arm/boot/dts/rk3288-firefly.dtsi @@ -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 { -- 1.9.1 > Thanks in advance, > Have a nice day, > Romain > > 1. https://www.kernel.org/doc/Documentation/SubmittingPatches > > > 2015-07-22 7:58 GMT+02:00 Michael Trimarchi <michael@xxxxxxxxxxxxxxxxxxxx>: > > Hi > > > > > > On Tue, Jul 21, 2015 at 2:51 PM, Michael Trimarchi > > <michael@xxxxxxxxxxxxxxxxxxxx> wrote: > >> Hi > >> > >> I have managed to let my wifi working using mainline but I have > >> problem on clocking. Right now I can not rise the clock more the 5Mhz > >> even it's suppose to work up to 50Mhz. Anyone is working on it right > >> now? > >> > > > > I put in attach two patches that I need on my version. Another problem > > is that execute_tuning is not defined in the dw_mmc-rockchip so > > ENOSYS is returned. I think that we have two way: > > > > 1) put a stub > > 2) define 0 as default error > > > > Michael > > > >> Michael > > > > _______________________________________________ > > Linux-rockchip mailing list > > Linux-rockchip@xxxxxxxxxxxxxxxxxxx > > http://lists.infradead.org/mailman/listinfo/linux-rockchip > > -- | Michael Nazzareno Trimarchi Amarula Solutions BV | | COO - Founder Cruquiuskade 47 | | +31(0)851119172 Amsterdam 1018 AM NL | | [`as] http://www.amarulasolutions.com | -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html