Re: [PATCH 7/8] arm64: dts: qcom: msm8916: Define regulator constraints next to usage

From: Konrad Dybcio
Date: Thu May 25 2023 - 19:35:21 EST




On 17.05.2023 20:48, Stephan Gerhold wrote:
> Right now each MSM8916 device has a huge block of regulator constraints
> with allowed voltages for each regulator. For lack of better
> documentation these voltages are often copied as-is from the vendor
> device tree, without much extra thought.
>
> Unfortunately, the voltages in the vendor device trees are often
> misleading or even wrong, e.g. because:
>
> - There is a large voltage range allowed and the actual voltage is
> only set somewhere hidden in some messy vendor driver. This is often
> the case for pm8916_{l14,l15,l16} because they have a broad range of
> 1.8-3.3V by default.
>
> - The voltage is actually wrong but thanks to the voltage constraints
> in the RPM firmware it still ends up applying the correct voltage.
>
> To have proper regulator constraints it is important to review them in
> context of the usage. The current setup in the MSM8916 device trees
> makes this quite hard because each device duplicates the standard
> voltages for components of the SoC and mixes those with minor
> device-specific additions and dummy voltages for completely unused
> regulators.
>
> The actual usage of the regulators for the SoC components is in
> msm8916-pm8916.dtsi, so it can and should also define the related
> voltage constraints. These are not board-specific but defined in the
> APQ8016E/PM8916 Device Specification. The board DT can then focus on
> describing the actual board-specific regulators, which makes it much
> easier to review and spot potential mistakes there.
>
> Note that this commit does not make any functional change. All used
> regulators still have the same regulator constraints as before. Unused
> regulators do not have regulator constraints anymore because most of
> these were too broad or even entirely wrong. They should be added back
> with proper voltage constraints when there is an actual usage.
>
> Signed-off-by: Stephan Gerhold <stephan@xxxxxxxxxxx>
> ---
I'm a bit torn between saying "this is very nice already" and "we should
probably override each regulator individually" like so:

&pm8916_l17 {
[...]
}

to minimize mistakes..

Not sure what to make of it, I see Bjorn already applied this, so I guess
I'm just leaving some potential ideas for the future here.

Konrad

> arch/arm64/boot/dts/qcom/apq8016-sbc.dts | 153 +++++----------------
> arch/arm64/boot/dts/qcom/msm8916-acer-a1-724.dts | 115 ++--------------
> .../boot/dts/qcom/msm8916-alcatel-idol347.dts | 110 +--------------
> arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dts | 110 +--------------
> arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts | 110 +--------------
> arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dts | 120 +++-------------
> .../boot/dts/qcom/msm8916-longcheer-l8150.dts | 110 +--------------
> .../boot/dts/qcom/msm8916-longcheer-l8910.dts | 110 +--------------
> arch/arm64/boot/dts/qcom/msm8916-pm8916.dtsi | 102 +++++++++++---
> .../dts/qcom/msm8916-samsung-a2015-common.dtsi | 110 +--------------
> .../boot/dts/qcom/msm8916-samsung-gt5-common.dtsi | 110 +--------------
> .../boot/dts/qcom/msm8916-samsung-j5-common.dtsi | 103 --------------
> .../boot/dts/qcom/msm8916-samsung-serranove.dts | 103 --------------
> arch/arm64/boot/dts/qcom/msm8916-ufi.dtsi | 103 --------------
> .../boot/dts/qcom/msm8916-wingtech-wt88047.dts | 119 +++-------------
> 15 files changed, 210 insertions(+), 1478 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc.dts b/arch/arm64/boot/dts/qcom/apq8016-sbc.dts
> index 7d7af6406c39..ab8dfd858025 100644
> --- a/arch/arm64/boot/dts/qcom/apq8016-sbc.dts
> +++ b/arch/arm64/boot/dts/qcom/apq8016-sbc.dts
> @@ -329,6 +329,40 @@ &pm8916_resin {
> linux,code = <KEY_VOLUMEDOWN>;
> };
>
> +&pm8916_rpm_regulators {
> + /*
> + * The 96Boards specification expects a 1.8V power rail on the low-speed
> + * expansion connector that is able to provide at least 0.18W / 100 mA.
> + * L15/L16 are connected in parallel to provide 55 mA each. A minimum load
> + * must be specified to ensure the regulators are not put in LPM where they
> + * would only provide 5 mA.
> + */
> + pm8916_l15: l15 {
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-system-load = <50000>;
> + regulator-allow-set-load;
> + regulator-always-on;
> + };
> + pm8916_l16: l16 {
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-system-load = <50000>;
> + regulator-allow-set-load;
> + regulator-always-on;
> + };
> +
> + pm8916_l17: l17 {
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +};
> +
> +&pm8916_s4 {
> + regulator-always-on;
> + regulator-boot-on;
> +};
> +
> &sdhc_1 {
> status = "okay";
>
> @@ -446,125 +480,6 @@ &wcnss_iris {
> &stm { status = "okay"; };
> &tpiu { status = "okay"; };
>
> -&smd_rpm_regulators {
> - vdd_l1_l2_l3-supply = <&pm8916_s3>;
> - vdd_l4_l5_l6-supply = <&pm8916_s4>;
> - vdd_l7-supply = <&pm8916_s4>;
> -
> - s3 {
> - regulator-min-microvolt = <1250000>;
> - regulator-max-microvolt = <1350000>;
> - };
> -
> - s4 {
> - regulator-min-microvolt = <1850000>;
> - regulator-max-microvolt = <2150000>;
> -
> - regulator-always-on;
> - regulator-boot-on;
> - };
> -
> - l1 {
> - regulator-min-microvolt = <1225000>;
> - regulator-max-microvolt = <1225000>;
> - };
> -
> - l2 {
> - regulator-min-microvolt = <1200000>;
> - regulator-max-microvolt = <1200000>;
> - };
> -
> - l4 {
> - regulator-min-microvolt = <2050000>;
> - regulator-max-microvolt = <2050000>;
> - };
> -
> - l5 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l6 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l7 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l8 {
> - regulator-min-microvolt = <2900000>;
> - regulator-max-microvolt = <2900000>;
> - };
> -
> - l9 {
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l10 {
> - regulator-min-microvolt = <2800000>;
> - regulator-max-microvolt = <2800000>;
> - };
> -
> - l11 {
> - regulator-min-microvolt = <2950000>;
> - regulator-max-microvolt = <2950000>;
> - regulator-allow-set-load;
> - regulator-system-load = <200000>;
> - };
> -
> - l12 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <2950000>;
> - };
> -
> - l13 {
> - regulator-min-microvolt = <3075000>;
> - regulator-max-microvolt = <3075000>;
> - };
> -
> - l14 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - /*
> - * The 96Boards specification expects a 1.8V power rail on the low-speed
> - * expansion connector that is able to provide at least 0.18W / 100 mA.
> - * L15/L16 are connected in parallel to provide 55 mA each. A minimum load
> - * must be specified to ensure the regulators are not put in LPM where they
> - * would only provide 5 mA.
> - */
> - l15 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - regulator-system-load = <50000>;
> - regulator-allow-set-load;
> - regulator-always-on;
> - };
> -
> - l16 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - regulator-system-load = <50000>;
> - regulator-allow-set-load;
> - regulator-always-on;
> - };
> -
> - l17 {
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l18 {
> - regulator-min-microvolt = <2700000>;
> - regulator-max-microvolt = <2700000>;
> - };
> -};
> -
> /*
> * 2mA drive strength is not enough when connecting multiple
> * I2C devices with different pull up resistors.
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-acer-a1-724.dts b/arch/arm64/boot/dts/qcom/msm8916-acer-a1-724.dts
> index 0d517804e44e..753413b48751 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-acer-a1-724.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8916-acer-a1-724.dts
> @@ -114,6 +114,18 @@ &pm8916_resin {
> status = "okay";
> };
>
> +&pm8916_rpm_regulators {
> + pm8916_l16: l16 {
> + regulator-min-microvolt = <2900000>;
> + regulator-max-microvolt = <2900000>;
> + };
> +
> + pm8916_l17: l17 {
> + regulator-min-microvolt = <2850000>;
> + regulator-max-microvolt = <2850000>;
> + };
> +};
> +
> &pm8916_vib {
> status = "okay";
> };
> @@ -153,109 +165,6 @@ &wcnss_iris {
> compatible = "qcom,wcn3620";
> };
>
> -&smd_rpm_regulators {
> - vdd_l1_l2_l3-supply = <&pm8916_s3>;
> - vdd_l4_l5_l6-supply = <&pm8916_s4>;
> - vdd_l7-supply = <&pm8916_s4>;
> -
> - s3 {
> - regulator-min-microvolt = <1250000>;
> - regulator-max-microvolt = <1350000>;
> - };
> -
> - s4 {
> - regulator-min-microvolt = <1850000>;
> - regulator-max-microvolt = <2150000>;
> - };
> -
> - l1 {
> - regulator-min-microvolt = <1225000>;
> - regulator-max-microvolt = <1225000>;
> - };
> -
> - l2 {
> - regulator-min-microvolt = <1200000>;
> - regulator-max-microvolt = <1200000>;
> - };
> -
> - l4 {
> - regulator-min-microvolt = <2050000>;
> - regulator-max-microvolt = <2050000>;
> - };
> -
> - l5 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l6 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l7 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l8 {
> - regulator-min-microvolt = <2900000>;
> - regulator-max-microvolt = <2900000>;
> - };
> -
> - l9 {
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l10 {
> - regulator-min-microvolt = <2800000>;
> - regulator-max-microvolt = <2800000>;
> - };
> -
> - l11 {
> - regulator-min-microvolt = <2950000>;
> - regulator-max-microvolt = <2950000>;
> - regulator-system-load = <200000>;
> - regulator-allow-set-load;
> - };
> -
> - l12 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <2950000>;
> - };
> -
> - l13 {
> - regulator-min-microvolt = <3075000>;
> - regulator-max-microvolt = <3075000>;
> - };
> -
> - l14 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l15 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l16 {
> - regulator-min-microvolt = <2900000>;
> - regulator-max-microvolt = <2900000>;
> - };
> -
> - l17 {
> - regulator-min-microvolt = <2850000>;
> - regulator-max-microvolt = <2850000>;
> - };
> -
> - l18 {
> - regulator-min-microvolt = <2700000>;
> - regulator-max-microvolt = <2700000>;
> - };
> -};
> -
> &msmgpio {
> accel_int_default: accel-int-default-state {
> pins = "gpio115";
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dts b/arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dts
> index ddd64cc46998..4bfbad669b1e 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dts
> @@ -156,6 +156,13 @@ &pm8916_resin {
> linux,code = <KEY_VOLUMEDOWN>;
> };
>
> +&pm8916_rpm_regulators {
> + pm8916_l17: l17 {
> + regulator-min-microvolt = <2850000>;
> + regulator-max-microvolt = <2850000>;
> + };
> +};
> +
> &pm8916_vib {
> status = "okay";
> };
> @@ -195,109 +202,6 @@ &wcnss_iris {
> compatible = "qcom,wcn3620";
> };
>
> -&smd_rpm_regulators {
> - vdd_l1_l2_l3-supply = <&pm8916_s3>;
> - vdd_l4_l5_l6-supply = <&pm8916_s4>;
> - vdd_l7-supply = <&pm8916_s4>;
> -
> - s3 {
> - regulator-min-microvolt = <1250000>;
> - regulator-max-microvolt = <1350000>;
> - };
> -
> - s4 {
> - regulator-min-microvolt = <1850000>;
> - regulator-max-microvolt = <2150000>;
> - };
> -
> - l1 {
> - regulator-min-microvolt = <1225000>;
> - regulator-max-microvolt = <1225000>;
> - };
> -
> - l2 {
> - regulator-min-microvolt = <1200000>;
> - regulator-max-microvolt = <1200000>;
> - };
> -
> - l4 {
> - regulator-min-microvolt = <2050000>;
> - regulator-max-microvolt = <2050000>;
> - };
> -
> - l5 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l6 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l7 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l8 {
> - regulator-min-microvolt = <2900000>;
> - regulator-max-microvolt = <2900000>;
> - };
> -
> - l9 {
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l10 {
> - regulator-min-microvolt = <2800000>;
> - regulator-max-microvolt = <2800000>;
> - };
> -
> - l11 {
> - regulator-min-microvolt = <2950000>;
> - regulator-max-microvolt = <2950000>;
> - regulator-allow-set-load;
> - regulator-system-load = <200000>;
> - };
> -
> - l12 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <2950000>;
> - };
> -
> - l13 {
> - regulator-min-microvolt = <3075000>;
> - regulator-max-microvolt = <3075000>;
> - };
> -
> - l14 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l15 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l16 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l17 {
> - regulator-min-microvolt = <2850000>;
> - regulator-max-microvolt = <2850000>;
> - };
> -
> - l18 {
> - regulator-min-microvolt = <2700000>;
> - regulator-max-microvolt = <2700000>;
> - };
> -};
> -
> &msmgpio {
> accel_int_default: accel-int-default-state {
> pins = "gpio31";
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dts b/arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dts
> index 982457503a3c..37755e885395 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dts
> @@ -128,6 +128,13 @@ &blsp1_uart2 {
> status = "okay";
> };
>
> +&pm8916_rpm_regulators {
> + pm8916_l17: l17 {
> + regulator-min-microvolt = <2850000>;
> + regulator-max-microvolt = <2850000>;
> + };
> +};
> +
> &sdhc_1 {
> status = "okay";
>
> @@ -163,109 +170,6 @@ &wcnss_iris {
> compatible = "qcom,wcn3620";
> };
>
> -&smd_rpm_regulators {
> - vdd_l1_l2_l3-supply = <&pm8916_s3>;
> - vdd_l4_l5_l6-supply = <&pm8916_s4>;
> - vdd_l7-supply = <&pm8916_s4>;
> -
> - s3 {
> - regulator-min-microvolt = <1250000>;
> - regulator-max-microvolt = <1350000>;
> - };
> -
> - s4 {
> - regulator-min-microvolt = <1850000>;
> - regulator-max-microvolt = <2150000>;
> - };
> -
> - l1 {
> - regulator-min-microvolt = <1225000>;
> - regulator-max-microvolt = <1225000>;
> - };
> -
> - l2 {
> - regulator-min-microvolt = <1200000>;
> - regulator-max-microvolt = <1200000>;
> - };
> -
> - l4 {
> - regulator-min-microvolt = <2050000>;
> - regulator-max-microvolt = <2050000>;
> - };
> -
> - l5 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l6 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l7 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l8 {
> - regulator-min-microvolt = <2900000>;
> - regulator-max-microvolt = <2900000>;
> - };
> -
> - l9 {
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l10 {
> - regulator-min-microvolt = <2800000>;
> - regulator-max-microvolt = <2800000>;
> - };
> -
> - l11 {
> - regulator-min-microvolt = <2950000>;
> - regulator-max-microvolt = <2950000>;
> - regulator-allow-set-load;
> - regulator-system-load = <200000>;
> - };
> -
> - l12 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <2950000>;
> - };
> -
> - l13 {
> - regulator-min-microvolt = <3075000>;
> - regulator-max-microvolt = <3075000>;
> - };
> -
> - l14 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l15 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l16 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l17 {
> - regulator-min-microvolt = <2850000>;
> - regulator-max-microvolt = <2850000>;
> - };
> -
> - l18 {
> - regulator-min-microvolt = <2700000>;
> - regulator-max-microvolt = <2700000>;
> - };
> -};
> -
> &msmgpio {
> gpio_keys_default: gpio-keys-default-state {
> pins = "gpio107", "gpio117";
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts b/arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts
> index 9584d271c526..4a6bf99c755f 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts
> @@ -114,6 +114,13 @@ &pm8916_resin {
> status = "okay";
> };
>
> +&pm8916_rpm_regulators {
> + pm8916_l17: l17 {
> + regulator-min-microvolt = <2850000>;
> + regulator-max-microvolt = <2850000>;
> + };
> +};
> +
> &pm8916_vib {
> status = "okay";
> };
> @@ -153,109 +160,6 @@ &wcnss_iris {
> compatible = "qcom,wcn3620";
> };
>
> -&smd_rpm_regulators {
> - vdd_l1_l2_l3-supply = <&pm8916_s3>;
> - vdd_l4_l5_l6-supply = <&pm8916_s4>;
> - vdd_l7-supply = <&pm8916_s4>;
> -
> - s3 {
> - regulator-min-microvolt = <1250000>;
> - regulator-max-microvolt = <1350000>;
> - };
> -
> - s4 {
> - regulator-min-microvolt = <1850000>;
> - regulator-max-microvolt = <2150000>;
> - };
> -
> - l1 {
> - regulator-min-microvolt = <1225000>;
> - regulator-max-microvolt = <1225000>;
> - };
> -
> - l2 {
> - regulator-min-microvolt = <1200000>;
> - regulator-max-microvolt = <1200000>;
> - };
> -
> - l4 {
> - regulator-min-microvolt = <2050000>;
> - regulator-max-microvolt = <2050000>;
> - };
> -
> - l5 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l6 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l7 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l8 {
> - regulator-min-microvolt = <2900000>;
> - regulator-max-microvolt = <2900000>;
> - };
> -
> - l9 {
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l10 {
> - regulator-min-microvolt = <2800000>;
> - regulator-max-microvolt = <2800000>;
> - };
> -
> - l11 {
> - regulator-min-microvolt = <2950000>;
> - regulator-max-microvolt = <2950000>;
> - regulator-system-load = <200000>;
> - regulator-allow-set-load;
> - };
> -
> - l12 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <2950000>;
> - };
> -
> - l13 {
> - regulator-min-microvolt = <3075000>;
> - regulator-max-microvolt = <3075000>;
> - };
> -
> - l14 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l15 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l16 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l17 {
> - regulator-min-microvolt = <2850000>;
> - regulator-max-microvolt = <2850000>;
> - };
> -
> - l18 {
> - regulator-min-microvolt = <2700000>;
> - regulator-max-microvolt = <2700000>;
> - };
> -};
> -
> &msmgpio {
> camera_flash_default: camera-flash-default-state {
> pins = "gpio31", "gpio32";
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dts b/arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dts
> index 8197710372ad..29aaa35438a3 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dts
> @@ -222,11 +222,28 @@ &lpass_codec {
> status = "okay";
> };
>
> +&pm8916_l8 {
> + regulator-min-microvolt = <2950000>;
> + regulator-max-microvolt = <2950000>;
> +};
> +
> &pm8916_resin {
> status = "okay";
> linux,code = <KEY_VOLUMEDOWN>;
> };
>
> +&pm8916_rpm_regulators {
> + pm8916_l16: l16 {
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + pm8916_l17: l17 {
> + regulator-min-microvolt = <2850000>;
> + regulator-max-microvolt = <2850000>;
> + };
> +};
> +
> &pm8916_vib {
> status = "okay";
> };
> @@ -321,109 +338,6 @@ &wcnss_iris {
> compatible = "qcom,wcn3620";
> };
>
> -&smd_rpm_regulators {
> - vdd_l1_l2_l3-supply = <&pm8916_s3>;
> - vdd_l4_l5_l6-supply = <&pm8916_s4>;
> - vdd_l7-supply = <&pm8916_s4>;
> -
> - s3 {
> - regulator-min-microvolt = <1250000>;
> - regulator-max-microvolt = <1350000>;
> - };
> -
> - s4 {
> - regulator-min-microvolt = <1850000>;
> - regulator-max-microvolt = <2150000>;
> - };
> -
> - l1 {
> - regulator-min-microvolt = <1225000>;
> - regulator-max-microvolt = <1225000>;
> - };
> -
> - l2 {
> - regulator-min-microvolt = <1200000>;
> - regulator-max-microvolt = <1200000>;
> - };
> -
> - l4 {
> - regulator-min-microvolt = <2050000>;
> - regulator-max-microvolt = <2050000>;
> - };
> -
> - l5 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l6 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l7 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l8 {
> - regulator-min-microvolt = <2950000>;
> - regulator-max-microvolt = <2950000>;
> - };
> -
> - l9 {
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l10 {
> - regulator-min-microvolt = <2800000>;
> - regulator-max-microvolt = <2800000>;
> - };
> -
> - l11 {
> - regulator-min-microvolt = <2950000>;
> - regulator-max-microvolt = <2950000>;
> - regulator-allow-set-load;
> - regulator-system-load = <200000>;
> - };
> -
> - l12 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <2950000>;
> - };
> -
> - l13 {
> - regulator-min-microvolt = <3075000>;
> - regulator-max-microvolt = <3075000>;
> - };
> -
> - l14 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l15 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l16 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l17 {
> - regulator-min-microvolt = <2850000>;
> - regulator-max-microvolt = <2850000>;
> - };
> -
> - l18 {
> - regulator-min-microvolt = <2700000>;
> - regulator-max-microvolt = <2700000>;
> - };
> -};
> -
> &msmgpio {
> accel_irq_default: accel-irq-default-state {
> pins = "gpio115";
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
> index 68d1b76aaf77..b7b1f1ceaf1f 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
> @@ -223,6 +223,13 @@ &pm8916_resin {
> linux,code = <KEY_VOLUMEDOWN>;
> };
>
> +&pm8916_rpm_regulators {
> + pm8916_l17: l17 {
> + regulator-min-microvolt = <2850000>;
> + regulator-max-microvolt = <2850000>;
> + };
> +};
> +
> &pm8916_usbin {
> status = "okay";
> };
> @@ -267,109 +274,6 @@ &wcnss_iris {
> compatible = "qcom,wcn3620";
> };
>
> -&smd_rpm_regulators {
> - vdd_l1_l2_l3-supply = <&pm8916_s3>;
> - vdd_l4_l5_l6-supply = <&pm8916_s4>;
> - vdd_l7-supply = <&pm8916_s4>;
> -
> - s3 {
> - regulator-min-microvolt = <1250000>;
> - regulator-max-microvolt = <1350000>;
> - };
> -
> - s4 {
> - regulator-min-microvolt = <1850000>;
> - regulator-max-microvolt = <2150000>;
> - };
> -
> - l1 {
> - regulator-min-microvolt = <1225000>;
> - regulator-max-microvolt = <1225000>;
> - };
> -
> - l2 {
> - regulator-min-microvolt = <1200000>;
> - regulator-max-microvolt = <1200000>;
> - };
> -
> - l4 {
> - regulator-min-microvolt = <2050000>;
> - regulator-max-microvolt = <2050000>;
> - };
> -
> - l5 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l6 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l7 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l8 {
> - regulator-min-microvolt = <2900000>;
> - regulator-max-microvolt = <2900000>;
> - };
> -
> - l9 {
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l10 {
> - regulator-min-microvolt = <2800000>;
> - regulator-max-microvolt = <2800000>;
> - };
> -
> - l11 {
> - regulator-min-microvolt = <2950000>;
> - regulator-max-microvolt = <2950000>;
> - regulator-allow-set-load;
> - regulator-system-load = <200000>;
> - };
> -
> - l12 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <2950000>;
> - };
> -
> - l13 {
> - regulator-min-microvolt = <3075000>;
> - regulator-max-microvolt = <3075000>;
> - };
> -
> - l14 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l15 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l16 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l17 {
> - regulator-min-microvolt = <2850000>;
> - regulator-max-microvolt = <2850000>;
> - };
> -
> - l18 {
> - regulator-min-microvolt = <2700000>;
> - regulator-max-microvolt = <2700000>;
> - };
> -};
> -
> &msmgpio {
> accel_int_default: accel-int-default-state {
> pins = "gpio116";
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dts
> index 5ef51d3e9098..d1eb3f2ecf3f 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dts
> @@ -95,6 +95,13 @@ &pm8916_resin {
> linux,code = <KEY_VOLUMEDOWN>;
> };
>
> +&pm8916_rpm_regulators {
> + pm8916_l17: l17 {
> + regulator-min-microvolt = <2850000>;
> + regulator-max-microvolt = <2850000>;
> + };
> +};
> +
> &pm8916_vib {
> status = "okay";
> };
> @@ -134,109 +141,6 @@ &wcnss_iris {
> compatible = "qcom,wcn3620";
> };
>
> -&smd_rpm_regulators {
> - vdd_l1_l2_l3-supply = <&pm8916_s3>;
> - vdd_l4_l5_l6-supply = <&pm8916_s4>;
> - vdd_l7-supply = <&pm8916_s4>;
> -
> - s3 {
> - regulator-min-microvolt = <1250000>;
> - regulator-max-microvolt = <1350000>;
> - };
> -
> - s4 {
> - regulator-min-microvolt = <1850000>;
> - regulator-max-microvolt = <2150000>;
> - };
> -
> - l1 {
> - regulator-min-microvolt = <1225000>;
> - regulator-max-microvolt = <1225000>;
> - };
> -
> - l2 {
> - regulator-min-microvolt = <1200000>;
> - regulator-max-microvolt = <1200000>;
> - };
> -
> - l4 {
> - regulator-min-microvolt = <2050000>;
> - regulator-max-microvolt = <2050000>;
> - };
> -
> - l5 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l6 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l7 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l8 {
> - regulator-min-microvolt = <2900000>;
> - regulator-max-microvolt = <2900000>;
> - };
> -
> - l9 {
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l10 {
> - regulator-min-microvolt = <2800000>;
> - regulator-max-microvolt = <2800000>;
> - };
> -
> - l11 {
> - regulator-min-microvolt = <2950000>;
> - regulator-max-microvolt = <2950000>;
> - regulator-allow-set-load;
> - regulator-system-load = <200000>;
> - };
> -
> - l12 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <2950000>;
> - };
> -
> - l13 {
> - regulator-min-microvolt = <3075000>;
> - regulator-max-microvolt = <3075000>;
> - };
> -
> - l14 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l15 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l16 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l17 {
> - regulator-min-microvolt = <2850000>;
> - regulator-max-microvolt = <2850000>;
> - };
> -
> - l18 {
> - regulator-min-microvolt = <2700000>;
> - regulator-max-microvolt = <2700000>;
> - };
> -};
> -
> &msmgpio {
> button_backlight_default: button-backlight-default-state {
> pins = "gpio17";
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-pm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916-pm8916.dtsi
> index 29ef46c33350..b38eecbd6253 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-pm8916.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8916-pm8916.dtsi
> @@ -61,30 +61,92 @@ &wcnss_iris {
> };
>
> &rpm_requests {
> - smd_rpm_regulators: regulators {
> + pm8916_rpm_regulators: regulators {
> compatible = "qcom,rpm-pm8916-regulators";
> + vdd_l1_l2_l3-supply = <&pm8916_s3>;
> + vdd_l4_l5_l6-supply = <&pm8916_s4>;
> + vdd_l7-supply = <&pm8916_s4>;
>
> /* pm8916_s1 is managed by rpmpd (MSM8916_VDDCX) */
> - pm8916_s3: s3 {};
> - pm8916_s4: s4 {};
>
> - pm8916_l1: l1 {};
> - pm8916_l2: l2 {};
> + pm8916_s3: s3 {
> + regulator-min-microvolt = <1250000>;
> + regulator-max-microvolt = <1350000>;
> + };
> +
> + pm8916_s4: s4 {
> + regulator-min-microvolt = <1850000>;
> + regulator-max-microvolt = <2150000>;
> + };
> +
> + /*
> + * Some of the regulators are unused or managed by another
> + * processor (e.g. the modem). We should still define nodes for
> + * them to ensure the vote from the application processor can be
> + * dropped in case the regulators are already on during boot.
> + *
> + * The labels for these nodes are omitted on purpose because
> + * boards should configure a proper voltage before using them.
> + */
> + l1 {};
> +
> + pm8916_l2: l2 {
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + };
> +
> /* pm8916_l3 is managed by rpmpd (MSM8916_VDDMX) */
> - pm8916_l4: l4 {};
> - pm8916_l5: l5 {};
> - pm8916_l6: l6 {};
> - pm8916_l7: l7 {};
> - pm8916_l8: l8 {};
> - pm8916_l9: l9 {};
> - pm8916_l10: l10 {};
> - pm8916_l11: l11 {};
> - pm8916_l12: l12 {};
> - pm8916_l13: l13 {};
> - pm8916_l14: l14 {};
> - pm8916_l15: l15 {};
> - pm8916_l16: l16 {};
> - pm8916_l17: l17 {};
> - pm8916_l18: l18 {};
> +
> + l4 {};
> +
> + pm8916_l5: l5 {
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + pm8916_l6: l6 {
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + pm8916_l7: l7 {
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + };
> +
> + pm8916_l8: l8 {
> + regulator-min-microvolt = <2900000>;
> + regulator-max-microvolt = <2900000>;
> + };
> +
> + pm8916_l9: l9 {
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + l10 {};
> +
> + pm8916_l11: l11 {
> + regulator-min-microvolt = <2950000>;
> + regulator-max-microvolt = <2950000>;
> + regulator-allow-set-load;
> + regulator-system-load = <200000>;
> + };
> +
> + pm8916_l12: l12 {
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <2950000>;
> + };
> +
> + pm8916_l13: l13 {
> + regulator-min-microvolt = <3075000>;
> + regulator-max-microvolt = <3075000>;
> + };
> +
> + l14 {};
> + l15 {};
> + l16 {};
> + l17 {};
> + l18 {};
> };
> };
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi b/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi
> index b362a76eebc9..37a872949851 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi
> @@ -252,6 +252,13 @@ &pm8916_resin {
> linux,code = <KEY_VOLUMEDOWN>;
> };
>
> +&pm8916_rpm_regulators {
> + pm8916_l17: l17 {
> + regulator-min-microvolt = <2850000>;
> + regulator-max-microvolt = <2850000>;
> + };
> +};
> +
> &sdhc_1 {
> status = "okay";
>
> @@ -279,109 +286,6 @@ &usb_hs_phy {
> extcon = <&muic>;
> };
>
> -&smd_rpm_regulators {
> - vdd_l1_l2_l3-supply = <&pm8916_s3>;
> - vdd_l4_l5_l6-supply = <&pm8916_s4>;
> - vdd_l7-supply = <&pm8916_s4>;
> -
> - s3 {
> - regulator-min-microvolt = <1250000>;
> - regulator-max-microvolt = <1350000>;
> - };
> -
> - s4 {
> - regulator-min-microvolt = <1850000>;
> - regulator-max-microvolt = <2150000>;
> - };
> -
> - l1 {
> - regulator-min-microvolt = <1225000>;
> - regulator-max-microvolt = <1225000>;
> - };
> -
> - l2 {
> - regulator-min-microvolt = <1200000>;
> - regulator-max-microvolt = <1200000>;
> - };
> -
> - l4 {
> - regulator-min-microvolt = <2050000>;
> - regulator-max-microvolt = <2050000>;
> - };
> -
> - l5 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l6 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l7 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l8 {
> - regulator-min-microvolt = <2900000>;
> - regulator-max-microvolt = <2900000>;
> - };
> -
> - l9 {
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l10 {
> - regulator-min-microvolt = <2800000>;
> - regulator-max-microvolt = <2800000>;
> - };
> -
> - l11 {
> - regulator-min-microvolt = <2950000>;
> - regulator-max-microvolt = <2950000>;
> - regulator-allow-set-load;
> - regulator-system-load = <200000>;
> - };
> -
> - l12 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <2950000>;
> - };
> -
> - l13 {
> - regulator-min-microvolt = <3075000>;
> - regulator-max-microvolt = <3075000>;
> - };
> -
> - l14 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l15 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l16 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l17 {
> - regulator-min-microvolt = <2850000>;
> - regulator-max-microvolt = <2850000>;
> - };
> -
> - l18 {
> - regulator-min-microvolt = <2700000>;
> - regulator-max-microvolt = <2700000>;
> - };
> -};
> -
> &msmgpio {
> accel_int_default: accel-int-default-state {
> pins = "gpio115";
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-gt5-common.dtsi b/arch/arm64/boot/dts/qcom/msm8916-samsung-gt5-common.dtsi
> index 4464beeeaab1..a49e1641e59b 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-samsung-gt5-common.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-gt5-common.dtsi
> @@ -120,6 +120,13 @@ &pm8916_resin {
> status = "okay";
> };
>
> +&pm8916_rpm_regulators {
> + pm8916_l17: l17 {
> + regulator-min-microvolt = <2850000>;
> + regulator-max-microvolt = <2850000>;
> + };
> +};
> +
> /* FIXME: Replace with MAX77849 MUIC when driver is available */
> &pm8916_usbin {
> status = "okay";
> @@ -162,109 +169,6 @@ &wcnss_iris {
> compatible = "qcom,wcn3660b";
> };
>
> -&smd_rpm_regulators {
> - vdd_l1_l2_l3-supply = <&pm8916_s3>;
> - vdd_l4_l5_l6-supply = <&pm8916_s4>;
> - vdd_l7-supply = <&pm8916_s4>;
> -
> - s3 {
> - regulator-min-microvolt = <1250000>;
> - regulator-max-microvolt = <1350000>;
> - };
> -
> - s4 {
> - regulator-min-microvolt = <1850000>;
> - regulator-max-microvolt = <2150000>;
> - };
> -
> - l1 {
> - regulator-min-microvolt = <1225000>;
> - regulator-max-microvolt = <1225000>;
> - };
> -
> - l2 {
> - regulator-min-microvolt = <1200000>;
> - regulator-max-microvolt = <1200000>;
> - };
> -
> - l4 {
> - regulator-min-microvolt = <2050000>;
> - regulator-max-microvolt = <2050000>;
> - };
> -
> - l5 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l6 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l7 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l8 {
> - regulator-min-microvolt = <2900000>;
> - regulator-max-microvolt = <2900000>;
> - };
> -
> - l9 {
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l10 {
> - regulator-min-microvolt = <2800000>;
> - regulator-max-microvolt = <2800000>;
> - };
> -
> - l11 {
> - regulator-min-microvolt = <2950000>;
> - regulator-max-microvolt = <2950000>;
> - regulator-system-load = <200000>;
> - regulator-allow-set-load;
> - };
> -
> - l12 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <2950000>;
> - };
> -
> - l13 {
> - regulator-min-microvolt = <3075000>;
> - regulator-max-microvolt = <3075000>;
> - };
> -
> - l14 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l15 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l16 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l17 {
> - regulator-min-microvolt = <2850000>;
> - regulator-max-microvolt = <2850000>;
> - };
> -
> - l18 {
> - regulator-min-microvolt = <2700000>;
> - regulator-max-microvolt = <2700000>;
> - };
> -};
> -
> &msmgpio {
> accel_int_default: accel-int-default-state {
> pins = "gpio115";
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-j5-common.dtsi b/arch/arm64/boot/dts/qcom/msm8916-samsung-j5-common.dtsi
> index 6e231e92e675..6192d04a58ae 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-samsung-j5-common.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-j5-common.dtsi
> @@ -128,109 +128,6 @@ &wcnss_iris {
> compatible = "qcom,wcn3620";
> };
>
> -&smd_rpm_regulators {
> - vdd_l1_l2_l3-supply = <&pm8916_s3>;
> - vdd_l4_l5_l6-supply = <&pm8916_s4>;
> - vdd_l7-supply = <&pm8916_s4>;
> -
> - s3 {
> - regulator-min-microvolt = <1250000>;
> - regulator-max-microvolt = <1350000>;
> - };
> -
> - s4 {
> - regulator-min-microvolt = <1850000>;
> - regulator-max-microvolt = <2150000>;
> - };
> -
> - l1 {
> - regulator-min-microvolt = <1225000>;
> - regulator-max-microvolt = <1225000>;
> - };
> -
> - l2 {
> - regulator-min-microvolt = <1200000>;
> - regulator-max-microvolt = <1200000>;
> - };
> -
> - l4 {
> - regulator-min-microvolt = <2050000>;
> - regulator-max-microvolt = <2050000>;
> - };
> -
> - l5 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l6 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l7 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l8 {
> - regulator-min-microvolt = <2900000>;
> - regulator-max-microvolt = <2900000>;
> - };
> -
> - l9 {
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l10 {
> - regulator-min-microvolt = <2800000>;
> - regulator-max-microvolt = <2800000>;
> - };
> -
> - l11 {
> - regulator-min-microvolt = <2950000>;
> - regulator-max-microvolt = <2950000>;
> - regulator-allow-set-load;
> - regulator-system-load = <200000>;
> - };
> -
> - l12 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <2950000>;
> - };
> -
> - l13 {
> - regulator-min-microvolt = <3075000>;
> - regulator-max-microvolt = <3075000>;
> - };
> -
> - l14 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l15 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l16 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l17 {
> - regulator-min-microvolt = <3000000>;
> - regulator-max-microvolt = <3000000>;
> - };
> -
> - l18 {
> - regulator-min-microvolt = <2700000>;
> - regulator-max-microvolt = <2700000>;
> - };
> -};
> -
> &msmgpio {
> gpio_hall_sensor_default: gpio-hall-sensor-default-state {
> pins = "gpio52";
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dts b/arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dts
> index fa5b330aaeae..fc4c61c4e1e6 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dts
> @@ -320,109 +320,6 @@ &wcnss_iris {
> compatible = "qcom,wcn3660b";
> };
>
> -&smd_rpm_regulators {
> - vdd_l1_l2_l3-supply = <&pm8916_s3>;
> - vdd_l4_l5_l6-supply = <&pm8916_s4>;
> - vdd_l7-supply = <&pm8916_s4>;
> -
> - s3 {
> - regulator-min-microvolt = <1250000>;
> - regulator-max-microvolt = <1350000>;
> - };
> -
> - s4 {
> - regulator-min-microvolt = <1850000>;
> - regulator-max-microvolt = <2150000>;
> - };
> -
> - l1 {
> - regulator-min-microvolt = <1225000>;
> - regulator-max-microvolt = <1225000>;
> - };
> -
> - l2 {
> - regulator-min-microvolt = <1200000>;
> - regulator-max-microvolt = <1200000>;
> - };
> -
> - l4 {
> - regulator-min-microvolt = <2050000>;
> - regulator-max-microvolt = <2050000>;
> - };
> -
> - l5 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l6 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l7 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l8 {
> - regulator-min-microvolt = <2900000>;
> - regulator-max-microvolt = <2900000>;
> - };
> -
> - l9 {
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l10 {
> - regulator-min-microvolt = <2800000>;
> - regulator-max-microvolt = <2800000>;
> - };
> -
> - l11 {
> - regulator-min-microvolt = <2950000>;
> - regulator-max-microvolt = <2950000>;
> - regulator-allow-set-load;
> - regulator-system-load = <200000>;
> - };
> -
> - l12 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <2950000>;
> - };
> -
> - l13 {
> - regulator-min-microvolt = <3075000>;
> - regulator-max-microvolt = <3075000>;
> - };
> -
> - l14 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l15 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l16 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l17 {
> - regulator-min-microvolt = <2850000>;
> - regulator-max-microvolt = <2850000>;
> - };
> -
> - l18 {
> - regulator-min-microvolt = <2700000>;
> - regulator-max-microvolt = <2700000>;
> - };
> -};
> -
> &msmgpio {
> fg_alert_default: fg-alert-default-state {
> pins = "gpio121";
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-ufi.dtsi b/arch/arm64/boot/dts/qcom/msm8916-ufi.dtsi
> index b27896e83a0e..c8ea2f6f6b3d 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-ufi.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8916-ufi.dtsi
> @@ -126,109 +126,6 @@ &wcnss_iris {
> compatible = "qcom,wcn3620";
> };
>
> -&smd_rpm_regulators {
> - vdd_l1_l2_l3-supply = <&pm8916_s3>;
> - vdd_l4_l5_l6-supply = <&pm8916_s4>;
> - vdd_l7-supply = <&pm8916_s4>;
> -
> - s3 {
> - regulator-min-microvolt = <1250000>;
> - regulator-max-microvolt = <1350000>;
> - };
> -
> - s4 {
> - regulator-min-microvolt = <1850000>;
> - regulator-max-microvolt = <2150000>;
> - };
> -
> - l1 {
> - regulator-min-microvolt = <1225000>;
> - regulator-max-microvolt = <1225000>;
> - };
> -
> - l2 {
> - regulator-min-microvolt = <1200000>;
> - regulator-max-microvolt = <1200000>;
> - };
> -
> - l4 {
> - regulator-min-microvolt = <2050000>;
> - regulator-max-microvolt = <2050000>;
> - };
> -
> - l5 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l6 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l7 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l8 {
> - regulator-min-microvolt = <2900000>;
> - regulator-max-microvolt = <2900000>;
> - };
> -
> - l9 {
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l10 {
> - regulator-min-microvolt = <2800000>;
> - regulator-max-microvolt = <2800000>;
> - };
> -
> - l11 {
> - regulator-min-microvolt = <2950000>;
> - regulator-max-microvolt = <2950000>;
> - regulator-system-load = <200000>;
> - regulator-allow-set-load;
> - };
> -
> - l12 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <2950000>;
> - };
> -
> - l13 {
> - regulator-min-microvolt = <3075000>;
> - regulator-max-microvolt = <3075000>;
> - };
> -
> - l14 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l15 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l16 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l17 {
> - regulator-min-microvolt = <2850000>;
> - regulator-max-microvolt = <2850000>;
> - };
> -
> - l18 {
> - regulator-min-microvolt = <2700000>;
> - regulator-max-microvolt = <2700000>;
> - };
> -};
> -
> &msmgpio {
> /* pins are board-specific */
> button_default: button-default-state {
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dts b/arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dts
> index 78020a0db4e4..323590598113 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dts
> @@ -149,6 +149,22 @@ &pm8916_resin {
> linux,code = <KEY_VOLUMEDOWN>;
> };
>
> +&pm8916_rpm_regulators {
> + pm8916_l16: l16 {
> + /*
> + * L16 is only used for AW2013 which is fine with 2.5-3.3V.
> + * Use the recommended typical voltage of 2.8V as minimum.
> + */
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + pm8916_l17: l17 {
> + regulator-min-microvolt = <2850000>;
> + regulator-max-microvolt = <2850000>;
> + };
> +};
> +
> &pm8916_vib {
> status = "okay";
> };
> @@ -188,109 +204,6 @@ &wcnss_iris {
> compatible = "qcom,wcn3620";
> };
>
> -&smd_rpm_regulators {
> - vdd_l1_l2_l3-supply = <&pm8916_s3>;
> - vdd_l4_l5_l6-supply = <&pm8916_s4>;
> - vdd_l7-supply = <&pm8916_s4>;
> -
> - s3 {
> - regulator-min-microvolt = <1250000>;
> - regulator-max-microvolt = <1350000>;
> - };
> -
> - s4 {
> - regulator-min-microvolt = <1850000>;
> - regulator-max-microvolt = <2150000>;
> - };
> -
> - l1 {
> - regulator-min-microvolt = <1225000>;
> - regulator-max-microvolt = <1225000>;
> - };
> -
> - l2 {
> - regulator-min-microvolt = <1200000>;
> - regulator-max-microvolt = <1200000>;
> - };
> -
> - l4 {
> - regulator-min-microvolt = <2050000>;
> - regulator-max-microvolt = <2050000>;
> - };
> -
> - l5 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l6 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l7 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <1800000>;
> - };
> -
> - l8 {
> - regulator-min-microvolt = <2900000>;
> - regulator-max-microvolt = <2900000>;
> - };
> -
> - l9 {
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l10 {
> - regulator-min-microvolt = <2800000>;
> - regulator-max-microvolt = <2800000>;
> - };
> -
> - l11 {
> - regulator-min-microvolt = <2950000>;
> - regulator-max-microvolt = <2950000>;
> - regulator-allow-set-load;
> - regulator-system-load = <200000>;
> - };
> -
> - l12 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <2950000>;
> - };
> -
> - l13 {
> - regulator-min-microvolt = <3075000>;
> - regulator-max-microvolt = <3075000>;
> - };
> -
> - l14 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l15 {
> - regulator-min-microvolt = <1800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l16 {
> - regulator-min-microvolt = <2800000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - l17 {
> - regulator-min-microvolt = <2850000>;
> - regulator-max-microvolt = <2850000>;
> - };
> -
> - l18 {
> - regulator-min-microvolt = <2700000>;
> - regulator-max-microvolt = <2700000>;
> - };
> -};
> -
> &msmgpio {
> camera_flash_default: camera-flash-default-state {
> pins = "gpio31", "gpio32";
>