On Tue, Jul 24, 2018 at 9:15 AM, Icenowy Zheng <icenowy@xxxxxxx> wrote: > The Pine H64 model A has a Wi-Fi module connector and the model B has an > on-board RTL8723BS Wi-Fi module. > > Add support for them. For model A, as it's not defaultly present, keep > it disabled now. Nope. Pine64 actually has two WiFi/BT modules. And they require different device tree snippets for both the WiFi and BT side. This is better resolved with device tree overlays. I have both, though I've yet found time to work on them. ChenYu > Signed-off-by: Icenowy Zheng <icenowy@xxxxxxx> > --- > .../allwinner/sun50i-h6-pine-h64-model-b.dts | 8 +++++ > .../boot/dts/allwinner/sun50i-h6-pine-h64.dts | 29 +++++++++++++++++++ > 2 files changed, 37 insertions(+) > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64-model-b.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64-model-b.dts > index d0fcc25efb00..d0f775613c9b 100644 > --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64-model-b.dts > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64-model-b.dts > @@ -18,3 +18,11 @@ > }; > }; > }; > + > +&mmc1 { > + status = "okay"; > +}; > + > +&wifi_pwrseq { > + status = "okay"; > +}; > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts > index a85867f8b684..75db6d4139bf 100644 > --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts > +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts > @@ -40,6 +40,12 @@ > gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */ > }; > }; > + > + wifi_pwrseq: wifi_pwrseq { > + compatible = "mmc-pwrseq-simple"; > + reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PL2 */ > + status = "disabled"; > + }; > }; > > &mmc0 { > @@ -50,6 +56,17 @@ > status = "okay"; > }; > > +&mmc1 { > + pinctrl-names = "default"; > + pinctrl-0 = <&mmc1_pins>; > + vmmc-supply = <®_cldo2>; > + vqmmc-supply = <®_bldo2>; > + mmc-pwrseq = <&wifi_pwrseq>; > + bus-width = <4>; > + non-removable; > + status = "disabled"; > +}; > + > &mmc2 { > pinctrl-names = "default"; > pinctrl-0 = <&mmc2_pins>; > @@ -128,12 +145,24 @@ > }; > > reg_cldo2: cldo2 { > + /* > + * This regulator is connected with CLDO3. > + * Before the kernel can support synchronized > + * enable of coupled regulators, keep them > + * both always on as a ugly hack. > + */ > + regulator-always-on; > regulator-min-microvolt = <3300000>; > regulator-max-microvolt = <3300000>; > regulator-name = "vcc-wifi-1"; > }; > > reg_cldo3: cldo3 { > + /* > + * This regulator is connected with CLDO2. > + * See the comments for CLDO2. > + */ > + regulator-always-on; > regulator-min-microvolt = <3300000>; > regulator-max-microvolt = <3300000>; > regulator-name = "vcc-wifi-2"; > -- > 2.18.0 > -- 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