On 04/03/2018 12:19 PM, Chen-Yu Tsai wrote:
On Tue, Apr 3, 2018 at 2:44 PM, Jagan Teki <[email protected]> wrote:
Hi,

Anyone observed SDIO CMD5 timeout for A64 boards.?

I've custom board runs with linux-next and I'm unable to probe SDIO on
mmc1, observed CMD5 timeout.

Here is the log and dts node, request for any help?

Log:
[    0.340446] sunxi-mmc 1c10000.mmc: could not find pctldev for node
/soc/pinctrl@1c20800/mmc1-pins, deferring p
robe
[    1.927883] mmc1: clock 0Hz busmode 2 powermode 1 cs 0 Vdd 21 width
1 timing 0
[    1.948765] mmc1: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 21
width 1 timing 0
[    2.008318] mmc1: mmc_rescan_try_freq: trying to init card at 400000 Hz
[    2.018121] mmc1: starting CMD52 arg 00000c00 flags 00000195
[    2.055592] mmc1: req done (CMD52): -110: 00000000 00000000 00000000 00000000
[    2.064813] mmc1: starting CMD52 arg 80000c08 flags 00000195
[    2.078524] mmc1: req done (CMD52): -110: 00000000 00000000 00000000 00000000
[    2.095536] mmc1: clock 400000Hz busmode 2 powermode 2 cs 1 Vdd 21
width 1 timing 0
[    2.108250] mmc1: starting CMD0 arg 00000000 flags 000000c0
[    2.115158] mmc1: req done (CMD0): 0: 00000000 00000000 00000000 00000000
[    2.132065] mmc1: clock 400000Hz busmode 2 powermode 2 cs 0 Vdd 21
width 1 timing 0
[    2.143698] mmc1: starting CMD8 arg 000001aa flags 000002f5
[    2.155126] mmc1: req done (CMD8): -110: 00000000 00000000 00000000 00000000
[    2.164988] mmc1: starting CMD5 arg 00000000 flags 000002e1
[    2.175369] mmc1: req failed (CMD5): -110, retrying...
[    2.185932] mmc1: req failed (CMD5): -110, retrying...
[    2.196754] mmc1: req failed (CMD5): -110, retrying...

dt node:

wifi_pwrseq: wifi_pwrseq {
               compatible = "mmc-pwrseq-simple";
               reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* WL-PMU-EN: PL2 */
  };

&mmc1 {
         pinctrl-names = "default";
         pinctrl-0 = <&mmc1_pins>;
         vmmc-supply = <&reg_aldo1>;
         vqmmc-supply = <&reg_dldo4>;
         mmc-pwrseq = <&wifi_pwrseq>;
         bus-width = <4>;
         non-removable;
         status = "okay";

         brcmf: wifi@1 {
                 reg = <1>;
                 compatible = "brcm,bcm4329-fmac";
                 interrupt-parent = <&r_pio>;
                 interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>;  /* WL-WAKE-AP: PL3 */
                 interrupt-names = "host-wake";
         };
};

Are you certain everything is powered up? On some boards they use different
regulators for vqmmc on the WiFi chip and pin VCC on the SoC side. Also try

Yes, I didn't find much different in regulator setup on vqmmc, vmmc it is similar to bananapi-m64 which is drive to dldo4 for vqmmc and aldo1 for vmmc like this

vqmmc:

 DLDO4        VCC-PG   VCC-IO-WIFI
   |            |        |
   |------------|--------|
                |
 ELDO1          |
   |------------|


vmmc:

 ALDO1       VCC-WIFI
   |            |
   |------------|
                |
 DCDC1          |
   |------------|



removing the OOB interrupt definition. (Just remove the whole brcmf block.)
AFAIK OOB interrupts don't work with all broadcom chips, only some of them.

Yes, I did this even before. find the same issue.

Jagan.

--
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to