blob: b8aeb874c591a2be03bfa50820cb95cbf6c4bbf9 [file] [log] [blame]
/* Copyright (c) 2017, 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.
*/
#include "sdm845.dtsi"
/ {
model = "Qualcomm Technologies, Inc. SDM845 V2";
qcom,msm-id = <321 0x20000>;
};
&sdhc_2 {
qcom,bus-bw-vectors-bps = <0 400000 20000000 25000000 50000000
100000000 200000000 4294967295>;
qcom,clk-rates = <400000 20000000 25000000 50000000
100000000 200000000>;
qcom,devfreq,freq-table = <50000000 200000000>;
/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";
};
&clock_camcc {
compatible = "qcom,cam_cc-sdm845-v2";
};
&clock_dispcc {
compatible = "qcom,dispcc-sdm845-v2";
};
&clock_videocc {
compatible = "qcom,video_cc-sdm845-v2";
};
&msm_vidc {
qcom,allowed-clock-rates = <100000000 200000000 330000000
404000000 444000000 533000000>;
};
&spss_utils {
qcom,spss-dev-firmware-name = "spss2d"; /* 8 chars max */
qcom,spss-test-firmware-name = "spss2t"; /* 8 chars max */
qcom,spss-prod-firmware-name = "spss2p"; /* 8 chars max */
};