blob: 7f352e0fd80e3a86cceccba158f9ead2046fcaa5 [file] [log] [blame]
Jingbiao Ludc9d8782018-01-31 16:35:04 +08001/*
2 * Copyright (c) 2018, The Linux Foundation. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 and
6 * only version 2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13
14#include "msm8937.dtsi"
15#include "sdm439-pm8953.dtsi"
Vaishnavi Kommaraju6e3a36d2018-03-12 11:20:20 +053016#include "sdm439-audio.dtsi"
Jingbiao Ludc9d8782018-01-31 16:35:04 +080017#include "sdm439-pmi632.dtsi"
18
19&soc {
20 mem_acc_vreg_corner: regulator@01946004 {
21 compatible = "qcom,mem-acc-regulator";
22 regulator-name = "mem_acc_corner";
23 regulator-min-microvolt = <1>;
24 regulator-max-microvolt = <3>;
25
26 qcom,acc-reg-addr-list =
27 <0x01942138 0x01942130 0x01942120
28 0x01942124 0x01946000 0x01946004>;
29
30 qcom,acc-init-reg-config = <1 0xff>, <2 0x5555>, <6 0x55>;
31
32 qcom,num-acc-corners = <3>;
33 qcom,boot-acc-corner = <2>;
34 qcom,corner1-reg-config =
35 /* SVS+ => SVS+ */
36 <(-1) (-1)>, <(-1) (-1)>, <(-1) (-1)>,
37 <(-1) (-1)>, <(-1) (-1)>, <(-1) (-1)>,
38 /* SVS+ => NOM */
39 < 3 0x1041041>, < 4 0x1041>, < 5 0x2020202>,
40 <(-1) (-1)>, <(-1) (-1)>, <(-1) (-1)>,
41 /* SVS+ => TURBO/NOM+ */
42 < 3 0x1041041>, < 4 0x1041>, < 5 0x2020202>,
43 < 3 0x0>, < 4 0x0>, < 5 0x0>;
44
45 qcom,corner2-reg-config =
46 /* NOM => SVS+ */
47 < 3 0x30c30c3>, < 4 0x30c3>, < 5 0x6060606>,
48 /* NOM => NOM */
49 <(-1) (-1)>, <(-1) (-1)>, <(-1) (-1)>,
50 /* NOM => TURBO/NOM+ */
51 < 3 0x0>, < 4 0x0>, < 5 0x0>;
52
53 qcom,corner3-reg-config =
54 /* TURBO/NOM+ => SVS+ */
55 < 3 0x1041041>, < 4 0x1041>, < 5 0x2020202>,
56 < 3 0x30c30c3>, < 4 0x30c3>, < 5 0x6060606>,
57 /* TURBO/NOM+ => NOM */
58 < 3 0x1041041>, < 4 0x1041>, < 5 0x2020202>,
59 <(-1) (-1)>, <(-1) (-1)>, <(-1) (-1)>,
60 /* TURBO/NOM+ => TURBO/NOM+ */
61 <(-1) (-1)>, <(-1) (-1)>, <(-1) (-1)>,
62 <(-1) (-1)>, <(-1) (-1)>, <(-1) (-1)>;
63 };
64
65 apc_vreg_corner: regulator@b018000 {
66 compatible = "qcom,cpr-regulator";
67 reg = <0xb018000 0x1000>, <0xb011064 4>, <0xa4000 0x1000>;
68 reg-names = "rbcpr", "rbcpr_clk", "efuse_addr";
69 interrupts = <0 15 0>;
70 regulator-name = "apc_corner";
71 regulator-min-microvolt = <1>;
72 regulator-max-microvolt = <7>;
73
74 qcom,cpr-fuse-corners = <3>;
75 qcom,cpr-voltage-ceiling = <1155000 1225000 1350000>;
76 qcom,cpr-voltage-floor = <1050000 1050000 1090000>;
77 vdd-apc-supply = <&pm8953_s5>;
78
79 mem-acc-supply = <&mem_acc_vreg_corner>;
80
81 qcom,cpr-ref-clk = <19200>;
82 qcom,cpr-timer-delay = <5000>;
83 qcom,cpr-timer-cons-up = <0>;
84 qcom,cpr-timer-cons-down = <2>;
85 qcom,cpr-irq-line = <0>;
86 qcom,cpr-step-quotient = <10>;
87 qcom,cpr-up-threshold = <2>;
88 qcom,cpr-down-threshold = <4>;
89 qcom,cpr-idle-clocks = <15>;
90 qcom,cpr-gcnt-time = <1>;
91 qcom,vdd-apc-step-up-limit = <1>;
92 qcom,vdd-apc-step-down-limit = <1>;
93 qcom,cpr-apc-volt-step = <5000>;
94
95 qcom,cpr-fuse-row = <67 0>;
96 qcom,cpr-fuse-target-quot = <42 24 6>;
97 qcom,cpr-fuse-ro-sel = <60 57 54>;
98 qcom,cpr-init-voltage-ref = <1155000 1225000 1350000>;
99 qcom,cpr-fuse-init-voltage =
100 <67 36 6 0>,
101 <67 18 6 0>,
102 <67 0 6 0>;
103 qcom,cpr-fuse-quot-offset =
104 <71 26 6 0>,
105 <71 20 6 0>,
106 <70 54 7 0>;
107 qcom,cpr-fuse-quot-offset-scale = <5 5 5>;
108 qcom,cpr-init-voltage-step = <10000>;
109 qcom,cpr-corner-map = <1 2 3 3 3 3 3>;
110 qcom,cpr-corner-frequency-map =
111 <1 960000000>,
112 <2 1094400000>,
113 <3 1209600000>,
114 <4 1248000000>,
115 <5 1344000000>,
116 <6 1401000000>,
117 <7 1497600000>;
118 qcom,speed-bin-fuse-sel = <37 34 3 0>;
119 qcom,cpr-speed-bin-max-corners =
120 <0 0 1 2 6>,
121 <1 0 1 2 7>,
122 <2 0 1 2 3>;
123 qcom,cpr-fuse-revision = <69 39 3 0>;
124 qcom,cpr-quot-adjust-scaling-factor-max = <0 1400 1400>;
125 qcom,cpr-voltage-scaling-factor-max = <0 2000 2000>;
126 qcom,cpr-scaled-init-voltage-as-ceiling;
127 qcom,cpr-fuse-version-map =
128 <0 (-1) 1 (-1) (-1) (-1)>,
129 <(-1) (-1) 2 (-1) (-1) (-1)>,
130 <(-1) (-1) 3 (-1) (-1) (-1)>,
131 <(-1) (-1) (-1) (-1) (-1) (-1)>;
132 qcom,cpr-quotient-adjustment =
133 <(-20) (-40) (-20)>,
134 <0 (-40) (20)>,
135 <0 0 (20)>,
136 <0 0 0>;
137 qcom,cpr-init-voltage-adjustment =
138 <0 0 0>,
139 <(10000) (15000) (20000)>,
140 <0 0 0>,
141 <0 0 0>;
142 qcom,cpr-enable;
143 };
144};