drm/bridge: Fix assignment of the of_node of the parent to aux bridge
[drm/drm-misc.git] / Documentation / devicetree / bindings / cpufreq / cpufreq-mediatek.txt
blobe0a4ba599abcd074e388ffa8957bafb98f71d10a
1 Binding for MediaTek's CPUFreq driver
2 =====================================
4 Required properties:
5 - clocks: A list of phandle + clock-specifier pairs for the clocks listed in clock names.
6 - clock-names: Should contain the following:
7         "cpu"           - The multiplexer for clock input of CPU cluster.
8         "intermediate"  - A parent of "cpu" clock which is used as "intermediate" clock
9                           source (usually MAINPLL) when the original CPU PLL is under
10                           transition and not stable yet.
11         Please refer to Documentation/devicetree/bindings/clock/clock-bindings.txt for
12         generic clock consumer properties.
13 - operating-points-v2: Please refer to Documentation/devicetree/bindings/opp/opp-v2.yaml
14         for detail.
15 - proc-supply: Regulator for Vproc of CPU cluster.
17 Optional properties:
18 - sram-supply: Regulator for Vsram of CPU cluster. When present, the cpufreq driver
19                needs to do "voltage tracking" to step by step scale up/down Vproc and
20                Vsram to fit SoC specific needs. When absent, the voltage scaling
21                flow is handled by hardware, hence no software "voltage tracking" is
22                needed.
23 - mediatek,cci:
24         Used to confirm the link status between cpufreq and mediatek cci. Because
25         cpufreq and mediatek cci could share the same regulator in some MediaTek SoCs.
26         To prevent the issue of high frequency and low voltage, we need to use this
27         property to make sure mediatek cci is ready.
28         For details of mediatek cci, please refer to
29         Documentation/devicetree/bindings/interconnect/mediatek,cci.yaml
30 - #cooling-cells:
31         For details, please refer to
32         Documentation/devicetree/bindings/thermal/thermal-cooling-devices.yaml
34 Example 1 (MT7623 SoC):
36         cpu_opp_table: opp_table {
37                 compatible = "operating-points-v2";
38                 opp-shared;
40                 opp-598000000 {
41                         opp-hz = /bits/ 64 <598000000>;
42                         opp-microvolt = <1050000>;
43                 };
45                 opp-747500000 {
46                         opp-hz = /bits/ 64 <747500000>;
47                         opp-microvolt = <1050000>;
48                 };
50                 opp-1040000000 {
51                         opp-hz = /bits/ 64 <1040000000>;
52                         opp-microvolt = <1150000>;
53                 };
55                 opp-1196000000 {
56                         opp-hz = /bits/ 64 <1196000000>;
57                         opp-microvolt = <1200000>;
58                 };
60                 opp-1300000000 {
61                         opp-hz = /bits/ 64 <1300000000>;
62                         opp-microvolt = <1300000>;
63                 };
64         };
66         cpu0: cpu@0 {
67                 device_type = "cpu";
68                 compatible = "arm,cortex-a7";
69                 reg = <0x0>;
70                 clocks = <&infracfg CLK_INFRA_CPUSEL>,
71                          <&apmixedsys CLK_APMIXED_MAINPLL>;
72                 clock-names = "cpu", "intermediate";
73                 operating-points-v2 = <&cpu_opp_table>;
74                 #cooling-cells = <2>;
75         };
76         cpu@1 {
77                 device_type = "cpu";
78                 compatible = "arm,cortex-a7";
79                 reg = <0x1>;
80                 operating-points-v2 = <&cpu_opp_table>;
81         };
82         cpu@2 {
83                 device_type = "cpu";
84                 compatible = "arm,cortex-a7";
85                 reg = <0x2>;
86                 operating-points-v2 = <&cpu_opp_table>;
87         };
88         cpu@3 {
89                 device_type = "cpu";
90                 compatible = "arm,cortex-a7";
91                 reg = <0x3>;
92                 operating-points-v2 = <&cpu_opp_table>;
93         };
95 Example 2 (MT8173 SoC):
96         cpu_opp_table_a: opp_table_a {
97                 compatible = "operating-points-v2";
98                 opp-shared;
100                 opp-507000000 {
101                         opp-hz = /bits/ 64 <507000000>;
102                         opp-microvolt = <859000>;
103                 };
105                 opp-702000000 {
106                         opp-hz = /bits/ 64 <702000000>;
107                         opp-microvolt = <908000>;
108                 };
110                 opp-1001000000 {
111                         opp-hz = /bits/ 64 <1001000000>;
112                         opp-microvolt = <983000>;
113                 };
115                 opp-1105000000 {
116                         opp-hz = /bits/ 64 <1105000000>;
117                         opp-microvolt = <1009000>;
118                 };
120                 opp-1183000000 {
121                         opp-hz = /bits/ 64 <1183000000>;
122                         opp-microvolt = <1028000>;
123                 };
125                 opp-1404000000 {
126                         opp-hz = /bits/ 64 <1404000000>;
127                         opp-microvolt = <1083000>;
128                 };
130                 opp-1508000000 {
131                         opp-hz = /bits/ 64 <1508000000>;
132                         opp-microvolt = <1109000>;
133                 };
135                 opp-1573000000 {
136                         opp-hz = /bits/ 64 <1573000000>;
137                         opp-microvolt = <1125000>;
138                 };
139         };
141         cpu_opp_table_b: opp_table_b {
142                 compatible = "operating-points-v2";
143                 opp-shared;
145                 opp-507000000 {
146                         opp-hz = /bits/ 64 <507000000>;
147                         opp-microvolt = <828000>;
148                 };
150                 opp-702000000 {
151                         opp-hz = /bits/ 64 <702000000>;
152                         opp-microvolt = <867000>;
153                 };
155                 opp-1001000000 {
156                         opp-hz = /bits/ 64 <1001000000>;
157                         opp-microvolt = <927000>;
158                 };
160                 opp-1209000000 {
161                         opp-hz = /bits/ 64 <1209000000>;
162                         opp-microvolt = <968000>;
163                 };
165                 opp-1404000000 {
166                         opp-hz = /bits/ 64 <1007000000>;
167                         opp-microvolt = <1028000>;
168                 };
170                 opp-1612000000 {
171                         opp-hz = /bits/ 64 <1612000000>;
172                         opp-microvolt = <1049000>;
173                 };
175                 opp-1807000000 {
176                         opp-hz = /bits/ 64 <1807000000>;
177                         opp-microvolt = <1089000>;
178                 };
180                 opp-1989000000 {
181                         opp-hz = /bits/ 64 <1989000000>;
182                         opp-microvolt = <1125000>;
183                 };
184         };
186         cpu0: cpu@0 {
187                 device_type = "cpu";
188                 compatible = "arm,cortex-a53";
189                 reg = <0x000>;
190                 enable-method = "psci";
191                 cpu-idle-states = <&CPU_SLEEP_0>;
192                 clocks = <&infracfg CLK_INFRA_CA53SEL>,
193                          <&apmixedsys CLK_APMIXED_MAINPLL>;
194                 clock-names = "cpu", "intermediate";
195                 operating-points-v2 = <&cpu_opp_table_a>;
196         };
198         cpu1: cpu@1 {
199                 device_type = "cpu";
200                 compatible = "arm,cortex-a53";
201                 reg = <0x001>;
202                 enable-method = "psci";
203                 cpu-idle-states = <&CPU_SLEEP_0>;
204                 clocks = <&infracfg CLK_INFRA_CA53SEL>,
205                          <&apmixedsys CLK_APMIXED_MAINPLL>;
206                 clock-names = "cpu", "intermediate";
207                 operating-points-v2 = <&cpu_opp_table_a>;
208         };
210         cpu2: cpu@100 {
211                 device_type = "cpu";
212                 compatible = "arm,cortex-a72";
213                 reg = <0x100>;
214                 enable-method = "psci";
215                 cpu-idle-states = <&CPU_SLEEP_0>;
216                 clocks = <&infracfg CLK_INFRA_CA72SEL>,
217                          <&apmixedsys CLK_APMIXED_MAINPLL>;
218                 clock-names = "cpu", "intermediate";
219                 operating-points-v2 = <&cpu_opp_table_b>;
220         };
222         cpu3: cpu@101 {
223                 device_type = "cpu";
224                 compatible = "arm,cortex-a72";
225                 reg = <0x101>;
226                 enable-method = "psci";
227                 cpu-idle-states = <&CPU_SLEEP_0>;
228                 clocks = <&infracfg CLK_INFRA_CA72SEL>,
229                          <&apmixedsys CLK_APMIXED_MAINPLL>;
230                 clock-names = "cpu", "intermediate";
231                 operating-points-v2 = <&cpu_opp_table_b>;
232         };
234         &cpu0 {
235                 proc-supply = <&mt6397_vpca15_reg>;
236         };
238         &cpu1 {
239                 proc-supply = <&mt6397_vpca15_reg>;
240         };
242         &cpu2 {
243                 proc-supply = <&da9211_vcpu_reg>;
244                 sram-supply = <&mt6397_vsramca7_reg>;
245         };
247         &cpu3 {
248                 proc-supply = <&da9211_vcpu_reg>;
249                 sram-supply = <&mt6397_vsramca7_reg>;
250         };