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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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@xxxxxxxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux