--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts @@ -63,27 +63,7 @@ reg_vcc5v: vcc5v { regulator-max-microvolt = <5000000>; regulator-always-on; }; - - reg_vcc33_wifi: vcc33-wifi { - /* Always on 3.3V regulator for WiFi and BT */ - compatible = "regulator-fixed"; - regulator-name = "vcc33-wifi"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - regulator-always-on; - vin-supply = <®_vcc5v>; - }; - - reg_vcc_wifi_io: vcc-wifi-io { - /* Always on 1.8V/300mA regulator for WiFi and BT IO */ - compatible = "regulator-fixed"; - regulator-name = "vcc-wifi-io"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - regulator-always-on; - vin-supply = <®_vcc33_wifi>; - }; - + wifi_pwrseq: wifi-pwrseq { compatible = "mmc-pwrseq-simple"; clocks = <&rtc 1>; @@ -136,8 +116,8 @@ &mmc0 { }; &mmc1 { - vmmc-supply = <®_vcc33_wifi>; - vqmmc-supply = <®_vcc_wifi_io>; + vmmc-supply = <®_cldo2>; + vqmmc-supply = <®_bldo3>; mmc-pwrseq = <&wifi_pwrseq>; bus-width = <4>; non-removable; @@ -172,13 +152,17 @@ &ohci3 { &pio { vcc-pc-supply = <®_bldo2>; vcc-pd-supply = <®_cldo1>; - vcc-pg-supply = <®_vcc_wifi_io>; + vcc-pg-supply = <®_bldo3>; }; &r_ir { status = "okay"; }; +&r_pio { + vcc-pm-supply = <®_bldo3>; +}; + &r_rsb { status = "okay"; @@ -234,13 +218,12 @@ reg_bldo2: bldo2 { regulator-max-microvolt = <1800000>; regulator-name = "vcc-efuse-pcie-hdmi-pc"; }; - - bldo3 { - /* unused */ - }; - - bldo4 { - /* unused */ + + reg_bldo3: bldo3 { + regulator-always-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-name = "vcc-dcxoio"; }; reg_cldo1: cldo1 { @@ -250,19 +233,34 @@ reg_cldo1: cldo1 { regulator-name = "vcc33-io-pd-emmc-sd-usb-uart-2"; }; - cldo2 { - /* unused */ + 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"; }; cldo3 { - /* unused */ + /* + * 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"; }; reg_dcdca: dcdca { regulator-always-on; - regulator-min-microvolt = <800000>; - regulator-max-microvolt = <1160000>; - regulator-ramp-delay = <2500>; + regulator-min-microvolt = <810000>; + regulator-max-microvolt = <1080000>; regulator-name = "vdd-cpu"; };