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

Commit cba1461e authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ARM: dts: msm: add VDD_APC0/1 CPR regulator configurations for sdm845v2"

parents f988c42a f5764767
Loading
Loading
Loading
Loading
+412 −0
Original line number Diff line number Diff line
@@ -26,6 +26,418 @@
	/delete-property/ qcom,sdr104-wa;
};

/delete-node/ &apc0_cpr;
/delete-node/ &apc1_cpr;

&soc {
	/* CPR controller regulators */
	apc0_cpr: cprh-ctrl@17dc0000 {
		compatible = "qcom,cprh-sdm845-v2-kbss-regulator";
		reg =	<0x17dc0000 0x4000>,
			<0x00784000 0x1000>,
			<0x17840000 0x1000>;
		reg-names = "cpr_ctrl", "fuse_base", "saw";
		clocks = <&clock_gcc GCC_CPUSS_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 = <12>;
		qcom,cpr-count-mode = <0>;		/* All at once */
		qcom,cpr-count-repeat = <20>;
		qcom,cpr-down-error-step-limit = <1>;
		qcom,cpr-up-error-step-limit = <1>;
		qcom,cpr-corner-switch-delay-time = <1042>;
		qcom,cpr-voltage-settling-time = <1760>;
		qcom,cpr-reset-step-quot-loop-en;

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

		qcom,saw-avs-ctrl = <0x101C031>;
		qcom,saw-avs-limit = <0x3B803B8>;

		qcom,cpr-enable;
		qcom,cpr-hw-closed-loop;

		qcom,cpr-panic-reg-addr-list =
			<0x17dc3a84 0x17dc3a88 0x17840c18>;
		qcom,cpr-panic-reg-name-list =
			"APSS_SILVER_CPRH_STATUS_0",
			"APSS_SILVER_CPRH_STATUS_1",
			"SILVER_SAW4_PMIC_STS";

		qcom,cpr-aging-ref-voltage = <952000>;
		vdd-supply = <&pm8998_s13>;

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

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

				qcom,cpr-fuse-corners = <4>;
				qcom,cpr-fuse-combos = <16>;
				qcom,cpr-speed-bins = <2>;
				qcom,cpr-speed-bin-corners = <18 18>;
				qcom,cpr-corners = <18>;

				qcom,cpr-corner-fmax-map = <6 12 15 18>;

				qcom,cpr-voltage-ceiling =
					<828000  828000  828000  828000  828000
					 828000  828000  828000  828000  828000
					 828000  828000  828000  828000  828000
					 884000  952000  952000>;

				qcom,cpr-voltage-floor =
					<568000  568000  568000  568000  568000
					 568000  568000  568000  568000  568000
					 568000  568000  568000  568000  568000
					 568000  568000  568000>;

				qcom,cpr-floor-to-ceiling-max-range =
					<32000  32000  32000  32000  32000
					 32000  32000  32000  32000  32000
					 32000  32000  32000  32000  32000
					 32000  40000  40000>;

				qcom,corner-frequencies =
					<300000000  403200000  480000000
					 576000000  652800000  748800000
					 825600000  902400000  979200000
					1056000000 1132800000 1228800000
					1324800000 1420800000 1516800000
					1612800000 1689600000 1766400000>;

				qcom,cpr-ro-scaling-factor =
					<2594 2795 2576 2761 2469 2673 2198
					 2553 3188 3255 3191 2962 3055 2984
					 2043 2947>,
					<2594 2795 2576 2761 2469 2673 2198
					 2553 3188 3255 3191 2962 3055 2984
					 2043 2947>,
					<2259 2389 2387 2531 2294 2464 2218
					 2476 2525 2855 2817 2836 2740 2490
					 1950 2632>,
					<2259 2389 2387 2531 2294 2464 2218
					 2476 2525 2855 2817 2836 2740 2490
					 1950 2632>;

				qcom,cpr-open-loop-voltage-fuse-adjustment =
					<100000 100000 100000 100000>;

				qcom,cpr-closed-loop-voltage-fuse-adjustment =
					<100000 100000 100000 100000>;

				qcom,allow-voltage-interpolation;
				qcom,allow-quotient-interpolation;
				qcom,cpr-scaled-open-loop-voltage-as-ceiling;

				qcom,cpr-aging-max-voltage-adjustment = <15000>;
				qcom,cpr-aging-ref-corner = <18>;
				qcom,cpr-aging-ro-scaling-factor = <1620>;
				qcom,allow-aging-voltage-adjustment =
					/* Speed bin 0 */
					<0 1 1 1 1 1 1 1>,
					/* Speed bin 1 */
					<0 1 1 1 1 1 1 1>;
				qcom,allow-aging-open-loop-voltage-adjustment =
					<1>;
			};
		};

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

			apc0_l3_vreg: regulator {
				regulator-name = "apc0_l3_corner";
				regulator-min-microvolt = <1>;
				regulator-max-microvolt = <14>;

				qcom,cpr-fuse-corners = <4>;
				qcom,cpr-fuse-combos = <16>;
				qcom,cpr-speed-bins = <2>;
				qcom,cpr-speed-bin-corners = <14 14>;
				qcom,cpr-corners = <14>;

				qcom,cpr-corner-fmax-map = <4 8 11 14>;

				qcom,cpr-voltage-ceiling =
					<828000  828000  828000  828000  828000
					 828000  828000  828000  828000  828000
					 828000  884000  884000  952000>;

				qcom,cpr-voltage-floor =
					<568000  568000  568000  568000  568000
					 568000  568000  568000  568000  568000
					 568000  568000  568000  568000>;

				qcom,cpr-floor-to-ceiling-max-range =
					<32000  32000  32000  32000  32000
					 32000  32000  32000  32000  32000
					 32000  32000  32000  40000>;

				qcom,corner-frequencies =
					<300000000  403200000  480000000
					 576000000  652800000  748800000
					 844800000  940800000 1036800000
					1132800000 1209600000 1305600000
					1401600000 1478400000>;

				qcom,cpr-ro-scaling-factor =
					<2857 3056 2828 2952 2699 2796 2447
					 2631 2630 2579 2244 3343 3287 3137
					 3164 2656>,
					<2857 3056 2828 2952 2699 2796 2447
					 2631 2630 2579 2244 3343 3287 3137
					 3164 2656>,
					<2439 2577 2552 2667 2461 2577 2394
					 2536 2132 2307 2191 2903 2838 2912
					 2501 2095>,
					<2439 2577 2552 2667 2461 2577 2394
					 2536 2132 2307 2191 2903 2838 2912
					 2501 2095>;

				qcom,cpr-open-loop-voltage-fuse-adjustment =
					<100000 100000 100000 100000>;

				qcom,cpr-closed-loop-voltage-fuse-adjustment =
					<100000 100000 100000 100000>;

				qcom,allow-voltage-interpolation;
				qcom,allow-quotient-interpolation;
				qcom,cpr-scaled-open-loop-voltage-as-ceiling;

				qcom,cpr-aging-max-voltage-adjustment = <15000>;
				qcom,cpr-aging-ref-corner = <14>;
				qcom,cpr-aging-ro-scaling-factor = <1620>;
				qcom,allow-aging-voltage-adjustment =
					/* Speed bin 0 */
					<0 1 1 1 1 1 1 1>,
					/* Speed bin 1 */
					<0 1 1 1 1 1 1 1>;
				qcom,allow-aging-open-loop-voltage-adjustment =
					<1>;
			};
		};
	};

	apc1_cpr: cprh-ctrl@17db0000 {
		compatible = "qcom,cprh-sdm845-v2-kbss-regulator";
		reg =	<0x17db0000 0x4000>,
			<0x00784000 0x1000>,
			<0x17830000 0x1000>;
		reg-names = "cpr_ctrl", "fuse_base", "saw";
		clocks = <&clock_gcc GCC_CPUSS_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 = <9>;
		qcom,cpr-step-quot-init-max = <14>;
		qcom,cpr-count-mode = <0>;		/* All at once */
		qcom,cpr-count-repeat = <20>;
		qcom,cpr-down-error-step-limit = <1>;
		qcom,cpr-up-error-step-limit = <1>;
		qcom,cpr-corner-switch-delay-time = <1042>;
		qcom,cpr-voltage-settling-time = <1760>;
		qcom,cpr-reset-step-quot-loop-en;

		qcom,apm-threshold-voltage = <800000>;
		qcom,apm-crossover-voltage = <880000>;
		qcom,mem-acc-threshold-voltage = <852000>;
		qcom,mem-acc-crossover-voltage = <852000>;

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

		qcom,saw-avs-ctrl = <0x101C031>;
		qcom,saw-avs-limit = <0x4700470>;

		qcom,cpr-enable;
		qcom,cpr-hw-closed-loop;

		qcom,cpr-panic-reg-addr-list =
			<0x17db3a84 0x17830c18>;
		qcom,cpr-panic-reg-name-list =
			"APSS_GOLD_CPRH_STATUS_0", "GOLD_SAW4_PMIC_STS";

		qcom,cpr-aging-ref-voltage = <1136000>;
		vdd-supply = <&pm8998_s12>;

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

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

				qcom,cpr-fuse-corners = <5>;
				qcom,cpr-fuse-combos = <16>;
				qcom,cpr-speed-bins = <2>;
				qcom,cpr-speed-bin-corners = <28 31>;
				qcom,cpr-corners =
					/* Speed bin 0 */
					<28 28 28 28 28 28 28 28>,
					/* Speed bin 1 */
					<31 31 31 31 31 31 31 31>;

				qcom,cpr-corner-fmax-map =
					/* Speed bin 0 */
					<7 14 22 27 28>,
					/* Speed bin 1 */
					<7 14 22 27 31>;

				qcom,cpr-voltage-ceiling =
					/* Speed bin 0 */
					<828000  828000  828000  828000  828000
					 828000  828000  828000  828000  828000
					 828000  828000  828000  828000  828000
					 828000  828000  828000  884000  884000
					 884000  884000 1104000 1104000 1104000
					1104000 1136000 1136000>,
					/* Speed bin 1 */
					<828000  828000  828000  828000  828000
					 828000  828000  828000  828000  828000
					 828000  828000  828000  828000  828000
					 828000  828000  828000  884000  884000
					 884000  884000 1104000 1104000 1104000
					1104000 1136000 1136000 1136000 1136000
					1136000>;

				qcom,cpr-voltage-floor =
					/* Speed bin 0 */
					<568000  568000  568000  568000  568000
					 568000  568000  568000  568000  568000
					 568000  568000  568000  568000  568000
					 568000  568000  568000  568000  568000
					 568000  568000  568000  568000  568000
					 568000  568000  568000>,
					/* Speed bin 1 */
					<568000  568000  568000  568000  568000
					 568000  568000  568000  568000  568000
					 568000  568000  568000  568000  568000
					 568000  568000  568000  568000  568000
					 568000  568000  568000  568000  568000
					 568000  568000  568000  568000  568000
					 568000>;

				qcom,cpr-floor-to-ceiling-max-range =
					/* Speed bin 0 */
					<32000  32000  32000  32000  32000
					 32000  32000  32000  32000  32000
					 32000  32000  32000  32000  32000
					 32000  32000  32000  32000  32000
					 32000  32000  32000  32000  32000
					 32000  32000  32000>,
					/* Speed bin 1 */
					<32000  32000  32000  32000  32000
					 32000  32000  32000  32000  32000
					 32000  32000  32000  32000  32000
					 32000  32000  32000  32000  32000
					 32000  32000  32000  32000  32000
					 32000  32000  40000  40000  40000
					 40000>;

				qcom,corner-frequencies =
					/* Speed bin 0 */
					<300000000  403200000  480000000
					 576000000  652800000  748800000
					 825600000  902400000  979200000
					1056000000 1132800000 1209600000
					1286400000 1363200000 1459200000
					1536000000 1612800000 1689600000
					1766400000 1843200000 1920000000
					1996800000 2092800000 2169600000
					2246400000 2323200000 2400000000
					2400000000>,
					/* Speed bin 1 */
					<300000000  403200000  480000000
					 576000000  652800000  748800000
					 825600000  902400000  979200000
					1056000000 1132800000 1209600000
					1286400000 1363200000 1459200000
					1536000000 1612800000 1689600000
					1766400000 1843200000 1920000000
					1996800000 2092800000 2169600000
					2246400000 2323200000 2400000000
					2476800000 2553600000 2630400000
					2707200000>;

				qcom,cpr-ro-scaling-factor =
					<2857 3056 2828 2952 2699 2796 2447
					 2631 2630 2579 2244 3343 3287 3137
					 3164 2656>,
					<2857 3056 2828 2952 2699 2796 2447
					 2631 2630 2579 2244 3343 3287 3137
					 3164 2656>,
					<2086 2208 2273 2408 2203 2327 2213
					 2340 1755 2039 2049 2474 2437 2618
					 2003 1675>,
					<2086 2208 2273 2408 2203 2327 2213
					 2340 1755 2039 2049 2474 2437 2618
					 2003 1675>,
					<2086 2208 2273 2408 2203 2327 2213
					 2340 1755 2039 2049 2474 2437 2618
					 2003 1675>;

				qcom,cpr-open-loop-voltage-fuse-adjustment =
					<100000 100000 100000 100000 100000>;

				qcom,cpr-closed-loop-voltage-fuse-adjustment =
					<100000 100000 100000 100000 100000>;

				qcom,allow-voltage-interpolation;
				qcom,allow-quotient-interpolation;
				qcom,cpr-scaled-open-loop-voltage-as-ceiling;

				qcom,cpr-aging-max-voltage-adjustment = <15000>;
				qcom,cpr-aging-ref-corner = <27 31>;
				qcom,cpr-aging-ro-scaling-factor = <1700>;
				qcom,allow-aging-voltage-adjustment =
					/* Speed bin 0 */
					<0 1 1 1 1 1 1 1>,
					/* Speed bin 1 */
					<0 1 1 1 1 1 1 1>;
				qcom,allow-aging-open-loop-voltage-adjustment =
					<1>;
			};
		};
	};
};

&clock_cpucc {
	vdd-l3-supply = <&apc0_l3_vreg>;
	vdd-pwrcl-supply = <&apc0_pwrcl_vreg>;
};

&clock_gcc {
	compatible = "qcom,gcc-sdm845-v2";
};