Loading arch/arm/boot/dts/qcom/mdmfermium-regulator.dtsi +256 −110 Original line number Diff line number Diff line Loading @@ -10,154 +10,300 @@ * GNU General Public License for more details. */ /* Stub regulators */ / { /* APC supply */ mdmfermium_s1: regulator-s1 { compatible = "qcom,stub-regulator"; regulator-name = "mdmfermium_s1"; regulator-min-microvolt = <1050000>; regulator-max-microvolt = <1350000>; }; &rpm_bus { rpm-regulator-smpa2 { status = "okay"; mdmfermium_s2: regulator-s2 { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_s2"; regulator-min-microvolt = <1050000>; regulator-min-microvolt = <750000>; regulator-max-microvolt = <1275000>; qcom,init-voltage = <750000>; status = "okay"; }; }; /* CX supply */ rpm-regulator-smpa3 { status = "okay"; mdmfermium_s3_level: regulator-s3-level { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_s3_level"; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; qcom,use-voltage-level; }; mdmfermium_s3_level_ao: regulator-s3-level-ao { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_s3_level_ao"; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; qcom,set = <1>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; qcom,use-voltage-level; }; mdmfermium_s3_floor_level: regulator-s3-floor-level { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_s3_floor_level"; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; qcom,set = <3>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; qcom,use-voltage-floor-level; qcom,always-send-voltage; }; mdmfermium_s3_level_so: regulator-s3-level-so { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_s3_level_so"; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; qcom,use-voltage-level; }; }; rpm-regulator-smpa4 { status = "okay"; mdmfermium_s4: regulator-s4 { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_s4"; regulator-min-microvolt = <1950000>; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1950000>; qcom,init-voltage = <1800000>; status = "okay"; }; }; rpm-regulator-ldoa1 { status = "okay"; mdmfermium_l1: regulator-l1 { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l1"; parent-supply = <&mdmfermium_s2>; regulator-min-microvolt = <1250000>; regulator-max-microvolt = <1250000>; qcom,init-voltage = <1250000>; status = "okay"; }; }; rpm-regulator-ldoa2 { status = "okay"; mdmfermium_l2: regulator-l2 { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l2"; parent-supply = <&mdmfermium_s4>; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; qcom,init-voltage = <1800000>; status = "okay"; }; }; rpm-regulator-ldoa3 { status = "okay"; mdmfermium_l3: regulator-l3 { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l3"; parent-supply = <&mdmfermium_s4>; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; qcom,init-voltage = <1800000>; status = "okay"; }; }; mdmfermium_l3_level_ao: regulator-l3-level-ao { compatible = "qcom,stub-regulator"; regulator-name = "mdmfermium_l3_level_ao"; parent-supply = <&mdmfermium_s4>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; rpm-regulator-ldoa4 { status = "okay"; mdmfermium_l4: regulator-l4 { compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l4"; regulator-min-microvolt = <3075000>; regulator-max-microvolt = <3075000>; qcom,init-voltage = <3075000>; status = "okay"; }; }; mdmfermium_l3_level_so: regulator-l3-level-so { compatible = "qcom,stub-regulator"; regulator-name = "mdmfermium_l3_level_so"; parent-supply = <&mdmfermium_s4>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; rpm-regulator-ldoa5 { status = "okay"; mdmfermium_l5: regulator-l5 { compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l5"; regulator-min-microvolt = <1700000>; regulator-max-microvolt = <3050000>; qcom,init-voltage = <1700000>; status = "okay"; }; }; mdmfermium_l4: regulator-l4 { compatible = "qcom,stub-regulator"; regulator-name = "mdmfermium_l4"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; rpm-regulator-ldoa6 { status = "okay"; mdmfermium_l6: regulator-l6 { compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l6"; regulator-min-microvolt = <1700000>; regulator-max-microvolt = <3050000>; qcom,init-voltage = <1700000>; status = "okay"; }; }; rpm-regulator-ldoa7 { status = "okay"; mdmfermium_l7: regulator-l7 { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l7"; parent-supply = <&mdmfermium_s4>; regulator-min-microvolt = <1700000>; regulator-max-microvolt = <1900000>; qcom,init-voltage = <1700000>; status = "okay"; }; }; rpm-regulator-ldoa8 { status = "okay"; mdmfermium_l8: regulator-l8 { compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l8"; parent-supply = <&mdmfermium_s4>; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; qcom,init-voltage = <1800000>; status = "okay"; }; }; rpm-regulator-ldoa9 { status = "okay"; mdmfermium_l9: regulator-l9 { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l9"; parent-supply = <&mdmfermium_s2>; regulator-min-microvolt = <1225000>; regulator-max-microvolt = <1225000>; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1250000>; qcom,init-voltage = <1200000>; status = "okay"; }; }; rpm-regulator-ldoa10 { status = "okay"; mdmfermium_l10: regulator-l10 { compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l10"; parent-supply = <&mdmfermium_s1>; regulator-min-microvolt = <1050000>; regulator-max-microvolt = <1050000>; qcom,init-voltage = <1050000>; status = "okay"; }; }; rpm-regulator-ldoa11 { status = "okay"; mdmfermium_l11: regulator-l11 { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l11"; parent-supply = <&mdmfermium_s4>; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; qcom,init-voltage = <1800000>; status = "okay"; }; }; /* MX supply */ rpm-regulator-ldoa12 { status = "okay"; mdmfermium_l12_level: regulator-l12-level { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l12_level"; qcom,set = <3>; parent-supply = <&mdmfermium_s2>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; qcom,use-voltage-level; }; mdmfermium_l12_level_ao: regulator-l12-level-ao { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l12_level_ao"; qcom,set = <1>; parent-supply = <&mdmfermium_s2>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; qcom,use-voltage-level; qcom,always-send-voltage; }; mdmfermium_l12_level_so: regulator-l12-level-so { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l12_level_so"; qcom,set = <2>; parent-supply = <&mdmfermium_s2>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; qcom,use-voltage-level; }; }; rpm-regulator-ldoa13 { status = "okay"; mdmfermium_l13: regulator-l13 { compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l13"; regulator-min-microvolt = <2850000>; regulator-max-microvolt = <3300000>; qcom,init-voltage = <2850000>; status = "okay"; }; }; rpm-regulator-ldoa14 { status = "okay"; mdmfermium_l14: regulator-l14 { compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l14"; regulator-min-microvolt = <2650000>; regulator-max-microvolt = <3000000>; qcom,init-voltage = <2650000>; status = "okay"; }; }; }; &soc { /* VDD APC supply */ /* TODO: move to SPM controlled regulator */ mdmfermium_s1: regulator-s1 { compatible = "qcom,stub-regulator"; regulator-name = "mdmfermium_s1"; regulator-min-microvolt = <1050000>; regulator-max-microvolt = <1350000>; }; /* TODO: move to CPR regulator */ apc_vreg_corner: apc-vreg { compatible = "qcom,stub-regulator"; regulator-name = "apc_vreg"; regulator-min-microvolt = <1>; regulator-max-microvolt = <7>; }; }; arch/arm/boot/dts/qcom/mdmfermium-rpm-regulator.dtsi 0 → 100644 +302 −0 Original line number Diff line number Diff line /* * Copyright (c) 2015, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ &rpm_bus { rpm-regulator-smpa1 { qcom,resource-name = "smpa"; qcom,resource-id = <1>; qcom,regulator-type = <1>; qcom,hpm-min-load = <100000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-s1 { regulator-name = "mdmfermium_s1"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-smpa2 { qcom,resource-name = "smpa"; qcom,resource-id = <2>; qcom,regulator-type = <1>; qcom,hpm-min-load = <100000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-s2 { regulator-name = "mdmfermium_s2"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-smpa3 { qcom,resource-name = "smpa"; qcom,resource-id = <3>; qcom,regulator-type = <1>; qcom,hpm-min-load = <100000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-s3 { regulator-name = "mdmfermium_s3"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-smpa4 { qcom,resource-name = "smpa"; qcom,resource-id = <4>; qcom,regulator-type = <1>; qcom,hpm-min-load = <100000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-s4 { regulator-name = "mdmfermium_s4"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa1 { qcom,resource-name = "ldoa"; qcom,resource-id = <1>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l1 { regulator-name = "mdmfermium_l1"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa2 { qcom,resource-name = "ldoa"; qcom,resource-id = <2>; qcom,regulator-type = <0>; qcom,hpm-min-load = <5000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l2 { regulator-name = "mdmfermium_l2"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa3 { qcom,resource-name = "ldoa"; qcom,resource-id = <3>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l3 { regulator-name = "mdmfermium_l3"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa4 { qcom,resource-name = "ldoa"; qcom,resource-id = <4>; qcom,regulator-type = <0>; qcom,hpm-min-load = <5000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l4 { regulator-name = "mdmfermium_l4"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa5 { qcom,resource-name = "ldoa"; qcom,resource-id = <5>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l5 { regulator-name = "mdmfermium_l5"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa6 { qcom,resource-name = "ldoa"; qcom,resource-id = <6>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l6 { regulator-name = "mdmfermium_l6"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa7 { qcom,resource-name = "ldoa"; qcom,resource-id = <7>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l7 { regulator-name = "mdmfermium_l7"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa8 { qcom,resource-name = "ldoa"; qcom,resource-id = <8>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l8 { regulator-name = "mdmfermium_l8"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa9 { qcom,resource-name = "ldoa"; qcom,resource-id = <9>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l9 { regulator-name = "mdmfermium_l9"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa10 { qcom,resource-name = "ldoa"; qcom,resource-id = <10>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l10 { regulator-name = "mdmfermium_l10"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa11 { qcom,resource-name = "ldoa"; qcom,resource-id = <11>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l11 { regulator-name = "mdmfermium_l11"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa12 { qcom,resource-name = "ldoa"; qcom,resource-id = <12>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l12 { regulator-name = "mdmfermium_l12"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa13 { qcom,resource-name = "ldoa"; qcom,resource-id = <13>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l13 { regulator-name = "mdmfermium_l13"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa14 { qcom,resource-name = "ldoa"; qcom,resource-id = <14>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l14 { regulator-name = "mdmfermium_l14"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; }; arch/arm/boot/dts/qcom/mdmfermium.dtsi +10 −3 Original line number Diff line number Diff line Loading @@ -259,8 +259,7 @@ <0x000a412c 0x8>; reg-names = "rcg-base", "efuse"; qcom,safe-freq = < 400000000 >; /* ToDo: update mdmfermium_s1 to apc_vreg_corner */ cpu-vdd-supply = <&mdmfermium_s1>; cpu-vdd-supply = <&apc_vreg_corner>; qcom,enable-opp; clocks = <&clock_gcc clk_gpll0_ao_clk_src>, <&clock_gcc clk_a7sspll>; Loading Loading @@ -613,6 +612,13 @@ }; }; rpm_bus: qcom,rpm-smd { compatible = "qcom,rpm-smd"; rpm-channel-name = "rpm_requests"; rpm-channel-type = <15>; /* SMD_APPS_RPM */ rpm-standalone; }; qcom,smdtty { compatible = "qcom,smdtty"; Loading Loading @@ -791,8 +797,9 @@ }; }; #include "mdmfermium-regulator.dtsi" #include "mdmfermium-rpm-regulator.dtsi" #include "msm-pm8019.dtsi" #include "mdmfermium-regulator.dtsi" &pm8019_vadc { chan@31 { Loading Loading
arch/arm/boot/dts/qcom/mdmfermium-regulator.dtsi +256 −110 Original line number Diff line number Diff line Loading @@ -10,154 +10,300 @@ * GNU General Public License for more details. */ /* Stub regulators */ / { /* APC supply */ mdmfermium_s1: regulator-s1 { compatible = "qcom,stub-regulator"; regulator-name = "mdmfermium_s1"; regulator-min-microvolt = <1050000>; regulator-max-microvolt = <1350000>; }; &rpm_bus { rpm-regulator-smpa2 { status = "okay"; mdmfermium_s2: regulator-s2 { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_s2"; regulator-min-microvolt = <1050000>; regulator-min-microvolt = <750000>; regulator-max-microvolt = <1275000>; qcom,init-voltage = <750000>; status = "okay"; }; }; /* CX supply */ rpm-regulator-smpa3 { status = "okay"; mdmfermium_s3_level: regulator-s3-level { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_s3_level"; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; qcom,use-voltage-level; }; mdmfermium_s3_level_ao: regulator-s3-level-ao { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_s3_level_ao"; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; qcom,set = <1>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; qcom,use-voltage-level; }; mdmfermium_s3_floor_level: regulator-s3-floor-level { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_s3_floor_level"; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; qcom,set = <3>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; qcom,use-voltage-floor-level; qcom,always-send-voltage; }; mdmfermium_s3_level_so: regulator-s3-level-so { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_s3_level_so"; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; qcom,use-voltage-level; }; }; rpm-regulator-smpa4 { status = "okay"; mdmfermium_s4: regulator-s4 { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_s4"; regulator-min-microvolt = <1950000>; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1950000>; qcom,init-voltage = <1800000>; status = "okay"; }; }; rpm-regulator-ldoa1 { status = "okay"; mdmfermium_l1: regulator-l1 { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l1"; parent-supply = <&mdmfermium_s2>; regulator-min-microvolt = <1250000>; regulator-max-microvolt = <1250000>; qcom,init-voltage = <1250000>; status = "okay"; }; }; rpm-regulator-ldoa2 { status = "okay"; mdmfermium_l2: regulator-l2 { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l2"; parent-supply = <&mdmfermium_s4>; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; qcom,init-voltage = <1800000>; status = "okay"; }; }; rpm-regulator-ldoa3 { status = "okay"; mdmfermium_l3: regulator-l3 { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l3"; parent-supply = <&mdmfermium_s4>; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; qcom,init-voltage = <1800000>; status = "okay"; }; }; mdmfermium_l3_level_ao: regulator-l3-level-ao { compatible = "qcom,stub-regulator"; regulator-name = "mdmfermium_l3_level_ao"; parent-supply = <&mdmfermium_s4>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; rpm-regulator-ldoa4 { status = "okay"; mdmfermium_l4: regulator-l4 { compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l4"; regulator-min-microvolt = <3075000>; regulator-max-microvolt = <3075000>; qcom,init-voltage = <3075000>; status = "okay"; }; }; mdmfermium_l3_level_so: regulator-l3-level-so { compatible = "qcom,stub-regulator"; regulator-name = "mdmfermium_l3_level_so"; parent-supply = <&mdmfermium_s4>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; rpm-regulator-ldoa5 { status = "okay"; mdmfermium_l5: regulator-l5 { compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l5"; regulator-min-microvolt = <1700000>; regulator-max-microvolt = <3050000>; qcom,init-voltage = <1700000>; status = "okay"; }; }; mdmfermium_l4: regulator-l4 { compatible = "qcom,stub-regulator"; regulator-name = "mdmfermium_l4"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; rpm-regulator-ldoa6 { status = "okay"; mdmfermium_l6: regulator-l6 { compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l6"; regulator-min-microvolt = <1700000>; regulator-max-microvolt = <3050000>; qcom,init-voltage = <1700000>; status = "okay"; }; }; rpm-regulator-ldoa7 { status = "okay"; mdmfermium_l7: regulator-l7 { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l7"; parent-supply = <&mdmfermium_s4>; regulator-min-microvolt = <1700000>; regulator-max-microvolt = <1900000>; qcom,init-voltage = <1700000>; status = "okay"; }; }; rpm-regulator-ldoa8 { status = "okay"; mdmfermium_l8: regulator-l8 { compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l8"; parent-supply = <&mdmfermium_s4>; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; qcom,init-voltage = <1800000>; status = "okay"; }; }; rpm-regulator-ldoa9 { status = "okay"; mdmfermium_l9: regulator-l9 { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l9"; parent-supply = <&mdmfermium_s2>; regulator-min-microvolt = <1225000>; regulator-max-microvolt = <1225000>; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1250000>; qcom,init-voltage = <1200000>; status = "okay"; }; }; rpm-regulator-ldoa10 { status = "okay"; mdmfermium_l10: regulator-l10 { compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l10"; parent-supply = <&mdmfermium_s1>; regulator-min-microvolt = <1050000>; regulator-max-microvolt = <1050000>; qcom,init-voltage = <1050000>; status = "okay"; }; }; rpm-regulator-ldoa11 { status = "okay"; mdmfermium_l11: regulator-l11 { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l11"; parent-supply = <&mdmfermium_s4>; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; qcom,init-voltage = <1800000>; status = "okay"; }; }; /* MX supply */ rpm-regulator-ldoa12 { status = "okay"; mdmfermium_l12_level: regulator-l12-level { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l12_level"; qcom,set = <3>; parent-supply = <&mdmfermium_s2>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; qcom,use-voltage-level; }; mdmfermium_l12_level_ao: regulator-l12-level-ao { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l12_level_ao"; qcom,set = <1>; parent-supply = <&mdmfermium_s2>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; qcom,use-voltage-level; qcom,always-send-voltage; }; mdmfermium_l12_level_so: regulator-l12-level-so { compatible = "qcom,stub-regulator"; compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l12_level_so"; qcom,set = <2>; parent-supply = <&mdmfermium_s2>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; regulator-min-microvolt = <RPM_SMD_REGULATOR_LEVEL_RETENTION>; regulator-max-microvolt = <RPM_SMD_REGULATOR_LEVEL_TURBO>; qcom,use-voltage-level; }; }; rpm-regulator-ldoa13 { status = "okay"; mdmfermium_l13: regulator-l13 { compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l13"; regulator-min-microvolt = <2850000>; regulator-max-microvolt = <3300000>; qcom,init-voltage = <2850000>; status = "okay"; }; }; rpm-regulator-ldoa14 { status = "okay"; mdmfermium_l14: regulator-l14 { compatible = "qcom,rpm-smd-regulator"; regulator-name = "mdmfermium_l14"; regulator-min-microvolt = <2650000>; regulator-max-microvolt = <3000000>; qcom,init-voltage = <2650000>; status = "okay"; }; }; }; &soc { /* VDD APC supply */ /* TODO: move to SPM controlled regulator */ mdmfermium_s1: regulator-s1 { compatible = "qcom,stub-regulator"; regulator-name = "mdmfermium_s1"; regulator-min-microvolt = <1050000>; regulator-max-microvolt = <1350000>; }; /* TODO: move to CPR regulator */ apc_vreg_corner: apc-vreg { compatible = "qcom,stub-regulator"; regulator-name = "apc_vreg"; regulator-min-microvolt = <1>; regulator-max-microvolt = <7>; }; };
arch/arm/boot/dts/qcom/mdmfermium-rpm-regulator.dtsi 0 → 100644 +302 −0 Original line number Diff line number Diff line /* * Copyright (c) 2015, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ &rpm_bus { rpm-regulator-smpa1 { qcom,resource-name = "smpa"; qcom,resource-id = <1>; qcom,regulator-type = <1>; qcom,hpm-min-load = <100000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-s1 { regulator-name = "mdmfermium_s1"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-smpa2 { qcom,resource-name = "smpa"; qcom,resource-id = <2>; qcom,regulator-type = <1>; qcom,hpm-min-load = <100000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-s2 { regulator-name = "mdmfermium_s2"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-smpa3 { qcom,resource-name = "smpa"; qcom,resource-id = <3>; qcom,regulator-type = <1>; qcom,hpm-min-load = <100000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-s3 { regulator-name = "mdmfermium_s3"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-smpa4 { qcom,resource-name = "smpa"; qcom,resource-id = <4>; qcom,regulator-type = <1>; qcom,hpm-min-load = <100000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-s4 { regulator-name = "mdmfermium_s4"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa1 { qcom,resource-name = "ldoa"; qcom,resource-id = <1>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l1 { regulator-name = "mdmfermium_l1"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa2 { qcom,resource-name = "ldoa"; qcom,resource-id = <2>; qcom,regulator-type = <0>; qcom,hpm-min-load = <5000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l2 { regulator-name = "mdmfermium_l2"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa3 { qcom,resource-name = "ldoa"; qcom,resource-id = <3>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l3 { regulator-name = "mdmfermium_l3"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa4 { qcom,resource-name = "ldoa"; qcom,resource-id = <4>; qcom,regulator-type = <0>; qcom,hpm-min-load = <5000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l4 { regulator-name = "mdmfermium_l4"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa5 { qcom,resource-name = "ldoa"; qcom,resource-id = <5>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l5 { regulator-name = "mdmfermium_l5"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa6 { qcom,resource-name = "ldoa"; qcom,resource-id = <6>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l6 { regulator-name = "mdmfermium_l6"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa7 { qcom,resource-name = "ldoa"; qcom,resource-id = <7>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l7 { regulator-name = "mdmfermium_l7"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa8 { qcom,resource-name = "ldoa"; qcom,resource-id = <8>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l8 { regulator-name = "mdmfermium_l8"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa9 { qcom,resource-name = "ldoa"; qcom,resource-id = <9>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l9 { regulator-name = "mdmfermium_l9"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa10 { qcom,resource-name = "ldoa"; qcom,resource-id = <10>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l10 { regulator-name = "mdmfermium_l10"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa11 { qcom,resource-name = "ldoa"; qcom,resource-id = <11>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l11 { regulator-name = "mdmfermium_l11"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa12 { qcom,resource-name = "ldoa"; qcom,resource-id = <12>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l12 { regulator-name = "mdmfermium_l12"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa13 { qcom,resource-name = "ldoa"; qcom,resource-id = <13>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l13 { regulator-name = "mdmfermium_l13"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; rpm-regulator-ldoa14 { qcom,resource-name = "ldoa"; qcom,resource-id = <14>; qcom,regulator-type = <0>; qcom,hpm-min-load = <10000>; compatible = "qcom,rpm-smd-regulator-resource"; status = "disabled"; regulator-l14 { regulator-name = "mdmfermium_l14"; qcom,set = <3>; status = "disabled"; compatible = "qcom,rpm-smd-regulator"; }; }; };
arch/arm/boot/dts/qcom/mdmfermium.dtsi +10 −3 Original line number Diff line number Diff line Loading @@ -259,8 +259,7 @@ <0x000a412c 0x8>; reg-names = "rcg-base", "efuse"; qcom,safe-freq = < 400000000 >; /* ToDo: update mdmfermium_s1 to apc_vreg_corner */ cpu-vdd-supply = <&mdmfermium_s1>; cpu-vdd-supply = <&apc_vreg_corner>; qcom,enable-opp; clocks = <&clock_gcc clk_gpll0_ao_clk_src>, <&clock_gcc clk_a7sspll>; Loading Loading @@ -613,6 +612,13 @@ }; }; rpm_bus: qcom,rpm-smd { compatible = "qcom,rpm-smd"; rpm-channel-name = "rpm_requests"; rpm-channel-type = <15>; /* SMD_APPS_RPM */ rpm-standalone; }; qcom,smdtty { compatible = "qcom,smdtty"; Loading Loading @@ -791,8 +797,9 @@ }; }; #include "mdmfermium-regulator.dtsi" #include "mdmfermium-rpm-regulator.dtsi" #include "msm-pm8019.dtsi" #include "mdmfermium-regulator.dtsi" &pm8019_vadc { chan@31 { Loading