treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / arch / arm64 / boot / dts / amlogic / meson-g12.dtsi
blobb3ba2fda8af88005146df7b497847ddfccd4db56
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2019 BayLibre, SAS
4  * Author: Jerome Brunet <jbrunet@baylibre.com>
5  */
7 #include "meson-g12-common.dtsi"
8 #include <dt-bindings/clock/axg-audio-clkc.h>
9 #include <dt-bindings/power/meson-g12a-power.h>
10 #include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h>
11 #include <dt-bindings/reset/amlogic,meson-g12a-audio-reset.h>
13 / {
14         tdmif_a: audio-controller-0 {
15                 compatible = "amlogic,axg-tdm-iface";
16                 #sound-dai-cells = <0>;
17                 sound-name-prefix = "TDM_A";
18                 clocks = <&clkc_audio AUD_CLKID_MST_A_MCLK>,
19                          <&clkc_audio AUD_CLKID_MST_A_SCLK>,
20                          <&clkc_audio AUD_CLKID_MST_A_LRCLK>;
21                 clock-names = "mclk", "sclk", "lrclk";
22                 status = "disabled";
23         };
25         tdmif_b: audio-controller-1 {
26                 compatible = "amlogic,axg-tdm-iface";
27                 #sound-dai-cells = <0>;
28                 sound-name-prefix = "TDM_B";
29                 clocks = <&clkc_audio AUD_CLKID_MST_B_MCLK>,
30                          <&clkc_audio AUD_CLKID_MST_B_SCLK>,
31                          <&clkc_audio AUD_CLKID_MST_B_LRCLK>;
32                 clock-names = "mclk", "sclk", "lrclk";
33                 status = "disabled";
34         };
36         tdmif_c: audio-controller-2 {
37                 compatible = "amlogic,axg-tdm-iface";
38                 #sound-dai-cells = <0>;
39                 sound-name-prefix = "TDM_C";
40                 clocks = <&clkc_audio AUD_CLKID_MST_C_MCLK>,
41                          <&clkc_audio AUD_CLKID_MST_C_SCLK>,
42                          <&clkc_audio AUD_CLKID_MST_C_LRCLK>;
43                 clock-names = "mclk", "sclk", "lrclk";
44                 status = "disabled";
45         };
48 &apb {
49         pdm: audio-controller@40000 {
50                 compatible = "amlogic,g12a-pdm",
51                              "amlogic,axg-pdm";
52                 reg = <0x0 0x40000 0x0 0x34>;
53                 #sound-dai-cells = <0>;
54                 sound-name-prefix = "PDM";
55                 clocks = <&clkc_audio AUD_CLKID_PDM>,
56                          <&clkc_audio AUD_CLKID_PDM_DCLK>,
57                          <&clkc_audio AUD_CLKID_PDM_SYSCLK>;
58                 clock-names = "pclk", "dclk", "sysclk";
59                 status = "disabled";
60         };
62         audio: bus@42000 {
63                 compatible = "simple-bus";
64                 reg = <0x0 0x42000 0x0 0x2000>;
65                 #address-cells = <2>;
66                 #size-cells = <2>;
67                 ranges = <0x0 0x0 0x0 0x42000 0x0 0x2000>;
69                 clkc_audio: clock-controller@0 {
70                         status = "disabled";
71                         compatible = "amlogic,g12a-audio-clkc";
72                         reg = <0x0 0x0 0x0 0xb4>;
73                         #clock-cells = <1>;
74                         #reset-cells = <1>;
76                         clocks = <&clkc CLKID_AUDIO>,
77                                  <&clkc CLKID_MPLL0>,
78                                  <&clkc CLKID_MPLL1>,
79                                  <&clkc CLKID_MPLL2>,
80                                  <&clkc CLKID_MPLL3>,
81                                  <&clkc CLKID_HIFI_PLL>,
82                                  <&clkc CLKID_FCLK_DIV3>,
83                                  <&clkc CLKID_FCLK_DIV4>,
84                                  <&clkc CLKID_GP0_PLL>;
85                         clock-names = "pclk",
86                                       "mst_in0",
87                                       "mst_in1",
88                                       "mst_in2",
89                                       "mst_in3",
90                                       "mst_in4",
91                                       "mst_in5",
92                                       "mst_in6",
93                                       "mst_in7";
95                         resets = <&reset RESET_AUDIO>;
96                 };
98                 toddr_a: audio-controller@100 {
99                         compatible = "amlogic,g12a-toddr",
100                                      "amlogic,axg-toddr";
101                         reg = <0x0 0x100 0x0 0x2c>;
102                         #sound-dai-cells = <0>;
103                         sound-name-prefix = "TODDR_A";
104                         interrupts = <GIC_SPI 148 IRQ_TYPE_EDGE_RISING>;
105                         clocks = <&clkc_audio AUD_CLKID_TODDR_A>;
106                         resets = <&arb AXG_ARB_TODDR_A>,
107                                  <&clkc_audio AUD_RESET_TODDR_A>;
108                         reset-names = "arb", "rst";
109                         status = "disabled";
110                 };
112                 toddr_b: audio-controller@140 {
113                         compatible = "amlogic,g12a-toddr",
114                                      "amlogic,axg-toddr";
115                         reg = <0x0 0x140 0x0 0x2c>;
116                         #sound-dai-cells = <0>;
117                         sound-name-prefix = "TODDR_B";
118                         interrupts = <GIC_SPI 149 IRQ_TYPE_EDGE_RISING>;
119                         clocks = <&clkc_audio AUD_CLKID_TODDR_B>;
120                         resets = <&arb AXG_ARB_TODDR_B>,
121                                  <&clkc_audio AUD_RESET_TODDR_B>;
122                         reset-names = "arb", "rst";
123                         status = "disabled";
124                 };
126                 toddr_c: audio-controller@180 {
127                         compatible = "amlogic,g12a-toddr",
128                                      "amlogic,axg-toddr";
129                         reg = <0x0 0x180 0x0 0x2c>;
130                         #sound-dai-cells = <0>;
131                         sound-name-prefix = "TODDR_C";
132                         interrupts = <GIC_SPI 150 IRQ_TYPE_EDGE_RISING>;
133                         clocks = <&clkc_audio AUD_CLKID_TODDR_C>;
134                         resets = <&arb AXG_ARB_TODDR_C>,
135                                  <&clkc_audio AUD_RESET_TODDR_C>;
136                         reset-names = "arb", "rst";
137                         status = "disabled";
138                 };
140                 frddr_a: audio-controller@1c0 {
141                         compatible = "amlogic,g12a-frddr",
142                                      "amlogic,axg-frddr";
143                         reg = <0x0 0x1c0 0x0 0x2c>;
144                         #sound-dai-cells = <0>;
145                         sound-name-prefix = "FRDDR_A";
146                         interrupts = <GIC_SPI 152 IRQ_TYPE_EDGE_RISING>;
147                         clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
148                         resets = <&arb AXG_ARB_FRDDR_A>,
149                                  <&clkc_audio AUD_RESET_FRDDR_A>;
150                         reset-names = "arb", "rst";
151                         status = "disabled";
152                 };
154                 frddr_b: audio-controller@200 {
155                         compatible = "amlogic,g12a-frddr",
156                                      "amlogic,axg-frddr";
157                         reg = <0x0 0x200 0x0 0x2c>;
158                         #sound-dai-cells = <0>;
159                         sound-name-prefix = "FRDDR_B";
160                         interrupts = <GIC_SPI 153 IRQ_TYPE_EDGE_RISING>;
161                         clocks = <&clkc_audio AUD_CLKID_FRDDR_B>;
162                         resets = <&arb AXG_ARB_FRDDR_B>,
163                                  <&clkc_audio AUD_RESET_FRDDR_B>;
164                         reset-names = "arb", "rst";
165                         status = "disabled";
166                 };
168                 frddr_c: audio-controller@240 {
169                         compatible = "amlogic,g12a-frddr",
170                                      "amlogic,axg-frddr";
171                         reg = <0x0 0x240 0x0 0x2c>;
172                         #sound-dai-cells = <0>;
173                         sound-name-prefix = "FRDDR_C";
174                         interrupts = <GIC_SPI 154 IRQ_TYPE_EDGE_RISING>;
175                         clocks = <&clkc_audio AUD_CLKID_FRDDR_C>;
176                         resets = <&arb AXG_ARB_FRDDR_C>,
177                                  <&clkc_audio AUD_RESET_FRDDR_C>;
178                         reset-names = "arb", "rst";
179                         status = "disabled";
180                 };
182                 arb: reset-controller@280 {
183                         status = "disabled";
184                         compatible = "amlogic,meson-axg-audio-arb";
185                         reg = <0x0 0x280 0x0 0x4>;
186                         #reset-cells = <1>;
187                         clocks = <&clkc_audio AUD_CLKID_DDR_ARB>;
188                 };
190                 tdmin_a: audio-controller@300 {
191                         compatible = "amlogic,g12a-tdmin",
192                                      "amlogic,axg-tdmin";
193                         reg = <0x0 0x300 0x0 0x40>;
194                         sound-name-prefix = "TDMIN_A";
195                         resets = <&clkc_audio AUD_RESET_TDMIN_A>;
196                         clocks = <&clkc_audio AUD_CLKID_TDMIN_A>,
197                                  <&clkc_audio AUD_CLKID_TDMIN_A_SCLK>,
198                                  <&clkc_audio AUD_CLKID_TDMIN_A_SCLK_SEL>,
199                                  <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>,
200                                  <&clkc_audio AUD_CLKID_TDMIN_A_LRCLK>;
201                         clock-names = "pclk", "sclk", "sclk_sel",
202                                       "lrclk", "lrclk_sel";
203                         status = "disabled";
204                 };
206                 tdmin_b: audio-controller@340 {
207                         compatible = "amlogic,g12a-tdmin",
208                                      "amlogic,axg-tdmin";
209                         reg = <0x0 0x340 0x0 0x40>;
210                         sound-name-prefix = "TDMIN_B";
211                         resets = <&clkc_audio AUD_RESET_TDMIN_B>;
212                         clocks = <&clkc_audio AUD_CLKID_TDMIN_B>,
213                                  <&clkc_audio AUD_CLKID_TDMIN_B_SCLK>,
214                                  <&clkc_audio AUD_CLKID_TDMIN_B_SCLK_SEL>,
215                                  <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>,
216                                  <&clkc_audio AUD_CLKID_TDMIN_B_LRCLK>;
217                         clock-names = "pclk", "sclk", "sclk_sel",
218                                       "lrclk", "lrclk_sel";
219                         status = "disabled";
220                 };
222                 tdmin_c: audio-controller@380 {
223                         compatible = "amlogic,g12a-tdmin",
224                                      "amlogic,axg-tdmin";
225                         reg = <0x0 0x380 0x0 0x40>;
226                         sound-name-prefix = "TDMIN_C";
227                         resets = <&clkc_audio AUD_RESET_TDMIN_C>;
228                         clocks = <&clkc_audio AUD_CLKID_TDMIN_C>,
229                                  <&clkc_audio AUD_CLKID_TDMIN_C_SCLK>,
230                                  <&clkc_audio AUD_CLKID_TDMIN_C_SCLK_SEL>,
231                                  <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>,
232                                  <&clkc_audio AUD_CLKID_TDMIN_C_LRCLK>;
233                         clock-names = "pclk", "sclk", "sclk_sel",
234                                       "lrclk", "lrclk_sel";
235                         status = "disabled";
236                 };
238                 tdmin_lb: audio-controller@3c0 {
239                         compatible = "amlogic,g12a-tdmin",
240                                      "amlogic,axg-tdmin";
241                         reg = <0x0 0x3c0 0x0 0x40>;
242                         sound-name-prefix = "TDMIN_LB";
243                         resets = <&clkc_audio AUD_RESET_TDMIN_LB>;
244                         clocks = <&clkc_audio AUD_CLKID_TDMIN_LB>,
245                                  <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK>,
246                                  <&clkc_audio AUD_CLKID_TDMIN_LB_SCLK_SEL>,
247                                  <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>,
248                                  <&clkc_audio AUD_CLKID_TDMIN_LB_LRCLK>;
249                         clock-names = "pclk", "sclk", "sclk_sel",
250                                       "lrclk", "lrclk_sel";
251                         status = "disabled";
252                 };
254                 spdifin: audio-controller@400 {
255                         compatible = "amlogic,g12a-spdifin",
256                                      "amlogic,axg-spdifin";
257                         reg = <0x0 0x400 0x0 0x30>;
258                         #sound-dai-cells = <0>;
259                         sound-name-prefix = "SPDIFIN";
260                         interrupts = <GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
261                         clocks = <&clkc_audio AUD_CLKID_SPDIFIN>,
262                                  <&clkc_audio AUD_CLKID_SPDIFIN_CLK>;
263                         clock-names = "pclk", "refclk";
264                         resets = <&clkc_audio AUD_RESET_SPDIFIN>;
265                         status = "disabled";
266                 };
268                 spdifout: audio-controller@480 {
269                         compatible = "amlogic,g12a-spdifout",
270                                      "amlogic,axg-spdifout";
271                         reg = <0x0 0x480 0x0 0x50>;
272                         #sound-dai-cells = <0>;
273                         sound-name-prefix = "SPDIFOUT";
274                         clocks = <&clkc_audio AUD_CLKID_SPDIFOUT>,
275                                  <&clkc_audio AUD_CLKID_SPDIFOUT_CLK>;
276                         clock-names = "pclk", "mclk";
277                         resets = <&clkc_audio AUD_RESET_SPDIFOUT>;
278                         status = "disabled";
279                 };
281                 tdmout_a: audio-controller@500 {
282                         compatible = "amlogic,g12a-tdmout";
283                         reg = <0x0 0x500 0x0 0x40>;
284                         sound-name-prefix = "TDMOUT_A";
285                         resets = <&clkc_audio AUD_RESET_TDMOUT_A>;
286                         clocks = <&clkc_audio AUD_CLKID_TDMOUT_A>,
287                                  <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK>,
288                                  <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK_SEL>,
289                                  <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>,
290                                  <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>;
291                         clock-names = "pclk", "sclk", "sclk_sel",
292                                       "lrclk", "lrclk_sel";
293                         status = "disabled";
294                 };
296                 tdmout_b: audio-controller@540 {
297                         compatible = "amlogic,g12a-tdmout";
298                         reg = <0x0 0x540 0x0 0x40>;
299                         sound-name-prefix = "TDMOUT_B";
300                         resets = <&clkc_audio AUD_RESET_TDMOUT_B>;
301                         clocks = <&clkc_audio AUD_CLKID_TDMOUT_B>,
302                                  <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK>,
303                                  <&clkc_audio AUD_CLKID_TDMOUT_B_SCLK_SEL>,
304                                  <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>,
305                                  <&clkc_audio AUD_CLKID_TDMOUT_B_LRCLK>;
306                         clock-names = "pclk", "sclk", "sclk_sel",
307                                       "lrclk", "lrclk_sel";
308                         status = "disabled";
309                 };
311                 tdmout_c: audio-controller@580 {
312                         compatible = "amlogic,g12a-tdmout";
313                         reg = <0x0 0x580 0x0 0x40>;
314                         sound-name-prefix = "TDMOUT_C";
315                         resets = <&clkc_audio AUD_RESET_TDMOUT_C>;
316                         clocks = <&clkc_audio AUD_CLKID_TDMOUT_C>,
317                                  <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK>,
318                                  <&clkc_audio AUD_CLKID_TDMOUT_C_SCLK_SEL>,
319                                  <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>,
320                                  <&clkc_audio AUD_CLKID_TDMOUT_C_LRCLK>;
321                         clock-names = "pclk", "sclk", "sclk_sel",
322                                       "lrclk", "lrclk_sel";
323                         status = "disabled";
324                 };
326                 spdifout_b: audio-controller@680 {
327                         compatible = "amlogic,g12a-spdifout",
328                                      "amlogic,axg-spdifout";
329                         reg = <0x0 0x680 0x0 0x50>;
330                         #sound-dai-cells = <0>;
331                         sound-name-prefix = "SPDIFOUT_B";
332                         clocks = <&clkc_audio AUD_CLKID_SPDIFOUT_B>,
333                                  <&clkc_audio AUD_CLKID_SPDIFOUT_B_CLK>;
334                         clock-names = "pclk", "mclk";
335                         resets = <&clkc_audio AUD_RESET_SPDIFOUT_B>;
336                         status = "disabled";
337                 };
339                 tohdmitx: audio-controller@744 {
340                         compatible = "amlogic,g12a-tohdmitx";
341                         reg = <0x0 0x744 0x0 0x4>;
342                         #sound-dai-cells = <1>;
343                         sound-name-prefix = "TOHDMITX";
344                         resets = <&clkc_audio AUD_RESET_TOHDMITX>;
345                         status = "disabled";
346                 };
347         };
350 &cpu_thermal {
351         cooling-maps {
352                 map0 {
353                         trip = <&cpu_passive>;
354                         cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
355                                          <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
356                                          <&cpu100 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
357                                          <&cpu101 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
358                                          <&cpu102 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
359                                          <&cpu103 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
360                 };
361                 map1 {
362                         trip = <&cpu_hot>;
363                         cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
364                                          <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
365                                          <&cpu100 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
366                                          <&cpu101 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
367                                          <&cpu102 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
368                                          <&cpu103 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
369                 };
370         };
373 &ethmac {
374         power-domains = <&pwrc PWRC_G12A_ETH_ID>;
377 &vpu {
378         power-domains = <&pwrc PWRC_G12A_VPU_ID>;
381 &sd_emmc_a {
382         amlogic,dram-access-quirk;
385 &simplefb_cvbs {
386         power-domains = <&pwrc PWRC_G12A_VPU_ID>;
389 &simplefb_hdmi {
390         power-domains = <&pwrc PWRC_G12A_VPU_ID>;