Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0bff26d7 authored by Osvaldo Banuelos's avatar Osvaldo Banuelos Committed by Gerrit - the friendly Code Review server
Browse files

ARM: dts: msm: Add VDD_APC CPRh devices for msmcobalt



Introduce the CPRh regulator devices to manage the two VDD_APC supplies
powering the CPU clusters of the msmcobalt chip.

Change-Id: I3f63d2d89be631156635d1628d7687b6ef209846
CRs-Fixed: 967275
Signed-off-by: default avatarOsvaldo Banuelos <osvaldob@codeaurora.org>
parent 46915b59
Loading
Loading
Loading
Loading
+149 −0
Original line number Diff line number Diff line
@@ -528,3 +528,152 @@
	};
};

&soc {
/* CPR controller regulators */
	apc0_cpr: cprh-ctrl@179c8000 {
		compatible = "qcom,cprh-msmcobalt-kbss-regulator";
		reg = <0x179c8000 0x4000>, <0x00784000 0x1000>;
		reg-names = "cpr_ctrl", "fuse_base";
		clocks = <&clock_gcc clk_gcc_hmss_rbcpr_clk>;
		clock-names = "core_clk";
		qcom,cpr-ctrl-name = "apc0";
		qcom,cpr-controller-id = <0>;

		qcom,cpr-sensor-time = <1000>;
		qcom,cpr-loop-time = <5000000>;
		qcom,cpr-idle-cycles = <15>;
		qcom,cpr-up-down-delay-time = <3000>;
		qcom,cpr-step-quot-init-min = <11>;
		qcom,cpr-step-quot-init-max = <13>;
		qcom,cpr-count-mode = <2>;		/* Staggered */
		qcom,cpr-down-error-step-limit = <1>;
		qcom,cpr-up-error-step-limit = <1>;
		qcom,cpr-corner-switch-delay-time = <1600>;
		qcom,cpr-voltage-settling-time = <1600>;

		qcom,apm-threshold-voltage = <800000>;
		qcom,apm-hysteresis-voltage = <4000>;
		qcom,voltage-step = <4000>;
		qcom,voltage-base = <352000>;
		qcom,cpr-saw-use-unit-mV;

		thread@0 {
			qcom,cpr-thread-id = <0>;
			qcom,cpr-consecutive-up = <0>;
			qcom,cpr-consecutive-down = <2>;
			qcom,cpr-up-threshold = <0>;
			qcom,cpr-down-threshold = <2>;

			apc0_pwrcl_vreg: regulator-pwrcl {
				regulator-name = "apc0_pwrcl_corner";
				regulator-min-microvolt = <1>;
				regulator-max-microvolt = <24>;

				qcom,cpr-fuse-corners = <4>;
				qcom,cpr-fuse-combos = <1>;
				qcom,cpr-corners = <23>;

				qcom,cpr-corner-fmax-map = <7 10 17 23>;

				qcom,cpr-voltage-ceiling =
					<632000  632000  632000  632000  632000
					 632000  632000  700000  700000  700000
					 828000  828000  828000  828000  828000
					 828000  828000 1024000 1024000 1024000
					1024000 1024000 1024000>;

				qcom,cpr-voltage-floor =
					<572000  572000  572000  572000  572000
					 572000  572000  568000  568000  568000
					 684000  684000  684000  684000  684000
					 684000  684000  856000  856000  856000
					 856000  856000  856000>;

				qcom,corner-frequencies =
					<300000000  345600000  422400000
					 499200000  576000000  633600000
					 710400000  806400000  883200000
					 960000000 1036800000 1113600000
					1190400000 1248000000 1324800000
					1401600000 1478400000 1497600000
					1574400000 1651200000 1728000000
					1804800000 1881600000>;
			};
		};
	};

	apc1_cpr: cprh-ctrl@179c4000{
		compatible = "qcom,cprh-msmcobalt-kbss-regulator";
		reg = <0x179c4000 0x4000>, <0x00784000 0x1000>;
		reg-names = "cpr_ctrl", "fuse_base";
		clocks = <&clock_gcc clk_gcc_hmss_rbcpr_clk>;
		clock-names = "core_clk";
		qcom,cpr-ctrl-name = "apc1";
		qcom,cpr-controller-id = <1>;

		qcom,cpr-sensor-time = <1000>;
		qcom,cpr-loop-time = <5000000>;
		qcom,cpr-idle-cycles = <15>;
		qcom,cpr-up-down-delay-time = <3000>;
		qcom,cpr-step-quot-init-min = <11>;
		qcom,cpr-step-quot-init-max = <13>;
		qcom,cpr-count-mode = <2>;		/* Staggered */
		qcom,cpr-down-error-step-limit = <1>;
		qcom,cpr-up-error-step-limit = <1>;
		qcom,cpr-corner-switch-delay-time = <1600>;
		qcom,cpr-voltage-settling-time = <1600>;

		qcom,apm-threshold-voltage = <800000>;
		qcom,apm-hysteresis-voltage = <4000>;
		qcom,voltage-step = <4000>;
		qcom,voltage-base = <352000>;
		qcom,cpr-saw-use-unit-mV;

		thread@0 {
			qcom,cpr-thread-id = <0>;
			qcom,cpr-consecutive-up = <0>;
			qcom,cpr-consecutive-down = <2>;
			qcom,cpr-up-threshold = <0>;
			qcom,cpr-down-threshold = <2>;

			apc1_perfcl_vreg: regulator-pwrcl {
				regulator-name = "apc1_perfcl_corner";
				regulator-min-microvolt = <1>;
				regulator-max-microvolt = <27>;

				qcom,cpr-fuse-corners = <4>;
				qcom,cpr-fuse-combos = <1>;
				qcom,cpr-corners = <26>;

				qcom,cpr-corner-fmax-map = <8 12 19 26>;

				qcom,cpr-voltage-ceiling =
					<632000  632000  632000  632000  632000
					 632000  632000  632000  700000  700000
					 700000  700000  828000  828000  828000
					 828000  828000  828000  828000 1024000
					1024000 1024000 1024000 1024000 1024000
					1024000>;

				qcom,cpr-voltage-floor =
					<572000  572000  572000  572000  572000
					 572000  572000  572000  568000  568000
					 568000  568000  684000  684000  684000
					 684000  684000  684000  684000  856000
					 856000  856000  856000  856000  856000
					 856000>;

				qcom,corner-frequencies =
					<300000000  345600000  422400000
					 480000000  556800000  633600000
					 710400000  787200000  844800000
					 902400000  979200000 1056000000
					1094400000 1171200000 1248000000
					1324800000 1401600000 1478400000
					1536000000 1632000000 1708800000
					1785600000 1862400000 1939200000
					2016000000 2092800000>;
			};
		};
	};
};
+66 −0
Original line number Diff line number Diff line
@@ -34,6 +34,72 @@
	status = "disabled";
};

&apc0_cpr {
	qcom,cpr-initial-temp-band = <3>;
	qcom,cpr-temp-point-map = <0 25 85>;
};

&apc0_pwrcl_vreg {
	qcom,cpr-corner-bands = <4>;
	qcom,corner-band-allow-core-count-adjustment = <1 1 1 1>;
	qcom,corner-band-allow-temp-adjustment = <1 0 0 0>;
	qcom,cpr-corner-band-map = <7 14 18 20>;
	qcom,max-core-count = <4>;
	qcom,cpr-corner-band1-temp-core-voltage-adjustment =
		<(-24000) (-20000) (-20000) (-16000)>,
		<(-16000) (-16000) (-12000) (-8000)>,
		<(-8000)  (-8000)  (-4000)  (-4000)>,
		<0     0     0     0>;
	qcom,cpr-corner-band2-temp-core-voltage-adjustment =
		<(-36000) 0 0 0>,
		<(-32000) 0 0 0>,
		<(-24000) 0 0 0>,
		<    0 0 0 0>;
	qcom,cpr-corner-band3-temp-core-voltage-adjustment =
		<(-40000) 0 0 0>,
		<(-36000) 0 0 0>,
		<(-32000) 0 0 0>,
		<    0 0 0 0>;
	qcom,cpr-corner-band4-temp-core-voltage-adjustment =
		<(-44000) 0 0 0>,
		<(-32000) 0 0 0>,
		<(-24000) 0 0 0>,
		<    0 0 0 0>;
};

&apc1_cpr {
	qcom,cpr-initial-temp-band = <3>;
	qcom,cpr-temp-point-map = <0 25 85>;
};

&apc1_perfcl_vreg {
	qcom,cpr-corner-bands = <4>;
	qcom,corner-band-allow-core-count-adjustment = <1 1 1 1>;
	qcom,corner-band-allow-temp-adjustment = <1 0 0 0>;
	qcom,cpr-corner-band-map = <6 12 15 20>;
	qcom,max-core-count = <4>;
	qcom,cpr-corner-band1-temp-core-voltage-adjustment =
		<(-24000) (-20000) (-20000) (-16000)>,
		<(-16000) (-16000) (-12000) (-8000)>,
		<(-8000)  (-8000)  (-4000)  (-4000)>,
		<0     0     0     0>;
	qcom,cpr-corner-band2-temp-core-voltage-adjustment =
		<(-36000) 0 0 0>,
		<(-32000) 0 0 0>,
		<(-24000) 0 0 0>,
		<    0 0 0 0>;
	qcom,cpr-corner-band3-temp-core-voltage-adjustment =
		<(-40000) 0 0 0>,
		<(-36000) 0 0 0>,
		<(-32000) 0 0 0>,
		<    0 0 0 0>;
	qcom,cpr-corner-band4-temp-core-voltage-adjustment =
		<(-44000) 0 0 0>,
		<(-32000) 0 0 0>,
		<(-24000) 0 0 0>,
		<    0 0 0 0>;
};

&qusb_phy0 {
	reg = <0x0a928000 0x8000>,
	    <0x0a8f8800 0x400>,