diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts-old b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts index 52a1574..326195b 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts-old +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts @@ -75,6 +75,14 @@ enable-active-high; }; + wifi_pwrseq: wifi_pwrseq { + compatible = "mmc-pwrseq-simple"; + clocks = <&rtc 1>; + clock-names = "ext_clock"; + reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */ + post-power-on-delay-ms = <200>; + }; + leds { compatible = "gpio-leds"; @@ -160,6 +168,24 @@ 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 = "okay"; + + rtl8723cs: sdio_wifi@1 { + reg = <1>; + interrupt-parent = <&r_pio>; + interrupts = <1 0 IRQ_TYPE_LEVEL_LOW>; /* PM0 */ + interrupt-names = "host-wake"; + }; +}; + &mmc2 { pinctrl-names = "default"; pinctrl-0 = <&mmc2_pins>; @@ -263,12 +263,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";