2019-04-11 12:42:53

by Spyridon Papageorgiou

[permalink] [raw]
Subject: [PATCH] arm64: dts: ulcb-kf: Add support for TI WL1837

This patch adds description of TI WL1837 and links interfaces
to communicate with the IC, namely the SDIO interface to WLAN.

Signed-off-by: Spyridon Papageorgiou <[email protected]>
---
arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 49 ++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
index 7a09576..27851a7 100644
--- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
@@ -38,6 +38,18 @@
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};
+
+ wlan_en: regulator-wlan_en {
+ compatible = "regulator-fixed";
+ regulator-name = "wlan-en-regulator";
+
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&gpio_exp_74 4 GPIO_ACTIVE_HIGH>;
+ startup-delay-us = <70000>;
+ enable-active-high;
+ };
};

&can0 {
@@ -88,6 +100,13 @@
line-name = "Audio_Out_OFF";
};

+ sd-wifi-mux {
+ gpio-hog;
+ gpios = <5 GPIO_ACTIVE_HIGH>;
+ output-low; /* Connect WL1837 */
+ line-name = "SD WiFi mux";
+ };
+
hub_pwen {
gpio-hog;
gpios = <6 GPIO_ACTIVE_HIGH>;
@@ -254,6 +273,12 @@
function = "scif1";
};

+ sdhi3_pins: sdhi3 {
+ groups = "sdhi3_data4", "sdhi3_ctrl";
+ function = "sdhi3";
+ power-source = <3300>;
+ };
+
usb0_pins: usb0 {
groups = "usb0";
function = "usb0";
@@ -273,6 +298,30 @@
status = "okay";
};

+&sdhi3 {
+ pinctrl-0 = <&sdhi3_pins>;
+ pinctrl-names = "default";
+
+ vmmc-supply = <&wlan_en>;
+ vqmmc-supply = <&wlan_en>;
+ bus-width = <4>;
+ no-1-8-v;
+ non-removable;
+ cap-power-off-card;
+ keep-power-in-suspend;
+ max-frequency = <26000000>;
+ status = "okay";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+ wlcore: wlcore@2 {
+ compatible = "ti,wl1837";
+ reg = <2>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
+ };
+};
+
&usb2_phy0 {
pinctrl-0 = <&usb0_pins>;
pinctrl-names = "default";
--
2.7.4


2019-04-25 15:33:39

by Eugeniu Rosca

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: ulcb-kf: Add support for TI WL1837

Hi Simon,

Do we have any chance getting this upstream? If so, would you kindly
list the acceptance criteria we have to conform to?

Many thanks.

On Thu, Apr 11, 2019 at 02:41:03PM +0200, Spyridon Papageorgiou wrote:
> This patch adds description of TI WL1837 and links interfaces
> to communicate with the IC, namely the SDIO interface to WLAN.
>
> Signed-off-by: Spyridon Papageorgiou <[email protected]>
> ---
> arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 49 ++++++++++++++++++++++++++++++++
> 1 file changed, 49 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
> index 7a09576..27851a7 100644
> --- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
> +++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
> @@ -38,6 +38,18 @@
> regulator-min-microvolt = <5000000>;
> regulator-max-microvolt = <5000000>;
> };
> +
> + wlan_en: regulator-wlan_en {
> + compatible = "regulator-fixed";
> + regulator-name = "wlan-en-regulator";
> +
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> +
> + gpio = <&gpio_exp_74 4 GPIO_ACTIVE_HIGH>;
> + startup-delay-us = <70000>;
> + enable-active-high;
> + };
> };
>
> &can0 {
> @@ -88,6 +100,13 @@
> line-name = "Audio_Out_OFF";
> };
>
> + sd-wifi-mux {
> + gpio-hog;
> + gpios = <5 GPIO_ACTIVE_HIGH>;
> + output-low; /* Connect WL1837 */
> + line-name = "SD WiFi mux";
> + };
> +
> hub_pwen {
> gpio-hog;
> gpios = <6 GPIO_ACTIVE_HIGH>;
> @@ -254,6 +273,12 @@
> function = "scif1";
> };
>
> + sdhi3_pins: sdhi3 {
> + groups = "sdhi3_data4", "sdhi3_ctrl";
> + function = "sdhi3";
> + power-source = <3300>;
> + };
> +
> usb0_pins: usb0 {
> groups = "usb0";
> function = "usb0";
> @@ -273,6 +298,30 @@
> status = "okay";
> };
>
> +&sdhi3 {
> + pinctrl-0 = <&sdhi3_pins>;
> + pinctrl-names = "default";
> +
> + vmmc-supply = <&wlan_en>;
> + vqmmc-supply = <&wlan_en>;
> + bus-width = <4>;
> + no-1-8-v;
> + non-removable;
> + cap-power-off-card;
> + keep-power-in-suspend;
> + max-frequency = <26000000>;
> + status = "okay";
> +
> + #address-cells = <1>;
> + #size-cells = <0>;
> + wlcore: wlcore@2 {
> + compatible = "ti,wl1837";
> + reg = <2>;
> + interrupt-parent = <&gpio1>;
> + interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
> + };
> +};
> +
> &usb2_phy0 {
> pinctrl-0 = <&usb0_pins>;
> pinctrl-names = "default";
> --
> 2.7.4
>

--
Best regards,
Eugeniu.

2019-04-26 09:51:20

by Simon Horman

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: ulcb-kf: Add support for TI WL1837

Hi,

from my point of view what is required is a review.
I will try to find someone to do so.
I apologise for not doing so earlier.

On Thu, Apr 25, 2019 at 01:12:45PM +0200, Eugeniu Rosca wrote:
> Hi Simon,
>
> Do we have any chance getting this upstream? If so, would you kindly
> list the acceptance criteria we have to conform to?
>
> Many thanks.
>
> On Thu, Apr 11, 2019 at 02:41:03PM +0200, Spyridon Papageorgiou wrote:
> > This patch adds description of TI WL1837 and links interfaces
> > to communicate with the IC, namely the SDIO interface to WLAN.
> >
> > Signed-off-by: Spyridon Papageorgiou <[email protected]>
> > ---
> > arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 49 ++++++++++++++++++++++++++++++++
> > 1 file changed, 49 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
> > index 7a09576..27851a7 100644
> > --- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
> > +++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
> > @@ -38,6 +38,18 @@
> > regulator-min-microvolt = <5000000>;
> > regulator-max-microvolt = <5000000>;
> > };
> > +
> > + wlan_en: regulator-wlan_en {
> > + compatible = "regulator-fixed";
> > + regulator-name = "wlan-en-regulator";
> > +
> > + regulator-min-microvolt = <3300000>;
> > + regulator-max-microvolt = <3300000>;
> > +
> > + gpio = <&gpio_exp_74 4 GPIO_ACTIVE_HIGH>;
> > + startup-delay-us = <70000>;
> > + enable-active-high;
> > + };
> > };
> >
> > &can0 {
> > @@ -88,6 +100,13 @@
> > line-name = "Audio_Out_OFF";
> > };
> >
> > + sd-wifi-mux {
> > + gpio-hog;
> > + gpios = <5 GPIO_ACTIVE_HIGH>;
> > + output-low; /* Connect WL1837 */
> > + line-name = "SD WiFi mux";
> > + };
> > +
> > hub_pwen {
> > gpio-hog;
> > gpios = <6 GPIO_ACTIVE_HIGH>;
> > @@ -254,6 +273,12 @@
> > function = "scif1";
> > };
> >
> > + sdhi3_pins: sdhi3 {
> > + groups = "sdhi3_data4", "sdhi3_ctrl";
> > + function = "sdhi3";
> > + power-source = <3300>;
> > + };
> > +
> > usb0_pins: usb0 {
> > groups = "usb0";
> > function = "usb0";
> > @@ -273,6 +298,30 @@
> > status = "okay";
> > };
> >
> > +&sdhi3 {
> > + pinctrl-0 = <&sdhi3_pins>;
> > + pinctrl-names = "default";
> > +
> > + vmmc-supply = <&wlan_en>;
> > + vqmmc-supply = <&wlan_en>;
> > + bus-width = <4>;
> > + no-1-8-v;
> > + non-removable;
> > + cap-power-off-card;
> > + keep-power-in-suspend;
> > + max-frequency = <26000000>;
> > + status = "okay";
> > +
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > + wlcore: wlcore@2 {
> > + compatible = "ti,wl1837";
> > + reg = <2>;
> > + interrupt-parent = <&gpio1>;
> > + interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
> > + };
> > +};
> > +
> > &usb2_phy0 {
> > pinctrl-0 = <&usb0_pins>;
> > pinctrl-names = "default";
> > --
> > 2.7.4
> >
>
> --
> Best regards,
> Eugeniu.
>

2019-04-29 08:19:01

by Simon Horman

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: ulcb-kf: Add support for TI WL1837

Hi again,

I have been able to solicit a limited private review of this patch and
have gone ahead and applied it for inclusion in v5.2.

On Fri, Apr 26, 2019 at 11:50:12AM +0200, Simon Horman wrote:
> Hi,
>
> from my point of view what is required is a review.
> I will try to find someone to do so.
> I apologise for not doing so earlier.
>
> On Thu, Apr 25, 2019 at 01:12:45PM +0200, Eugeniu Rosca wrote:
> > Hi Simon,
> >
> > Do we have any chance getting this upstream? If so, would you kindly
> > list the acceptance criteria we have to conform to?
> >
> > Many thanks.
> >
> > On Thu, Apr 11, 2019 at 02:41:03PM +0200, Spyridon Papageorgiou wrote:
> > > This patch adds description of TI WL1837 and links interfaces
> > > to communicate with the IC, namely the SDIO interface to WLAN.
> > >
> > > Signed-off-by: Spyridon Papageorgiou <[email protected]>
> > > ---
> > > arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 49 ++++++++++++++++++++++++++++++++
> > > 1 file changed, 49 insertions(+)
> > >
> > > diff --git a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
> > > index 7a09576..27851a7 100644
> > > --- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
> > > +++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
> > > @@ -38,6 +38,18 @@
> > > regulator-min-microvolt = <5000000>;
> > > regulator-max-microvolt = <5000000>;
> > > };
> > > +
> > > + wlan_en: regulator-wlan_en {
> > > + compatible = "regulator-fixed";
> > > + regulator-name = "wlan-en-regulator";
> > > +
> > > + regulator-min-microvolt = <3300000>;
> > > + regulator-max-microvolt = <3300000>;
> > > +
> > > + gpio = <&gpio_exp_74 4 GPIO_ACTIVE_HIGH>;
> > > + startup-delay-us = <70000>;
> > > + enable-active-high;
> > > + };
> > > };
> > >
> > > &can0 {
> > > @@ -88,6 +100,13 @@
> > > line-name = "Audio_Out_OFF";
> > > };
> > >
> > > + sd-wifi-mux {
> > > + gpio-hog;
> > > + gpios = <5 GPIO_ACTIVE_HIGH>;
> > > + output-low; /* Connect WL1837 */
> > > + line-name = "SD WiFi mux";
> > > + };
> > > +
> > > hub_pwen {
> > > gpio-hog;
> > > gpios = <6 GPIO_ACTIVE_HIGH>;
> > > @@ -254,6 +273,12 @@
> > > function = "scif1";
> > > };
> > >
> > > + sdhi3_pins: sdhi3 {
> > > + groups = "sdhi3_data4", "sdhi3_ctrl";
> > > + function = "sdhi3";
> > > + power-source = <3300>;
> > > + };
> > > +
> > > usb0_pins: usb0 {
> > > groups = "usb0";
> > > function = "usb0";
> > > @@ -273,6 +298,30 @@
> > > status = "okay";
> > > };
> > >
> > > +&sdhi3 {
> > > + pinctrl-0 = <&sdhi3_pins>;
> > > + pinctrl-names = "default";
> > > +
> > > + vmmc-supply = <&wlan_en>;
> > > + vqmmc-supply = <&wlan_en>;
> > > + bus-width = <4>;
> > > + no-1-8-v;
> > > + non-removable;
> > > + cap-power-off-card;
> > > + keep-power-in-suspend;
> > > + max-frequency = <26000000>;
> > > + status = "okay";
> > > +
> > > + #address-cells = <1>;
> > > + #size-cells = <0>;
> > > + wlcore: wlcore@2 {
> > > + compatible = "ti,wl1837";
> > > + reg = <2>;
> > > + interrupt-parent = <&gpio1>;
> > > + interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
> > > + };
> > > +};
> > > +
> > > &usb2_phy0 {
> > > pinctrl-0 = <&usb0_pins>;
> > > pinctrl-names = "default";
> > > --
> > > 2.7.4
> > >
> >
> > --
> > Best regards,
> > Eugeniu.
> >
>

2019-04-29 09:26:51

by Eugeniu Rosca

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: ulcb-kf: Add support for TI WL1837

Hi Simon,

On Mon, Apr 29, 2019 at 10:17:48AM +0200, Simon Horman wrote:
> Hi again,
>
> I have been able to solicit a limited private review of this patch and
> have gone ahead and applied it for inclusion in v5.2.

Thank you. In case of any concerns/reports/fixes applicable to this
patch, we would appreciate if you CC ADIT people. We will then reply
with best possible latency, since we are interested in having a working
WiFi/BT on ULCB-KF.

--
Best Regards,
Eugeniu.

2019-05-28 09:21:13

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: ulcb-kf: Add support for TI WL1837

Hi Spyridon,

On Thu, Apr 11, 2019 at 2:42 PM Spyridon Papageorgiou
<[email protected]> wrote:
> This patch adds description of TI WL1837 and links interfaces
> to communicate with the IC, namely the SDIO interface to WLAN.
>
> Signed-off-by: Spyridon Papageorgiou <[email protected]>

Thanks for your patch!

> --- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
> +++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
> @@ -38,6 +38,18 @@
> regulator-min-microvolt = <5000000>;
> regulator-max-microvolt = <5000000>;
> };
> +
> + wlan_en: regulator-wlan_en {
> + compatible = "regulator-fixed";
> + regulator-name = "wlan-en-regulator";
> +
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;

So this is a 3.3V regulator...

> +
> + gpio = <&gpio_exp_74 4 GPIO_ACTIVE_HIGH>;
> + startup-delay-us = <70000>;
> + enable-active-high;
> + };
> };
>
> &can0 {

> @@ -273,6 +298,30 @@
> status = "okay";
> };
>
> +&sdhi3 {
> + pinctrl-0 = <&sdhi3_pins>;
> + pinctrl-names = "default";
> +
> + vmmc-supply = <&wlan_en>;
> + vqmmc-supply = <&wlan_en>;

... used for both card and I/O line power...

> + bus-width = <4>;
> + no-1-8-v;

... hence no 1.8V I/O.

However, VIO of WL1837 is provided by W1.8V of regulator U55,
which is 1.8V?

> + non-removable;
> + cap-power-off-card;
> + keep-power-in-suspend;
> + max-frequency = <26000000>;
> + status = "okay";
> +
> + #address-cells = <1>;
> + #size-cells = <0>;
> + wlcore: wlcore@2 {
> + compatible = "ti,wl1837";
> + reg = <2>;
> + interrupt-parent = <&gpio1>;
> + interrupts = <25 IRQ_TYPE_EDGE_FALLING>;

I'm also a bit puzzled by the interrupt type.
On Cat 874, it's IRQ_TYPE_LEVEL_HIGH, cfr.
https://lore.kernel.org/linux-renesas-soc/[email protected]/

On Kingfisher, the IRQ signal is inverted by U104, so I'd expect
IRQ_TYPE_LEVEL_LOW instead of IRQ_TYPE_EDGE_FALLING?

Apart from the above two comments:
Reviewed-by: Geert Uytterhoeven <[email protected]>

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2019-05-31 09:38:36

by Simon Horman

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: ulcb-kf: Add support for TI WL1837

Hi Spyridon,

please respond to Geert's review below and
if appropriate provide an incremental patch.

Thanks in advance,
Simon

On Tue, May 28, 2019 at 11:19:04AM +0200, Geert Uytterhoeven wrote:
> Hi Spyridon,
>
> On Thu, Apr 11, 2019 at 2:42 PM Spyridon Papageorgiou
> <[email protected]> wrote:
> > This patch adds description of TI WL1837 and links interfaces
> > to communicate with the IC, namely the SDIO interface to WLAN.
> >
> > Signed-off-by: Spyridon Papageorgiou <[email protected]>
>
> Thanks for your patch!
>
> > --- a/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
> > +++ b/arch/arm64/boot/dts/renesas/ulcb-kf.dtsi
> > @@ -38,6 +38,18 @@
> > regulator-min-microvolt = <5000000>;
> > regulator-max-microvolt = <5000000>;
> > };
> > +
> > + wlan_en: regulator-wlan_en {
> > + compatible = "regulator-fixed";
> > + regulator-name = "wlan-en-regulator";
> > +
> > + regulator-min-microvolt = <3300000>;
> > + regulator-max-microvolt = <3300000>;
>
> So this is a 3.3V regulator...
>
> > +
> > + gpio = <&gpio_exp_74 4 GPIO_ACTIVE_HIGH>;
> > + startup-delay-us = <70000>;
> > + enable-active-high;
> > + };
> > };
> >
> > &can0 {
>
> > @@ -273,6 +298,30 @@
> > status = "okay";
> > };
> >
> > +&sdhi3 {
> > + pinctrl-0 = <&sdhi3_pins>;
> > + pinctrl-names = "default";
> > +
> > + vmmc-supply = <&wlan_en>;
> > + vqmmc-supply = <&wlan_en>;
>
> ... used for both card and I/O line power...
>
> > + bus-width = <4>;
> > + no-1-8-v;
>
> ... hence no 1.8V I/O.
>
> However, VIO of WL1837 is provided by W1.8V of regulator U55,
> which is 1.8V?
>
> > + non-removable;
> > + cap-power-off-card;
> > + keep-power-in-suspend;
> > + max-frequency = <26000000>;
> > + status = "okay";
> > +
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > + wlcore: wlcore@2 {
> > + compatible = "ti,wl1837";
> > + reg = <2>;
> > + interrupt-parent = <&gpio1>;
> > + interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
>
> I'm also a bit puzzled by the interrupt type.
> On Cat 874, it's IRQ_TYPE_LEVEL_HIGH, cfr.
> https://lore.kernel.org/linux-renesas-soc/[email protected]/
>
> On Kingfisher, the IRQ signal is inverted by U104, so I'd expect
> IRQ_TYPE_LEVEL_LOW instead of IRQ_TYPE_EDGE_FALLING?
>
> Apart from the above two comments:
> Reviewed-by: Geert Uytterhoeven <[email protected]>
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds
>

2019-05-31 13:51:34

by Eugeniu Rosca

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: ulcb-kf: Add support for TI WL1837

Hi Simon,

On Fri, May 31, 2019 at 11:37:02AM +0200, Simon Horman wrote:
> Hi Spyridon,
>
> please respond to Geert's review below and
> if appropriate provide an incremental patch.
>
> Thanks in advance,
> Simon
>

Spyridon is on vacation, so I will handle the open points.

--
Best Regards,
Eugeniu.

2019-05-31 15:27:05

by Eugeniu Rosca

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: ulcb-kf: Add support for TI WL1837

Hi Geert,

We appreciate your review comments.

On Tue, May 28, 2019 at 11:19:04AM +0200, Geert Uytterhoeven wrote:
[..]
> > + wlan_en: regulator-wlan_en {
> > + compatible = "regulator-fixed";
> > + regulator-name = "wlan-en-regulator";
> > +
> > + regulator-min-microvolt = <3300000>;
> > + regulator-max-microvolt = <3300000>;
>
> So this is a 3.3V regulator...
>
> > +
> > + gpio = <&gpio_exp_74 4 GPIO_ACTIVE_HIGH>;
> > + startup-delay-us = <70000>;
> > + enable-active-high;
> > + };
> > };
> >
> > &can0 {
>
> > @@ -273,6 +298,30 @@
> > status = "okay";
> > };
> >
> > +&sdhi3 {
> > + pinctrl-0 = <&sdhi3_pins>;
> > + pinctrl-names = "default";
> > +
> > + vmmc-supply = <&wlan_en>;
> > + vqmmc-supply = <&wlan_en>;
>
> ... used for both card and I/O line power...
>
> > + bus-width = <4>;
> > + no-1-8-v;
>
> ... hence no 1.8V I/O.
>
> However, VIO of WL1837 is provided by W1.8V of regulator U55,
> which is 1.8V?

Looking at the KF-M06 schematics, it seems like the SDIO-relevant lines
of WL1837 (U52) are interfaced with the SoC via TXS0108EPWR (U57) which
is there to level-translate from 3.3v (SoC) to 1.8v (WL1837). So,
from SoC perspective, it looks like the lines are 3.3v-powered.

FTR, the test results are independent on the 'no-1-8-v' property.

> > + non-removable;
> > + cap-power-off-card;
> > + keep-power-in-suspend;
> > + max-frequency = <26000000>;
> > + status = "okay";
> > +
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > + wlcore: wlcore@2 {
> > + compatible = "ti,wl1837";
> > + reg = <2>;
> > + interrupt-parent = <&gpio1>;
> > + interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
>
> I'm also a bit puzzled by the interrupt type.
> On Cat 874, it's IRQ_TYPE_LEVEL_HIGH, cfr.
> https://lore.kernel.org/linux-renesas-soc/[email protected]/
>
> On Kingfisher, the IRQ signal is inverted by U104, so I'd expect
> IRQ_TYPE_LEVEL_LOW instead of IRQ_TYPE_EDGE_FALLING?

That's an insightful comment, if it simply arose from code review.
I guess we mistakenly relied on [1] during our testing on linux/master.
So, we definitely have to re-spin the patch to make it independent
on [1]. The problem is that by dropping [1] and switching from
IRQ_TYPE_EDGE_FALLING to IRQ_TYPE_LEVEL_LOW, the wifi testing
(particularly 'iwlist wlan0 scan') doesn't pass. We have to give
another thought how to best tackle it.

[1] https://github.com/CogentEmbedded/meta-rcar/blob/289fbd4f8354/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0024-wl18xx-do-not-invert-IRQ-on-WLxxxx-side.patch

Thank you.

>
> Apart from the above two comments:
> Reviewed-by: Geert Uytterhoeven <[email protected]>
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds

--
Best Regards,
Eugeniu.

2019-06-03 07:29:07

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: ulcb-kf: Add support for TI WL1837

Hi Eugeniu,

On Fri, May 31, 2019 at 5:25 PM Eugeniu Rosca <[email protected]> wrote:
> On Tue, May 28, 2019 at 11:19:04AM +0200, Geert Uytterhoeven wrote:
> [..]
> > > + wlan_en: regulator-wlan_en {
> > > + compatible = "regulator-fixed";
> > > + regulator-name = "wlan-en-regulator";
> > > +
> > > + regulator-min-microvolt = <3300000>;
> > > + regulator-max-microvolt = <3300000>;
> >
> > So this is a 3.3V regulator...
> >
> > > +
> > > + gpio = <&gpio_exp_74 4 GPIO_ACTIVE_HIGH>;
> > > + startup-delay-us = <70000>;
> > > + enable-active-high;
> > > + };
> > > };
> > >
> > > &can0 {
> >
> > > @@ -273,6 +298,30 @@
> > > status = "okay";
> > > };
> > >
> > > +&sdhi3 {
> > > + pinctrl-0 = <&sdhi3_pins>;
> > > + pinctrl-names = "default";
> > > +
> > > + vmmc-supply = <&wlan_en>;
> > > + vqmmc-supply = <&wlan_en>;
> >
> > ... used for both card and I/O line power...
> >
> > > + bus-width = <4>;
> > > + no-1-8-v;
> >
> > ... hence no 1.8V I/O.
> >
> > However, VIO of WL1837 is provided by W1.8V of regulator U55,
> > which is 1.8V?
>
> Looking at the KF-M06 schematics, it seems like the SDIO-relevant lines
> of WL1837 (U52) are interfaced with the SoC via TXS0108EPWR (U57) which
> is there to level-translate from 3.3v (SoC) to 1.8v (WL1837). So,
> from SoC perspective, it looks like the lines are 3.3v-powered.
>
> FTR, the test results are independent on the 'no-1-8-v' property.

Sorry for not noticing the level translator.
So indeed, the WL1837 side is always at 1.8V.
But I believe the SoC side can be either 1.8V or 3.3V, as the level-translator
can handle both, which is confirmed by your testing.

> > > + non-removable;
> > > + cap-power-off-card;
> > > + keep-power-in-suspend;
> > > + max-frequency = <26000000>;
> > > + status = "okay";
> > > +
> > > + #address-cells = <1>;
> > > + #size-cells = <0>;
> > > + wlcore: wlcore@2 {
> > > + compatible = "ti,wl1837";
> > > + reg = <2>;
> > > + interrupt-parent = <&gpio1>;
> > > + interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
> >
> > I'm also a bit puzzled by the interrupt type.
> > On Cat 874, it's IRQ_TYPE_LEVEL_HIGH, cfr.
> > https://lore.kernel.org/linux-renesas-soc/[email protected]/
> >
> > On Kingfisher, the IRQ signal is inverted by U104, so I'd expect
> > IRQ_TYPE_LEVEL_LOW instead of IRQ_TYPE_EDGE_FALLING?
>
> That's an insightful comment, if it simply arose from code review.
> I guess we mistakenly relied on [1] during our testing on linux/master.
> So, we definitely have to re-spin the patch to make it independent
> on [1]. The problem is that by dropping [1] and switching from
> IRQ_TYPE_EDGE_FALLING to IRQ_TYPE_LEVEL_LOW, the wifi testing
> (particularly 'iwlist wlan0 scan') doesn't pass. We have to give
> another thought how to best tackle it.
>
> [1] https://github.com/CogentEmbedded/meta-rcar/blob/289fbd4f8354/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0024-wl18xx-do-not-invert-IRQ-on-WLxxxx-side.patch

Perhaps some configuration in the WL driver may be involved?
It looks like all other DTSes use IRQ_TYPE_LEVEL_HIGH, except for
HiKey 960/970, which use IRQ_TYPE_EDGE_RISING.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2019-06-03 16:54:10

by Simon Horman

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: ulcb-kf: Add support for TI WL1837

On Fri, May 31, 2019 at 03:49:55PM +0200, Eugeniu Rosca wrote:
> Hi Simon,
>
> On Fri, May 31, 2019 at 11:37:02AM +0200, Simon Horman wrote:
> > Hi Spyridon,
> >
> > please respond to Geert's review below and
> > if appropriate provide an incremental patch.
> >
> > Thanks in advance,
> > Simon
> >
>
> Spyridon is on vacation, so I will handle the open points.

Thanks Eugeniu,

much appreciated.