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
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.
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.
>
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.
> >
>
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.
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
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
>
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.
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.
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
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.