Merge tag 'u-boot-rockchip-20200501' of https://gitlab.denx.de/u-boot/custodians...
[platform/kernel/u-boot.git] / arch / arm / dts / meson-gx.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2016 Andreas Färber
4  *
5  * Copyright (c) 2016 BayLibre, SAS.
6  * Author: Neil Armstrong <narmstrong@baylibre.com>
7  *
8  * Copyright (c) 2016 Endless Computers, Inc.
9  * Author: Carlo Caione <carlo@endlessm.com>
10  */
11
12 #include <dt-bindings/gpio/gpio.h>
13 #include <dt-bindings/interrupt-controller/irq.h>
14 #include <dt-bindings/interrupt-controller/arm-gic.h>
15 #include <dt-bindings/thermal/thermal.h>
16
17 / {
18         interrupt-parent = <&gic>;
19         #address-cells = <2>;
20         #size-cells = <2>;
21
22         reserved-memory {
23                 #address-cells = <2>;
24                 #size-cells = <2>;
25                 ranges;
26
27                 /* 16 MiB reserved for Hardware ROM Firmware */
28                 hwrom_reserved: hwrom@0 {
29                         reg = <0x0 0x0 0x0 0x1000000>;
30                         no-map;
31                 };
32
33                 /* 2 MiB reserved for ARM Trusted Firmware (BL31) */
34                 secmon_reserved: secmon@10000000 {
35                         reg = <0x0 0x10000000 0x0 0x200000>;
36                         no-map;
37                 };
38
39                 /* Alternate 3 MiB reserved for ARM Trusted Firmware (BL31) */
40                 secmon_reserved_alt: secmon@5000000 {
41                         reg = <0x0 0x05000000 0x0 0x300000>;
42                         no-map;
43                 };
44
45                 linux,cma {
46                         compatible = "shared-dma-pool";
47                         reusable;
48                         size = <0x0 0x10000000>;
49                         alignment = <0x0 0x400000>;
50                         linux,cma-default;
51                 };
52         };
53
54         chosen {
55                 #address-cells = <2>;
56                 #size-cells = <2>;
57                 ranges;
58
59                 simplefb_cvbs: framebuffer-cvbs {
60                         compatible = "amlogic,simple-framebuffer",
61                                      "simple-framebuffer";
62                         amlogic,pipeline = "vpu-cvbs";
63                         power-domains = <&pwrc_vpu>;
64                         status = "disabled";
65                 };
66
67                 simplefb_hdmi: framebuffer-hdmi {
68                         compatible = "amlogic,simple-framebuffer",
69                                      "simple-framebuffer";
70                         amlogic,pipeline = "vpu-hdmi";
71                         power-domains = <&pwrc_vpu>;
72                         status = "disabled";
73                 };
74         };
75
76         cpus {
77                 #address-cells = <0x2>;
78                 #size-cells = <0x0>;
79
80                 cpu0: cpu@0 {
81                         device_type = "cpu";
82                         compatible = "arm,cortex-a53";
83                         reg = <0x0 0x0>;
84                         enable-method = "psci";
85                         next-level-cache = <&l2>;
86                         clocks = <&scpi_dvfs 0>;
87                         #cooling-cells = <2>;
88                 };
89
90                 cpu1: cpu@1 {
91                         device_type = "cpu";
92                         compatible = "arm,cortex-a53";
93                         reg = <0x0 0x1>;
94                         enable-method = "psci";
95                         next-level-cache = <&l2>;
96                         clocks = <&scpi_dvfs 0>;
97                         #cooling-cells = <2>;
98                 };
99
100                 cpu2: cpu@2 {
101                         device_type = "cpu";
102                         compatible = "arm,cortex-a53";
103                         reg = <0x0 0x2>;
104                         enable-method = "psci";
105                         next-level-cache = <&l2>;
106                         clocks = <&scpi_dvfs 0>;
107                         #cooling-cells = <2>;
108                 };
109
110                 cpu3: cpu@3 {
111                         device_type = "cpu";
112                         compatible = "arm,cortex-a53";
113                         reg = <0x0 0x3>;
114                         enable-method = "psci";
115                         next-level-cache = <&l2>;
116                         clocks = <&scpi_dvfs 0>;
117                         #cooling-cells = <2>;
118                 };
119
120                 l2: l2-cache0 {
121                         compatible = "cache";
122                 };
123         };
124
125         thermal-zones {
126                 cpu-thermal {
127                         polling-delay-passive = <250>; /* milliseconds */
128                         polling-delay = <1000>; /* milliseconds */
129
130                         thermal-sensors = <&scpi_sensors 0>;
131
132                         trips {
133                                 cpu_passive: cpu-passive {
134                                         temperature = <80000>; /* millicelsius */
135                                         hysteresis = <2000>; /* millicelsius */
136                                         type = "passive";
137                                 };
138
139                                 cpu_hot: cpu-hot {
140                                         temperature = <90000>; /* millicelsius */
141                                         hysteresis = <2000>; /* millicelsius */
142                                         type = "hot";
143                                 };
144
145                                 cpu_critical: cpu-critical {
146                                         temperature = <110000>; /* millicelsius */
147                                         hysteresis = <2000>; /* millicelsius */
148                                         type = "critical";
149                                 };
150                         };
151
152                         cpu_cooling_maps: cooling-maps {
153                                 map0 {
154                                         trip = <&cpu_passive>;
155                                         cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
156                                                          <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
157                                                          <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
158                                                          <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
159                                 };
160
161                                 map1 {
162                                         trip = <&cpu_hot>;
163                                         cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
164                                                          <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
165                                                          <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
166                                                          <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
167                                 };
168                         };
169                 };
170         };
171
172         arm-pmu {
173                 compatible = "arm,cortex-a53-pmu";
174                 interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
175                              <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
176                              <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
177                              <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
178                 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
179         };
180
181         psci {
182                 compatible = "arm,psci-0.2";
183                 method = "smc";
184         };
185
186         timer {
187                 compatible = "arm,armv8-timer";
188                 interrupts = <GIC_PPI 13
189                         (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
190                              <GIC_PPI 14
191                         (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
192                              <GIC_PPI 11
193                         (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>,
194                              <GIC_PPI 10
195                         (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>;
196         };
197
198         xtal: xtal-clk {
199                 compatible = "fixed-clock";
200                 clock-frequency = <24000000>;
201                 clock-output-names = "xtal";
202                 #clock-cells = <0>;
203         };
204
205         firmware {
206                 sm: secure-monitor {
207                         compatible = "amlogic,meson-gx-sm", "amlogic,meson-gxbb-sm";
208                 };
209         };
210
211         efuse: efuse {
212                 compatible = "amlogic,meson-gx-efuse", "amlogic,meson-gxbb-efuse";
213                 #address-cells = <1>;
214                 #size-cells = <1>;
215                 read-only;
216                 secure-monitor = <&sm>;
217
218                 sn: sn@14 {
219                         reg = <0x14 0x10>;
220                 };
221
222                 eth_mac: eth_mac@34 {
223                         reg = <0x34 0x10>;
224                 };
225
226                 bid: bid@46 {
227                         reg = <0x46 0x30>;
228                 };
229         };
230
231         scpi {
232                 compatible = "amlogic,meson-gxbb-scpi", "arm,scpi-pre-1.0";
233                 mboxes = <&mailbox 1 &mailbox 2>;
234                 shmem = <&cpu_scp_lpri &cpu_scp_hpri>;
235
236                 scpi_clocks: clocks {
237                         compatible = "arm,scpi-clocks";
238
239                         scpi_dvfs: scpi_clocks@0 {
240                                 compatible = "arm,scpi-dvfs-clocks";
241                                 #clock-cells = <1>;
242                                 clock-indices = <0>;
243                                 clock-output-names = "vcpu";
244                         };
245                 };
246
247                 scpi_sensors: sensors {
248                         compatible = "amlogic,meson-gxbb-scpi-sensors", "arm,scpi-sensors";
249                         #thermal-sensor-cells = <1>;
250                 };
251         };
252
253         soc {
254                 compatible = "simple-bus";
255                 #address-cells = <2>;
256                 #size-cells = <2>;
257                 ranges;
258
259                 cbus: bus@c1100000 {
260                         compatible = "simple-bus";
261                         reg = <0x0 0xc1100000 0x0 0x100000>;
262                         #address-cells = <2>;
263                         #size-cells = <2>;
264                         ranges = <0x0 0x0 0x0 0xc1100000 0x0 0x100000>;
265
266                         gpio_intc: interrupt-controller@9880 {
267                                 compatible = "amlogic,meson-gpio-intc";
268                                 reg = <0x0 0x9880 0x0 0x10>;
269                                 interrupt-controller;
270                                 #interrupt-cells = <2>;
271                                 amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>;
272                                 status = "disabled";
273                         };
274
275                         reset: reset-controller@4404 {
276                                 compatible = "amlogic,meson-gxbb-reset";
277                                 reg = <0x0 0x04404 0x0 0x9c>;
278                                 #reset-cells = <1>;
279                         };
280
281                         uart_A: serial@84c0 {
282                                 compatible = "amlogic,meson-gx-uart";
283                                 reg = <0x0 0x84c0 0x0 0x18>;
284                                 interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
285                                 status = "disabled";
286                         };
287
288                         uart_B: serial@84dc {
289                                 compatible = "amlogic,meson-gx-uart";
290                                 reg = <0x0 0x84dc 0x0 0x18>;
291                                 interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
292                                 status = "disabled";
293                         };
294
295                         i2c_A: i2c@8500 {
296                                 compatible = "amlogic,meson-gxbb-i2c";
297                                 reg = <0x0 0x08500 0x0 0x20>;
298                                 interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>;
299                                 #address-cells = <1>;
300                                 #size-cells = <0>;
301                                 status = "disabled";
302                         };
303
304                         pwm_ab: pwm@8550 {
305                                 compatible = "amlogic,meson-gx-pwm", "amlogic,meson-gxbb-pwm";
306                                 reg = <0x0 0x08550 0x0 0x10>;
307                                 #pwm-cells = <3>;
308                                 status = "disabled";
309                         };
310
311                         pwm_cd: pwm@8650 {
312                                 compatible = "amlogic,meson-gx-pwm", "amlogic,meson-gxbb-pwm";
313                                 reg = <0x0 0x08650 0x0 0x10>;
314                                 #pwm-cells = <3>;
315                                 status = "disabled";
316                         };
317
318                         saradc: adc@8680 {
319                                 compatible = "amlogic,meson-saradc";
320                                 reg = <0x0 0x8680 0x0 0x34>;
321                                 #io-channel-cells = <1>;
322                                 interrupts = <GIC_SPI 73 IRQ_TYPE_EDGE_RISING>;
323                                 status = "disabled";
324                         };
325
326                         pwm_ef: pwm@86c0 {
327                                 compatible = "amlogic,meson-gx-pwm", "amlogic,meson-gxbb-pwm";
328                                 reg = <0x0 0x086c0 0x0 0x10>;
329                                 #pwm-cells = <3>;
330                                 status = "disabled";
331                         };
332
333                         uart_C: serial@8700 {
334                                 compatible = "amlogic,meson-gx-uart";
335                                 reg = <0x0 0x8700 0x0 0x18>;
336                                 interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>;
337                                 status = "disabled";
338                         };
339
340                         clock-measure@8758 {
341                                 compatible = "amlogic,meson-gx-clk-measure";
342                                 reg = <0x0 0x8758 0x0 0x10>;
343                         };
344
345                         i2c_B: i2c@87c0 {
346                                 compatible = "amlogic,meson-gxbb-i2c";
347                                 reg = <0x0 0x087c0 0x0 0x20>;
348                                 interrupts = <GIC_SPI 214 IRQ_TYPE_EDGE_RISING>;
349                                 #address-cells = <1>;
350                                 #size-cells = <0>;
351                                 status = "disabled";
352                         };
353
354                         i2c_C: i2c@87e0 {
355                                 compatible = "amlogic,meson-gxbb-i2c";
356                                 reg = <0x0 0x087e0 0x0 0x20>;
357                                 interrupts = <GIC_SPI 215 IRQ_TYPE_EDGE_RISING>;
358                                 #address-cells = <1>;
359                                 #size-cells = <0>;
360                                 status = "disabled";
361                         };
362
363                         spicc: spi@8d80 {
364                                 compatible = "amlogic,meson-gx-spicc";
365                                 reg = <0x0 0x08d80 0x0 0x80>;
366                                 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
367                                 #address-cells = <1>;
368                                 #size-cells = <0>;
369                                 status = "disabled";
370                         };
371
372                         spifc: spi@8c80 {
373                                 compatible = "amlogic,meson-gxbb-spifc";
374                                 reg = <0x0 0x08c80 0x0 0x80>;
375                                 #address-cells = <1>;
376                                 #size-cells = <0>;
377                                 status = "disabled";
378                         };
379
380                         watchdog@98d0 {
381                                 compatible = "amlogic,meson-gxbb-wdt";
382                                 reg = <0x0 0x098d0 0x0 0x10>;
383                                 clocks = <&xtal>;
384                         };
385                 };
386
387                 gic: interrupt-controller@c4301000 {
388                         compatible = "arm,gic-400";
389                         reg = <0x0 0xc4301000 0 0x1000>,
390                               <0x0 0xc4302000 0 0x2000>,
391                               <0x0 0xc4304000 0 0x2000>,
392                               <0x0 0xc4306000 0 0x2000>;
393                         interrupt-controller;
394                         interrupts = <GIC_PPI 9
395                                 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
396                         #interrupt-cells = <3>;
397                         #address-cells = <0>;
398                 };
399
400                 sram: sram@c8000000 {
401                         compatible = "amlogic,meson-gx-sram", "amlogic,meson-gxbb-sram", "mmio-sram";
402                         reg = <0x0 0xc8000000 0x0 0x14000>;
403
404                         #address-cells = <1>;
405                         #size-cells = <1>;
406                         ranges = <0 0x0 0xc8000000 0x14000>;
407
408                         cpu_scp_lpri: scp-shmem@0 {
409                                 compatible = "amlogic,meson-gx-scp-shmem", "amlogic,meson-gxbb-scp-shmem";
410                                 reg = <0x13000 0x400>;
411                         };
412
413                         cpu_scp_hpri: scp-shmem@200 {
414                                 compatible = "amlogic,meson-gx-scp-shmem", "amlogic,meson-gxbb-scp-shmem";
415                                 reg = <0x13400 0x400>;
416                         };
417                 };
418
419                 aobus: bus@c8100000 {
420                         compatible = "simple-bus";
421                         reg = <0x0 0xc8100000 0x0 0x100000>;
422                         #address-cells = <2>;
423                         #size-cells = <2>;
424                         ranges = <0x0 0x0 0x0 0xc8100000 0x0 0x100000>;
425
426                         sysctrl_AO: sys-ctrl@0 {
427                                 compatible = "amlogic,meson-gx-ao-sysctrl", "simple-mfd", "syscon";
428                                 reg =  <0x0 0x0 0x0 0x100>;
429
430                                 pwrc_vpu: power-controller-vpu {
431                                         compatible = "amlogic,meson-gx-pwrc-vpu";
432                                         #power-domain-cells = <0>;
433                                         amlogic,hhi-sysctrl = <&sysctrl>;
434                                 };
435
436                                 clkc_AO: clock-controller {
437                                         compatible = "amlogic,meson-gx-aoclkc";
438                                         #clock-cells = <1>;
439                                         #reset-cells = <1>;
440                                 };
441                         };
442
443                         cec_AO: cec@100 {
444                                 compatible = "amlogic,meson-gx-ao-cec";
445                                 reg = <0x0 0x00100 0x0 0x14>;
446                                 interrupts = <GIC_SPI 199 IRQ_TYPE_EDGE_RISING>;
447                                 status = "disabled";
448                         };
449
450                         sec_AO: ao-secure@140 {
451                                 compatible = "amlogic,meson-gx-ao-secure", "syscon";
452                                 reg = <0x0 0x140 0x0 0x140>;
453                                 amlogic,has-chip-id;
454                         };
455
456                         uart_AO: serial@4c0 {
457                                 compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
458                                 reg = <0x0 0x004c0 0x0 0x18>;
459                                 interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
460                                 status = "disabled";
461                         };
462
463                         uart_AO_B: serial@4e0 {
464                                 compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
465                                 reg = <0x0 0x004e0 0x0 0x18>;
466                                 interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
467                                 status = "disabled";
468                         };
469
470                         i2c_AO: i2c@500 {
471                                 compatible = "amlogic,meson-gxbb-i2c";
472                                 reg = <0x0 0x500 0x0 0x20>;
473                                 interrupts = <GIC_SPI 195 IRQ_TYPE_EDGE_RISING>;
474                                 #address-cells = <1>;
475                                 #size-cells = <0>;
476                                 status = "disabled";
477                         };
478
479                         pwm_AO_ab: pwm@550 {
480                                 compatible = "amlogic,meson-gx-ao-pwm", "amlogic,meson-gxbb-ao-pwm";
481                                 reg = <0x0 0x00550 0x0 0x10>;
482                                 #pwm-cells = <3>;
483                                 status = "disabled";
484                         };
485
486                         ir: ir@580 {
487                                 compatible = "amlogic,meson-gx-ir", "amlogic,meson-gxbb-ir";
488                                 reg = <0x0 0x00580 0x0 0x40>;
489                                 interrupts = <GIC_SPI 196 IRQ_TYPE_EDGE_RISING>;
490                                 status = "disabled";
491                         };
492                 };
493
494                 vdec: video-codec@c8820000 {
495                         compatible = "amlogic,gx-vdec";
496                         reg = <0x0 0xc8820000 0x0 0x10000>,
497                               <0x0 0xc110a580 0x0 0xe4>;
498                         reg-names = "dos", "esparser";
499
500                         interrupts = <GIC_SPI 44 IRQ_TYPE_EDGE_RISING>,
501                                      <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>;
502                         interrupt-names = "vdec", "esparser";
503
504                         amlogic,ao-sysctrl = <&sysctrl_AO>;
505                         amlogic,canvas = <&canvas>;
506                 };
507
508                 periphs: bus@c8834000 {
509                         compatible = "simple-bus";
510                         reg = <0x0 0xc8834000 0x0 0x2000>;
511                         #address-cells = <2>;
512                         #size-cells = <2>;
513                         ranges = <0x0 0x0 0x0 0xc8834000 0x0 0x2000>;
514
515                         hwrng: rng {
516                                 compatible = "amlogic,meson-rng";
517                                 reg = <0x0 0x0 0x0 0x4>;
518                         };
519                 };
520
521                 dmcbus: bus@c8838000 {
522                         compatible = "simple-bus";
523                         reg = <0x0 0xc8838000 0x0 0x400>;
524                         #address-cells = <2>;
525                         #size-cells = <2>;
526                         ranges = <0x0 0x0 0x0 0xc8838000 0x0 0x400>;
527
528                         canvas: video-lut@48 {
529                                 compatible = "amlogic,canvas";
530                                 reg = <0x0 0x48 0x0 0x14>;
531                         };
532                 };
533
534                 hiubus: bus@c883c000 {
535                         compatible = "simple-bus";
536                         reg = <0x0 0xc883c000 0x0 0x2000>;
537                         #address-cells = <2>;
538                         #size-cells = <2>;
539                         ranges = <0x0 0x0 0x0 0xc883c000 0x0 0x2000>;
540
541                         sysctrl: system-controller@0 {
542                                 compatible = "amlogic,meson-gx-hhi-sysctrl", "simple-mfd", "syscon";
543                                 reg = <0 0 0 0x400>;
544                         };
545
546                         mailbox: mailbox@404 {
547                                 compatible = "amlogic,meson-gxbb-mhu";
548                                 reg = <0 0x404 0 0x4c>;
549                                 interrupts = <GIC_SPI 208 IRQ_TYPE_EDGE_RISING>,
550                                              <GIC_SPI 209 IRQ_TYPE_EDGE_RISING>,
551                                              <GIC_SPI 210 IRQ_TYPE_EDGE_RISING>;
552                                 #mbox-cells = <1>;
553                         };
554                 };
555
556                 ethmac: ethernet@c9410000 {
557                         compatible = "amlogic,meson-gxbb-dwmac",
558                                      "snps,dwmac-3.70a",
559                                      "snps,dwmac";
560                         reg = <0x0 0xc9410000 0x0 0x10000>,
561                               <0x0 0xc8834540 0x0 0x4>;
562                         interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
563                         interrupt-names = "macirq";
564                         rx-fifo-depth = <4096>;
565                         tx-fifo-depth = <2048>;
566                         status = "disabled";
567                 };
568
569                 apb: apb@d0000000 {
570                         compatible = "simple-bus";
571                         reg = <0x0 0xd0000000 0x0 0x200000>;
572                         #address-cells = <2>;
573                         #size-cells = <2>;
574                         ranges = <0x0 0x0 0x0 0xd0000000 0x0 0x200000>;
575
576                         sd_emmc_a: mmc@70000 {
577                                 compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
578                                 reg = <0x0 0x70000 0x0 0x800>;
579                                 interrupts = <GIC_SPI 216 IRQ_TYPE_EDGE_RISING>;
580                                 status = "disabled";
581                         };
582
583                         sd_emmc_b: mmc@72000 {
584                                 compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
585                                 reg = <0x0 0x72000 0x0 0x800>;
586                                 interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
587                                 status = "disabled";
588                         };
589
590                         sd_emmc_c: mmc@74000 {
591                                 compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
592                                 reg = <0x0 0x74000 0x0 0x800>;
593                                 interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>;
594                                 status = "disabled";
595                         };
596                 };
597
598                 vpu: vpu@d0100000 {
599                         compatible = "amlogic,meson-gx-vpu";
600                         reg = <0x0 0xd0100000 0x0 0x100000>,
601                               <0x0 0xc883c000 0x0 0x1000>;
602                         reg-names = "vpu", "hhi";
603                         interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
604                         #address-cells = <1>;
605                         #size-cells = <0>;
606                         amlogic,canvas = <&canvas>;
607
608                         /* CVBS VDAC output port */
609                         cvbs_vdac_port: port@0 {
610                                 reg = <0>;
611                         };
612
613                         /* HDMI-TX output port */
614                         hdmi_tx_port: port@1 {
615                                 reg = <1>;
616
617                                 hdmi_tx_out: endpoint {
618                                         remote-endpoint = <&hdmi_tx_in>;
619                                 };
620                         };
621                 };
622
623                 hdmi_tx: hdmi-tx@c883a000 {
624                         compatible = "amlogic,meson-gx-dw-hdmi";
625                         reg = <0x0 0xc883a000 0x0 0x1c>;
626                         interrupts = <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>;
627                         #address-cells = <1>;
628                         #size-cells = <0>;
629                         status = "disabled";
630
631                         /* VPU VENC Input */
632                         hdmi_tx_venc_port: port@0 {
633                                 reg = <0>;
634
635                                 hdmi_tx_in: endpoint {
636                                         remote-endpoint = <&hdmi_tx_out>;
637                                 };
638                         };
639
640                         /* TMDS Output */
641                         hdmi_tx_tmds_port: port@1 {
642                                 reg = <1>;
643                         };
644                 };
645         };
646 };