Commit 5440c005 authored by Konrad Dybcio's avatar Konrad Dybcio Committed by Bjorn Andersson

arm64: dts: qcom: sm8350-sagami: Add most RPMh regulators

Configure most RPMh-controlled regulators on SoMC Sagami. The missing
ones (on pm8350b and pm8008[ij]) will be configured when driver support
is added. Thankfully, it looks like PDX215 and PDX214 don't have any
differences when it comes to PM8350/PM8350C/PMR735a.
Signed-off-by: default avatarKonrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: default avatarKonrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20221114143642.44839-1-konrad.dybcio@linaro.org
parent f98d1a3c
......@@ -3,6 +3,7 @@
* Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org>
*/
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "sm8350.dtsi"
#include "pm8350.dtsi"
#include "pm8350b.dtsi"
......@@ -73,6 +74,16 @@ ramoops@ffc00000 {
no-map;
};
};
vph_pwr: vph-pwr-regulator {
compatible = "regulator-fixed";
regulator-name = "vph_pwr";
regulator-min-microvolt = <3700000>;
regulator-max-microvolt = <3700000>;
regulator-always-on;
regulator-boot-on;
};
};
&adsp {
......@@ -80,6 +91,345 @@ &adsp {
firmware-name = "qcom/sm8350/Sony/sagami/adsp.mbn";
};
&apps_rsc {
regulators-0 {
compatible = "qcom,pm8350-rpmh-regulators";
qcom,pmic-id = "b";
vdd-s1-supply = <&vph_pwr>;
vdd-s2-supply = <&vph_pwr>;
vdd-s3-supply = <&vph_pwr>;
vdd-s4-supply = <&vph_pwr>;
vdd-s5-supply = <&vph_pwr>;
vdd-s6-supply = <&vph_pwr>;
vdd-s7-supply = <&vph_pwr>;
vdd-s8-supply = <&vph_pwr>;
vdd-s9-supply = <&vph_pwr>;
vdd-s10-supply = <&vph_pwr>;
vdd-s11-supply = <&vph_pwr>;
vdd-s12-supply = <&vph_pwr>;
vdd-l1-l4-supply = <&pm8350_s11>;
vdd-l2-l7-supply = <&vreg_bob>;
vdd-l3-l5-supply = <&vreg_bob>;
vdd-l6-l9-l10-supply = <&pm8350_s11>;
/*
* ARC regulators:
* S5 - mx.lvl
* S6 - gfx.lvl
* S9 - mxc.lvl
*/
pm8350_s10: smps10 {
regulator-name = "pm8350_s10";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
pm8350_s11: smps11 {
regulator-name = "pm8350_s11";
regulator-min-microvolt = <752000>;
regulator-max-microvolt = <1000000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
pm8350_s12: smps12 {
regulator-name = "pm8350_s12";
regulator-min-microvolt = <1224000>;
regulator-max-microvolt = <1360000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
pm8350_l1: ldo1 {
regulator-name = "pm8350_l1";
regulator-min-microvolt = <912000>;
regulator-max-microvolt = <920000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
pm8350_l2: ldo2 {
regulator-name = "pm8350_l2";
regulator-min-microvolt = <3072000>;
regulator-max-microvolt = <3072000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
pm8350_l3: ldo3 {
regulator-name = "pm8350_l3";
regulator-min-microvolt = <904000>;
regulator-max-microvolt = <904000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
/* L4 - lmx.lvl (ARC) */
pm8350_l5: ldo5 {
regulator-name = "pm8350_l5";
regulator-min-microvolt = <880000>;
regulator-max-microvolt = <888000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load;
};
pm8350_l6: ldo6 {
regulator-name = "pm8350_l6";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1208000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load;
};
pm8350_l7: ldo7 {
regulator-name = "pm8350_l7";
regulator-min-microvolt = <2400000>;
regulator-max-microvolt = <3008000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load;
};
/* L8 - lcx.lvl (ARC) */
pm8350_l9: ldo9 {
regulator-name = "pm8350_l9";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
regulator-allow-set-load;
};
};
regulators-1 {
compatible = "qcom,pm8350c-rpmh-regulators";
qcom,pmic-id = "c";
vdd-s1-supply = <&vph_pwr>;
vdd-s2-supply = <&vph_pwr>;
vdd-s3-supply = <&vph_pwr>;
vdd-s4-supply = <&vph_pwr>;
vdd-s5-supply = <&vph_pwr>;
vdd-s6-supply = <&vph_pwr>;
vdd-s7-supply = <&vph_pwr>;
vdd-s8-supply = <&vph_pwr>;
vdd-s9-supply = <&vph_pwr>;
vdd-s10-supply = <&vph_pwr>;
vdd-l1-l12-supply = <&pm8350c_s1>;
vdd-l2-l8-supply = <&pm8350c_s1>;
vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
vdd-l6-l9-l11-supply = <&vreg_bob>;
vdd-l10-supply = <&pm8350_s12>;
vdd-bob-supply = <&vph_pwr>;
pm8350c_s1: smps1 {
regulator-name = "pm8350c_s1";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1952000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
/* S2 - ebi.lvl (ARC) */
pm8350c_s3: smps3 {
regulator-name = "pm8350c_s3";
regulator-min-microvolt = <300000>;
regulator-max-microvolt = <704000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
/*
* ARC regulators:
* S4 - mss.lvl
* S6 - cx.lvl
* S8 - mmcx.lvl
*/
pm8350c_s10: smps10 {
regulator-name = "pm8350c_s10";
regulator-min-microvolt = <1048000>;
regulator-max-microvolt = <1128000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
pm8350c_l1: ldo1 {
regulator-name = "pm8350c_l1";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
pm8350c_l2: ldo2 {
regulator-name = "pm8350c_l2";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
pm8350c_l3: ldo3 {
regulator-name = "pm8350c_l3";
regulator-min-microvolt = <3304000>;
regulator-max-microvolt = <3304000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
pm8350c_l4: ldo4 {
regulator-name = "pm8350c_l4";
regulator-min-microvolt = <1704000>;
regulator-max-microvolt = <3000000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
pm8350c_l5: ldo5 {
regulator-name = "pm8350c_l5";
regulator-min-microvolt = <1704000>;
regulator-max-microvolt = <3000000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
pm8350c_l6: ldo6 {
regulator-name = "pm8350c_l6";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2960000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
pm8350c_l7: ldo7 {
regulator-name = "pm8350c_l7";
regulator-min-microvolt = <3008000>;
regulator-max-microvolt = <3008000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
pm8350c_l8: ldo8 {
regulator-name = "pm8350c_l8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
pm8350c_l9: ldo9 {
regulator-name = "pm8350c_l9";
regulator-min-microvolt = <2960000>;
regulator-max-microvolt = <3008000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
pm8350c_l10: ldo10 {
regulator-name = "pm8350c_l10";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
pm8350c_l11: ldo11 {
regulator-name = "pm8350c_l11";
regulator-min-microvolt = <2400000>;
regulator-max-microvolt = <3008000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
pm8350c_l12: ldo12 {
regulator-name = "pm8350c_l12";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2000000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
pm8350c_l13: ldo13 {
regulator-name = "pm8350c_l13";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
vreg_bob: bob {
regulator-name = "vreg_bob";
regulator-min-microvolt = <3400000>;
regulator-max-microvolt = <3960000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
};
};
/* TODO: Add pm8350b (just one ldo) once the driver part is in */
regulators-2 {
compatible = "qcom,pmr735a-rpmh-regulators";
qcom,pmic-id = "e";
vdd-s1-supply = <&vph_pwr>;
vdd-s2-supply = <&vph_pwr>;
vdd-s3-supply = <&vph_pwr>;
vdd-l1-l2-supply = <&pmr735a_s2>;
vdd-l3-supply = <&pmr735a_s1>;
vdd-l4-supply = <&pm8350c_s1>;
vdd-l5-l6-supply = <&pm8350c_s1>;
vdd-l7-bob-supply = <&vreg_bob>;
pmr735a_s1: smps1 {
regulator-name = "pmr735a_s1";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1280000>;
};
pmr735a_s2: smps2 {
regulator-name = "pmr735a_s2";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <976000>;
};
pmr735a_s3: smps3 {
regulator-name = "pmr735a_s3";
regulator-min-microvolt = <2208000>;
regulator-max-microvolt = <2352000>;
};
pmr735a_l1: ldo1 {
regulator-name = "pmr735a_l1";
regulator-min-microvolt = <912000>;
regulator-max-microvolt = <912000>;
};
pmr735a_l2: ldo2 {
regulator-name = "pmr735a_l2";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
pmr735a_l3: ldo3 {
regulator-name = "pmr735a_l3";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
pmr735a_l4: ldo4 {
regulator-name = "pmr735a_l4";
regulator-min-microvolt = <1776000>;
regulator-max-microvolt = <1872000>;
};
pmr735a_l5: ldo5 {
regulator-name = "pmr735a_l5";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <800000>;
};
pmr735a_l6: ldo6 {
regulator-name = "pmr735a_l6";
regulator-min-microvolt = <480000>;
regulator-max-microvolt = <904000>;
};
pmr735a_l7: ldo7 {
regulator-name = "pmr735a_l7";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
};
};
&cdsp {
status = "okay";
firmware-name = "qcom/sm8350/Sony/sagami/cdsp.mbn";
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment