[PATCH] ARM: dts: imx6q-cm-fx6: add sdio wifi/bt nodes

Christopher Spinrath christopher.spinrath at rwth-aachen.de
Tue May 30 14:23:14 PDT 2017


Hi Fabio,

thanks for the fast reply.

On 05/30/2017 10:40 PM, Fabio Estevam wrote:
> Hi Christopher,
> 
> On Tue, May 30, 2017 at 5:16 PM,  <christopher.spinrath at rwth-aachen.de> wrote:
> 
>> +       awnh387_pwrseq: pwrseq {
>> +               pinctrl-names = "default";
>> +               pinctrl-0 = <&pinctrl_pwrseq>;
>> +               compatible = "mmc-pwrseq-sd8787";
>> +               powerdown-gpios = <&gpio7 12 GPIO_ACTIVE_HIGH>;
>> +               reset-gpios = <&gpio6 16 GPIO_ACTIVE_HIGH>;
> 
> At least in the AW-NH387 datasheet I found it says:
> 
> RESETn: Reset(active low at least 10ns)

The BSP device tree uses an active-low regulator called nreset, too, but 
strangly it has a startup delay of 10ms while the powerdown-regulator 
"starts up" immediately.

(btw: the "regulator setup" is not able to handle resets correctly.)

It seems to me that the pwrseq-sd8787 uses inverted logic: it first sets 
the -- in our case -- active-high gpio to high, waits, and then enables 
the powerdown-gpio.

This coincides with the gpio being called "reset" in the pwrseq binding, 
neither "nreset" nor "RESETn" (beware the missing *n*ot).

> Please double check the polarity in device tree.
> 

I just double checked: high/high for powerdown/reset gpios is the only 
of the four possible combinations that works.

So, all in all, I think the polarity is correct (or either the pwrseq 
driver or hardware invertes the polarity for some reason).

Cheers,
Christopher



More information about the linux-arm-kernel mailing list