Message ID | 20201105054135.24860-6-samuel@sholland.org |
---|---|
State | New |
Headers | show |
Series | PinePhone Device Tree Enhancements | expand |
On Wed, Nov 04, 2020 at 11:41:34PM -0600, Samuel Holland wrote: > From: Ondrej Jirman <megous@megous.com> > > The PinePhone has a Realtek rtl8723cs WiFi module. > > On mainboard revisions 1.0 and 1.1, the reset input is always pulled > high, so no power sequence is needed. On mainboard revision 1.2, the > reset input is connected to PL2. > > Signed-off-by: Ondrej Jirman <megous@megous.com> > Signed-off-by: Samuel Holland <samuel@sholland.org> > --- > .../allwinner/sun50i-a64-pinephone-1.2.dts | 9 ++++++++ > .../dts/allwinner/sun50i-a64-pinephone.dtsi | 22 +++++++++++++++++++ > 2 files changed, 31 insertions(+) > > diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.2.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.2.dts > index 94e4f11e0215..e7cf9d8577c1 100644 > --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.2.dts > +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.2.dts > @@ -8,6 +8,11 @@ > / { > model = "Pine64 PinePhone (1.2)"; > compatible = "pine64,pinephone-1.2", "allwinner,sun50i-a64"; > + > + wifi_pwrseq: wifi_pwrseq { > + compatible = "mmc-pwrseq-simple"; > + reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ > + }; Underscores are not valid in node names. I've fixed it while applying Maxime
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.2.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.2.dts index 94e4f11e0215..e7cf9d8577c1 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.2.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.2.dts @@ -8,6 +8,11 @@ / { model = "Pine64 PinePhone (1.2)"; compatible = "pine64,pinephone-1.2", "allwinner,sun50i-a64"; + + wifi_pwrseq: wifi_pwrseq { + compatible = "mmc-pwrseq-simple"; + reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ + }; }; &backlight { @@ -39,6 +44,10 @@ &lis3mdl { interrupts = <1 1 IRQ_TYPE_EDGE_RISING>; /* PB1 */ }; +&mmc1 { + mmc-pwrseq = <&wifi_pwrseq>; +}; + &sgm3140 { enable-gpios = <&pio 3 24 GPIO_ACTIVE_HIGH>; /* PD24 */ flash-gpios = <&pio 2 3 GPIO_ACTIVE_HIGH>; /* PC3 */ diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi index 9544d7658794..e173096a7e68 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi @@ -13,6 +13,7 @@ / { aliases { + ethernet0 = &rtl8723cs; serial0 = &uart0; }; @@ -49,6 +50,13 @@ red { }; }; + reg_vbat_wifi: vbat-wifi { + compatible = "regulator-fixed"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vbat-wifi"; + }; + sgm3140: led-controller { compatible = "sgmicro,sgm3140"; vin-supply = <®_dcdc1>; @@ -216,6 +224,20 @@ &mmc0 { status = "okay"; }; +&mmc1 { + pinctrl-names = "default"; + pinctrl-0 = <&mmc1_pins>; + vmmc-supply = <®_vbat_wifi>; + vqmmc-supply = <®_dldo4>; + bus-width = <4>; + non-removable; + status = "okay"; + + rtl8723cs: wifi@1 { + reg = <1>; + }; +}; + &mmc2 { pinctrl-names = "default"; pinctrl-0 = <&mmc2_pins>;