arm64: dts: qcom: msm8916: Define regulator constraints next to usage
authorStephan Gerhold <stephan@gerhold.net>
Wed, 17 May 2023 18:48:46 +0000 (20:48 +0200)
committerBjorn Andersson <andersson@kernel.org>
Thu, 25 May 2023 04:50:47 +0000 (21:50 -0700)
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@gerhold.net>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230510-msm8916-regulators-v1-7-54d4960a05fc@gerhold.net
15 files changed:
arch/arm64/boot/dts/qcom/apq8016-sbc.dts
arch/arm64/boot/dts/qcom/msm8916-acer-a1-724.dts
arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dts
arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dts
arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts
arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dts
arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dts
arch/arm64/boot/dts/qcom/msm8916-pm8916.dtsi
arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi
arch/arm64/boot/dts/qcom/msm8916-samsung-gt5-common.dtsi
arch/arm64/boot/dts/qcom/msm8916-samsung-j5-common.dtsi
arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dts
arch/arm64/boot/dts/qcom/msm8916-ufi.dtsi
arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dts

index 7d7af64..ab8dfd8 100644 (file)
        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";
 
 &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.
index 0d51780..753413b 100644 (file)
        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";
 };
        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";
index ddd64cc..4bfbad6 100644 (file)
        linux,code = <KEY_VOLUMEDOWN>;
 };
 
+&pm8916_rpm_regulators {
+       pm8916_l17: l17 {
+               regulator-min-microvolt = <2850000>;
+               regulator-max-microvolt = <2850000>;
+       };
+};
+
 &pm8916_vib {
        status = "okay";
 };
        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";
index 9824575..37755e8 100644 (file)
        status = "okay";
 };
 
+&pm8916_rpm_regulators {
+       pm8916_l17: l17 {
+               regulator-min-microvolt = <2850000>;
+               regulator-max-microvolt = <2850000>;
+       };
+};
+
 &sdhc_1 {
        status = "okay";
 
        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";
index 9584d27..4a6bf99 100644 (file)
        status = "okay";
 };
 
+&pm8916_rpm_regulators {
+       pm8916_l17: l17 {
+               regulator-min-microvolt = <2850000>;
+               regulator-max-microvolt = <2850000>;
+       };
+};
+
 &pm8916_vib {
        status = "okay";
 };
        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";
index 8197710..29aaa35 100644 (file)
        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";
 };
        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";
index 68d1b76..b7b1f1c 100644 (file)
        linux,code = <KEY_VOLUMEDOWN>;
 };
 
+&pm8916_rpm_regulators {
+       pm8916_l17: l17 {
+               regulator-min-microvolt = <2850000>;
+               regulator-max-microvolt = <2850000>;
+       };
+};
+
 &pm8916_usbin {
        status = "okay";
 };
        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";
index 1e0c087..630727e 100644 (file)
        linux,code = <KEY_VOLUMEDOWN>;
 };
 
+&pm8916_rpm_regulators {
+       pm8916_l17: l17 {
+               regulator-min-microvolt = <2850000>;
+               regulator-max-microvolt = <2850000>;
+       };
+};
+
 &pm8916_vib {
        status = "okay";
 };
        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";
index 29ef46c..b38eecb 100644 (file)
 };
 
 &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 {};
        };
 };
index b362a76..37a8729 100644 (file)
        linux,code = <KEY_VOLUMEDOWN>;
 };
 
+&pm8916_rpm_regulators {
+       pm8916_l17: l17 {
+               regulator-min-microvolt = <2850000>;
+               regulator-max-microvolt = <2850000>;
+       };
+};
+
 &sdhc_1 {
        status = "okay";
 
        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";
index 4464bee..a49e164 100644 (file)
        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";
        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";
index 6e231e9..6192d04 100644 (file)
        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";
index fa5b330..fc4c61c 100644 (file)
        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";
index 259c466..6a92190 100644 (file)
        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 {
index 78020a0..3235905 100644 (file)
        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";
 };
        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";