1114abfe1SNeil Armstrong// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2c328666dSNeil Armstrong/* 30e26f26fSAndreas Färber * Copyright (c) 2016 Andreas Färber 40e26f26fSAndreas Färber * 5c328666dSNeil Armstrong * Copyright (c) 2016 BayLibre, SAS. 6c328666dSNeil Armstrong * Author: Neil Armstrong <narmstrong@baylibre.com> 7c328666dSNeil Armstrong * 8c328666dSNeil Armstrong * Copyright (c) 2016 Endless Computers, Inc. 9c328666dSNeil Armstrong * Author: Carlo Caione <carlo@endlessm.com> 10c328666dSNeil Armstrong */ 11c328666dSNeil Armstrong 12c328666dSNeil Armstrong#include <dt-bindings/gpio/gpio.h> 13c328666dSNeil Armstrong#include <dt-bindings/interrupt-controller/irq.h> 14c328666dSNeil Armstrong#include <dt-bindings/interrupt-controller/arm-gic.h> 15cd13d5f1SChristian Hewitt#include <dt-bindings/thermal/thermal.h> 16c328666dSNeil Armstrong 17c328666dSNeil Armstrong/ { 18c328666dSNeil Armstrong interrupt-parent = <&gic>; 19c328666dSNeil Armstrong #address-cells = <2>; 20c328666dSNeil Armstrong #size-cells = <2>; 21c328666dSNeil Armstrong 22bba8e3f4SNeil Armstrong reserved-memory { 23bba8e3f4SNeil Armstrong #address-cells = <2>; 24bba8e3f4SNeil Armstrong #size-cells = <2>; 25bba8e3f4SNeil Armstrong ranges; 26bba8e3f4SNeil Armstrong 27bba8e3f4SNeil Armstrong /* 16 MiB reserved for Hardware ROM Firmware */ 28bba8e3f4SNeil Armstrong hwrom_reserved: hwrom@0 { 29bba8e3f4SNeil Armstrong reg = <0x0 0x0 0x0 0x1000000>; 30bba8e3f4SNeil Armstrong no-map; 31bba8e3f4SNeil Armstrong }; 32bba8e3f4SNeil Armstrong 33bba8e3f4SNeil Armstrong /* 2 MiB reserved for ARM Trusted Firmware (BL31) */ 34bba8e3f4SNeil Armstrong secmon_reserved: secmon@10000000 { 35bba8e3f4SNeil Armstrong reg = <0x0 0x10000000 0x0 0x200000>; 36bba8e3f4SNeil Armstrong no-map; 37bba8e3f4SNeil Armstrong }; 38e9da7282SNeil Armstrong 3948e21dedSKevin Hilman /* Alternate 3 MiB reserved for ARM Trusted Firmware (BL31) */ 4048e21dedSKevin Hilman secmon_reserved_alt: secmon@5000000 { 4148e21dedSKevin Hilman reg = <0x0 0x05000000 0x0 0x300000>; 4248e21dedSKevin Hilman no-map; 4348e21dedSKevin Hilman }; 4448e21dedSKevin Hilman 45e9da7282SNeil Armstrong linux,cma { 46e9da7282SNeil Armstrong compatible = "shared-dma-pool"; 47e9da7282SNeil Armstrong reusable; 484cbef415SChristian Hewitt size = <0x0 0x10000000>; 49e9da7282SNeil Armstrong alignment = <0x0 0x400000>; 50e9da7282SNeil Armstrong linux,cma-default; 51e9da7282SNeil Armstrong }; 52bba8e3f4SNeil Armstrong }; 53bba8e3f4SNeil Armstrong 5403b37035SMaxime Jourdan chosen { 5503b37035SMaxime Jourdan #address-cells = <2>; 5603b37035SMaxime Jourdan #size-cells = <2>; 5703b37035SMaxime Jourdan ranges; 5803b37035SMaxime Jourdan 5903b37035SMaxime Jourdan simplefb_cvbs: framebuffer-cvbs { 6003b37035SMaxime Jourdan compatible = "amlogic,simple-framebuffer", 6103b37035SMaxime Jourdan "simple-framebuffer"; 6203b37035SMaxime Jourdan amlogic,pipeline = "vpu-cvbs"; 6303b37035SMaxime Jourdan power-domains = <&pwrc_vpu>; 6403b37035SMaxime Jourdan status = "disabled"; 6503b37035SMaxime Jourdan }; 6603b37035SMaxime Jourdan 6703b37035SMaxime Jourdan simplefb_hdmi: framebuffer-hdmi { 6803b37035SMaxime Jourdan compatible = "amlogic,simple-framebuffer", 6903b37035SMaxime Jourdan "simple-framebuffer"; 7003b37035SMaxime Jourdan amlogic,pipeline = "vpu-hdmi"; 7103b37035SMaxime Jourdan power-domains = <&pwrc_vpu>; 7203b37035SMaxime Jourdan status = "disabled"; 7303b37035SMaxime Jourdan }; 7403b37035SMaxime Jourdan }; 7503b37035SMaxime Jourdan 76c328666dSNeil Armstrong cpus { 77c328666dSNeil Armstrong #address-cells = <0x2>; 78c328666dSNeil Armstrong #size-cells = <0x0>; 79c328666dSNeil Armstrong 80c328666dSNeil Armstrong cpu0: cpu@0 { 81c328666dSNeil Armstrong device_type = "cpu"; 8231af04cdSRob Herring compatible = "arm,cortex-a53"; 83c328666dSNeil Armstrong reg = <0x0 0x0>; 84c328666dSNeil Armstrong enable-method = "psci"; 85214ec523SNeil Armstrong next-level-cache = <&l2>; 8647961f13SMartin Blumenstingl clocks = <&scpi_dvfs 0>; 87cd13d5f1SChristian Hewitt #cooling-cells = <2>; 88c328666dSNeil Armstrong }; 89c328666dSNeil Armstrong 90c328666dSNeil Armstrong cpu1: cpu@1 { 91c328666dSNeil Armstrong device_type = "cpu"; 9231af04cdSRob Herring compatible = "arm,cortex-a53"; 93c328666dSNeil Armstrong reg = <0x0 0x1>; 94c328666dSNeil Armstrong enable-method = "psci"; 95214ec523SNeil Armstrong next-level-cache = <&l2>; 9647961f13SMartin Blumenstingl clocks = <&scpi_dvfs 0>; 97cd13d5f1SChristian Hewitt #cooling-cells = <2>; 98c328666dSNeil Armstrong }; 99c328666dSNeil Armstrong 100c328666dSNeil Armstrong cpu2: cpu@2 { 101c328666dSNeil Armstrong device_type = "cpu"; 10231af04cdSRob Herring compatible = "arm,cortex-a53"; 103c328666dSNeil Armstrong reg = <0x0 0x2>; 104c328666dSNeil Armstrong enable-method = "psci"; 105214ec523SNeil Armstrong next-level-cache = <&l2>; 10647961f13SMartin Blumenstingl clocks = <&scpi_dvfs 0>; 107cd13d5f1SChristian Hewitt #cooling-cells = <2>; 108c328666dSNeil Armstrong }; 109c328666dSNeil Armstrong 110c328666dSNeil Armstrong cpu3: cpu@3 { 111c328666dSNeil Armstrong device_type = "cpu"; 11231af04cdSRob Herring compatible = "arm,cortex-a53"; 113c328666dSNeil Armstrong reg = <0x0 0x3>; 114c328666dSNeil Armstrong enable-method = "psci"; 115214ec523SNeil Armstrong next-level-cache = <&l2>; 11647961f13SMartin Blumenstingl clocks = <&scpi_dvfs 0>; 117cd13d5f1SChristian Hewitt #cooling-cells = <2>; 118214ec523SNeil Armstrong }; 119214ec523SNeil Armstrong 120214ec523SNeil Armstrong l2: l2-cache0 { 121214ec523SNeil Armstrong compatible = "cache"; 122c328666dSNeil Armstrong }; 123c328666dSNeil Armstrong }; 124c328666dSNeil Armstrong 125cd13d5f1SChristian Hewitt thermal-zones { 126cd13d5f1SChristian Hewitt cpu-thermal { 127cd13d5f1SChristian Hewitt polling-delay-passive = <250>; /* milliseconds */ 128cd13d5f1SChristian Hewitt polling-delay = <1000>; /* milliseconds */ 129cd13d5f1SChristian Hewitt 130cd13d5f1SChristian Hewitt thermal-sensors = <&scpi_sensors 0>; 131cd13d5f1SChristian Hewitt 132cd13d5f1SChristian Hewitt trips { 133cd13d5f1SChristian Hewitt cpu_passive: cpu-passive { 134cd13d5f1SChristian Hewitt temperature = <80000>; /* millicelsius */ 135cd13d5f1SChristian Hewitt hysteresis = <2000>; /* millicelsius */ 136cd13d5f1SChristian Hewitt type = "passive"; 137cd13d5f1SChristian Hewitt }; 138cd13d5f1SChristian Hewitt 139cd13d5f1SChristian Hewitt cpu_hot: cpu-hot { 140cd13d5f1SChristian Hewitt temperature = <90000>; /* millicelsius */ 141cd13d5f1SChristian Hewitt hysteresis = <2000>; /* millicelsius */ 142cd13d5f1SChristian Hewitt type = "hot"; 143cd13d5f1SChristian Hewitt }; 144cd13d5f1SChristian Hewitt 145cd13d5f1SChristian Hewitt cpu_critical: cpu-critical { 146cd13d5f1SChristian Hewitt temperature = <110000>; /* millicelsius */ 147cd13d5f1SChristian Hewitt hysteresis = <2000>; /* millicelsius */ 148cd13d5f1SChristian Hewitt type = "critical"; 149cd13d5f1SChristian Hewitt }; 150cd13d5f1SChristian Hewitt }; 151cd13d5f1SChristian Hewitt 152cd13d5f1SChristian Hewitt cpu_cooling_maps: cooling-maps { 153cd13d5f1SChristian Hewitt map0 { 154cd13d5f1SChristian Hewitt trip = <&cpu_passive>; 155cd13d5f1SChristian Hewitt cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 156cd13d5f1SChristian Hewitt <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 157cd13d5f1SChristian Hewitt <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 158cd13d5f1SChristian Hewitt <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 159cd13d5f1SChristian Hewitt }; 160cd13d5f1SChristian Hewitt 161cd13d5f1SChristian Hewitt map1 { 162cd13d5f1SChristian Hewitt trip = <&cpu_hot>; 163cd13d5f1SChristian Hewitt cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 164cd13d5f1SChristian Hewitt <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 165cd13d5f1SChristian Hewitt <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 166cd13d5f1SChristian Hewitt <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 167cd13d5f1SChristian Hewitt }; 168cd13d5f1SChristian Hewitt }; 169cd13d5f1SChristian Hewitt }; 170cd13d5f1SChristian Hewitt }; 171cd13d5f1SChristian Hewitt 172c328666dSNeil Armstrong arm-pmu { 173c328666dSNeil Armstrong compatible = "arm,cortex-a53-pmu"; 174c328666dSNeil Armstrong interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>, 175c328666dSNeil Armstrong <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>, 176c328666dSNeil Armstrong <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>, 177c328666dSNeil Armstrong <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>; 178c328666dSNeil Armstrong interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 179c328666dSNeil Armstrong }; 180c328666dSNeil Armstrong 181c328666dSNeil Armstrong psci { 182c328666dSNeil Armstrong compatible = "arm,psci-0.2"; 183c328666dSNeil Armstrong method = "smc"; 184c328666dSNeil Armstrong }; 185c328666dSNeil Armstrong 186c328666dSNeil Armstrong timer { 187c328666dSNeil Armstrong compatible = "arm,armv8-timer"; 188c328666dSNeil Armstrong interrupts = <GIC_PPI 13 189c328666dSNeil Armstrong (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>, 190c328666dSNeil Armstrong <GIC_PPI 14 191c328666dSNeil Armstrong (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>, 192c328666dSNeil Armstrong <GIC_PPI 11 193c328666dSNeil Armstrong (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>, 194c328666dSNeil Armstrong <GIC_PPI 10 195c328666dSNeil Armstrong (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>; 196c328666dSNeil Armstrong }; 197c328666dSNeil Armstrong 198c328666dSNeil Armstrong xtal: xtal-clk { 199c328666dSNeil Armstrong compatible = "fixed-clock"; 200c328666dSNeil Armstrong clock-frequency = <24000000>; 201c328666dSNeil Armstrong clock-output-names = "xtal"; 202c328666dSNeil Armstrong #clock-cells = <0>; 203c328666dSNeil Armstrong }; 204c328666dSNeil Armstrong 205998a9c8aSNeil Armstrong firmware { 206998a9c8aSNeil Armstrong sm: secure-monitor { 207998a9c8aSNeil Armstrong compatible = "amlogic,meson-gx-sm", "amlogic,meson-gxbb-sm"; 208998a9c8aSNeil Armstrong }; 209998a9c8aSNeil Armstrong }; 210998a9c8aSNeil Armstrong 211998a9c8aSNeil Armstrong efuse: efuse { 212998a9c8aSNeil Armstrong compatible = "amlogic,meson-gx-efuse", "amlogic,meson-gxbb-efuse"; 213998a9c8aSNeil Armstrong #address-cells = <1>; 214998a9c8aSNeil Armstrong #size-cells = <1>; 215c339f0e2SJerome Brunet read-only; 216de82e74aSCarlo Caione secure-monitor = <&sm>; 217998a9c8aSNeil Armstrong 218998a9c8aSNeil Armstrong sn: sn@14 { 219998a9c8aSNeil Armstrong reg = <0x14 0x10>; 220998a9c8aSNeil Armstrong }; 221998a9c8aSNeil Armstrong 222998a9c8aSNeil Armstrong eth_mac: eth_mac@34 { 223998a9c8aSNeil Armstrong reg = <0x34 0x10>; 224998a9c8aSNeil Armstrong }; 225998a9c8aSNeil Armstrong 226998a9c8aSNeil Armstrong bid: bid@46 { 227998a9c8aSNeil Armstrong reg = <0x46 0x30>; 228998a9c8aSNeil Armstrong }; 229998a9c8aSNeil Armstrong }; 230998a9c8aSNeil Armstrong 23147961f13SMartin Blumenstingl scpi { 23247961f13SMartin Blumenstingl compatible = "amlogic,meson-gxbb-scpi", "arm,scpi-pre-1.0"; 23347961f13SMartin Blumenstingl mboxes = <&mailbox 1 &mailbox 2>; 23447961f13SMartin Blumenstingl shmem = <&cpu_scp_lpri &cpu_scp_hpri>; 23547961f13SMartin Blumenstingl 23647961f13SMartin Blumenstingl scpi_clocks: clocks { 23747961f13SMartin Blumenstingl compatible = "arm,scpi-clocks"; 23847961f13SMartin Blumenstingl 23947961f13SMartin Blumenstingl scpi_dvfs: scpi_clocks@0 { 24047961f13SMartin Blumenstingl compatible = "arm,scpi-dvfs-clocks"; 24147961f13SMartin Blumenstingl #clock-cells = <1>; 24247961f13SMartin Blumenstingl clock-indices = <0>; 24347961f13SMartin Blumenstingl clock-output-names = "vcpu"; 24447961f13SMartin Blumenstingl }; 24547961f13SMartin Blumenstingl }; 24647961f13SMartin Blumenstingl 24747961f13SMartin Blumenstingl scpi_sensors: sensors { 2485f3195ecSCarlo Caione compatible = "amlogic,meson-gxbb-scpi-sensors", "arm,scpi-sensors"; 24947961f13SMartin Blumenstingl #thermal-sensor-cells = <1>; 25047961f13SMartin Blumenstingl }; 25147961f13SMartin Blumenstingl }; 25247961f13SMartin Blumenstingl 253c328666dSNeil Armstrong soc { 254c328666dSNeil Armstrong compatible = "simple-bus"; 255c328666dSNeil Armstrong #address-cells = <2>; 256c328666dSNeil Armstrong #size-cells = <2>; 257c328666dSNeil Armstrong ranges; 258c328666dSNeil Armstrong 2590cb6c604SKevin Hilman cbus: bus@c1100000 { 260c328666dSNeil Armstrong compatible = "simple-bus"; 261c328666dSNeil Armstrong reg = <0x0 0xc1100000 0x0 0x100000>; 262c328666dSNeil Armstrong #address-cells = <2>; 263c328666dSNeil Armstrong #size-cells = <2>; 264c328666dSNeil Armstrong ranges = <0x0 0x0 0x0 0xc1100000 0x0 0x100000>; 265c328666dSNeil Armstrong 2669dbb56eaSJerome Brunet gpio_intc: interrupt-controller@9880 { 2679dbb56eaSJerome Brunet compatible = "amlogic,meson-gpio-intc"; 2689dbb56eaSJerome Brunet reg = <0x0 0x9880 0x0 0x10>; 2699dbb56eaSJerome Brunet interrupt-controller; 2709dbb56eaSJerome Brunet #interrupt-cells = <2>; 2719dbb56eaSJerome Brunet amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>; 2729dbb56eaSJerome Brunet status = "disabled"; 2739dbb56eaSJerome Brunet }; 2749dbb56eaSJerome Brunet 275998a9c8aSNeil Armstrong reset: reset-controller@4404 { 2769632691eSNeil Armstrong compatible = "amlogic,meson-gxbb-reset"; 2771eb09198SNeil Armstrong reg = <0x0 0x04404 0x0 0x9c>; 278998a9c8aSNeil Armstrong #reset-cells = <1>; 279998a9c8aSNeil Armstrong }; 280998a9c8aSNeil Armstrong 2814cc1b265SJerome Brunet aiu: audio-controller@5400 { 2824cc1b265SJerome Brunet compatible = "amlogic,aiu"; 2834cc1b265SJerome Brunet #sound-dai-cells = <2>; 2844cc1b265SJerome Brunet sound-name-prefix = "AIU"; 2854cc1b265SJerome Brunet reg = <0x0 0x5400 0x0 0x2ac>; 2864cc1b265SJerome Brunet interrupts = <GIC_SPI 48 IRQ_TYPE_EDGE_RISING>, 2874cc1b265SJerome Brunet <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>; 2884cc1b265SJerome Brunet interrupt-names = "i2s", "spdif"; 2894cc1b265SJerome Brunet status = "disabled"; 2904cc1b265SJerome Brunet }; 2914cc1b265SJerome Brunet 292c328666dSNeil Armstrong uart_A: serial@84c0 { 293a87f854dSNeil Armstrong compatible = "amlogic,meson-gx-uart"; 29477f5cdbdSYixun Lan reg = <0x0 0x84c0 0x0 0x18>; 295c328666dSNeil Armstrong interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>; 296c328666dSNeil Armstrong status = "disabled"; 297c328666dSNeil Armstrong }; 298998a9c8aSNeil Armstrong 299998a9c8aSNeil Armstrong uart_B: serial@84dc { 300a87f854dSNeil Armstrong compatible = "amlogic,meson-gx-uart"; 30177f5cdbdSYixun Lan reg = <0x0 0x84dc 0x0 0x18>; 302998a9c8aSNeil Armstrong interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>; 303998a9c8aSNeil Armstrong status = "disabled"; 304998a9c8aSNeil Armstrong }; 305998a9c8aSNeil Armstrong 306998a9c8aSNeil Armstrong i2c_A: i2c@8500 { 30787297878SNeil Armstrong compatible = "amlogic,meson-gxbb-i2c"; 308998a9c8aSNeil Armstrong reg = <0x0 0x08500 0x0 0x20>; 309998a9c8aSNeil Armstrong interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>; 310998a9c8aSNeil Armstrong #address-cells = <1>; 311998a9c8aSNeil Armstrong #size-cells = <0>; 312998a9c8aSNeil Armstrong status = "disabled"; 313998a9c8aSNeil Armstrong }; 314998a9c8aSNeil Armstrong 315998a9c8aSNeil Armstrong pwm_ab: pwm@8550 { 316998a9c8aSNeil Armstrong compatible = "amlogic,meson-gx-pwm", "amlogic,meson-gxbb-pwm"; 317998a9c8aSNeil Armstrong reg = <0x0 0x08550 0x0 0x10>; 318998a9c8aSNeil Armstrong #pwm-cells = <3>; 319998a9c8aSNeil Armstrong status = "disabled"; 320998a9c8aSNeil Armstrong }; 321998a9c8aSNeil Armstrong 322998a9c8aSNeil Armstrong pwm_cd: pwm@8650 { 323998a9c8aSNeil Armstrong compatible = "amlogic,meson-gx-pwm", "amlogic,meson-gxbb-pwm"; 324998a9c8aSNeil Armstrong reg = <0x0 0x08650 0x0 0x10>; 325998a9c8aSNeil Armstrong #pwm-cells = <3>; 326998a9c8aSNeil Armstrong status = "disabled"; 327998a9c8aSNeil Armstrong }; 328998a9c8aSNeil Armstrong 329bd80ef5eSMartin Blumenstingl saradc: adc@8680 { 330bd80ef5eSMartin Blumenstingl compatible = "amlogic,meson-saradc"; 331bd80ef5eSMartin Blumenstingl reg = <0x0 0x8680 0x0 0x34>; 332bd80ef5eSMartin Blumenstingl #io-channel-cells = <1>; 333bd80ef5eSMartin Blumenstingl interrupts = <GIC_SPI 73 IRQ_TYPE_EDGE_RISING>; 334bd80ef5eSMartin Blumenstingl status = "disabled"; 335bd80ef5eSMartin Blumenstingl }; 336bd80ef5eSMartin Blumenstingl 337998a9c8aSNeil Armstrong pwm_ef: pwm@86c0 { 338998a9c8aSNeil Armstrong compatible = "amlogic,meson-gx-pwm", "amlogic,meson-gxbb-pwm"; 339998a9c8aSNeil Armstrong reg = <0x0 0x086c0 0x0 0x10>; 340998a9c8aSNeil Armstrong #pwm-cells = <3>; 341998a9c8aSNeil Armstrong status = "disabled"; 342998a9c8aSNeil Armstrong }; 343998a9c8aSNeil Armstrong 344998a9c8aSNeil Armstrong uart_C: serial@8700 { 345a87f854dSNeil Armstrong compatible = "amlogic,meson-gx-uart"; 34677f5cdbdSYixun Lan reg = <0x0 0x8700 0x0 0x18>; 347998a9c8aSNeil Armstrong interrupts = <GIC_SPI 93 IRQ_TYPE_EDGE_RISING>; 348998a9c8aSNeil Armstrong status = "disabled"; 349998a9c8aSNeil Armstrong }; 350998a9c8aSNeil Armstrong 3515e339a1dSNeil Armstrong clock-measure@8758 { 3525e339a1dSNeil Armstrong compatible = "amlogic,meson-gx-clk-measure"; 3535e339a1dSNeil Armstrong reg = <0x0 0x8758 0x0 0x10>; 3545e339a1dSNeil Armstrong }; 3555e339a1dSNeil Armstrong 356998a9c8aSNeil Armstrong i2c_B: i2c@87c0 { 35787297878SNeil Armstrong compatible = "amlogic,meson-gxbb-i2c"; 358998a9c8aSNeil Armstrong reg = <0x0 0x087c0 0x0 0x20>; 359998a9c8aSNeil Armstrong interrupts = <GIC_SPI 214 IRQ_TYPE_EDGE_RISING>; 360998a9c8aSNeil Armstrong #address-cells = <1>; 361998a9c8aSNeil Armstrong #size-cells = <0>; 362998a9c8aSNeil Armstrong status = "disabled"; 363998a9c8aSNeil Armstrong }; 364998a9c8aSNeil Armstrong 365998a9c8aSNeil Armstrong i2c_C: i2c@87e0 { 36687297878SNeil Armstrong compatible = "amlogic,meson-gxbb-i2c"; 367998a9c8aSNeil Armstrong reg = <0x0 0x087e0 0x0 0x20>; 368998a9c8aSNeil Armstrong interrupts = <GIC_SPI 215 IRQ_TYPE_EDGE_RISING>; 369998a9c8aSNeil Armstrong #address-cells = <1>; 370998a9c8aSNeil Armstrong #size-cells = <0>; 371998a9c8aSNeil Armstrong status = "disabled"; 372998a9c8aSNeil Armstrong }; 373998a9c8aSNeil Armstrong 374fa808631SNeil Armstrong spicc: spi@8d80 { 375fa808631SNeil Armstrong compatible = "amlogic,meson-gx-spicc"; 376fa808631SNeil Armstrong reg = <0x0 0x08d80 0x0 0x80>; 377fa808631SNeil Armstrong interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 378fa808631SNeil Armstrong #address-cells = <1>; 379fa808631SNeil Armstrong #size-cells = <0>; 380fa808631SNeil Armstrong status = "disabled"; 381fa808631SNeil Armstrong }; 382fa808631SNeil Armstrong 38304b36df4SNeil Armstrong spifc: spi@8c80 { 384599bfd51SNeil Armstrong compatible = "amlogic,meson-gxbb-spifc"; 38504b36df4SNeil Armstrong reg = <0x0 0x08c80 0x0 0x80>; 38604b36df4SNeil Armstrong #address-cells = <1>; 38704b36df4SNeil Armstrong #size-cells = <0>; 38804b36df4SNeil Armstrong status = "disabled"; 38904b36df4SNeil Armstrong }; 39004b36df4SNeil Armstrong 391998a9c8aSNeil Armstrong watchdog@98d0 { 39203c76b81SNeil Armstrong compatible = "amlogic,meson-gxbb-wdt"; 393998a9c8aSNeil Armstrong reg = <0x0 0x098d0 0x0 0x10>; 394998a9c8aSNeil Armstrong clocks = <&xtal>; 395998a9c8aSNeil Armstrong }; 396c328666dSNeil Armstrong }; 397c328666dSNeil Armstrong 398c328666dSNeil Armstrong gic: interrupt-controller@c4301000 { 399c328666dSNeil Armstrong compatible = "arm,gic-400"; 400c328666dSNeil Armstrong reg = <0x0 0xc4301000 0 0x1000>, 401c328666dSNeil Armstrong <0x0 0xc4302000 0 0x2000>, 402c328666dSNeil Armstrong <0x0 0xc4304000 0 0x2000>, 403c328666dSNeil Armstrong <0x0 0xc4306000 0 0x2000>; 404c328666dSNeil Armstrong interrupt-controller; 405c328666dSNeil Armstrong interrupts = <GIC_PPI 9 406c328666dSNeil Armstrong (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>; 407c328666dSNeil Armstrong #interrupt-cells = <3>; 408c328666dSNeil Armstrong #address-cells = <0>; 409c328666dSNeil Armstrong }; 410c328666dSNeil Armstrong 41147961f13SMartin Blumenstingl sram: sram@c8000000 { 4129ecded10SNeil Armstrong compatible = "mmio-sram"; 41347961f13SMartin Blumenstingl reg = <0x0 0xc8000000 0x0 0x14000>; 41447961f13SMartin Blumenstingl 41547961f13SMartin Blumenstingl #address-cells = <1>; 41647961f13SMartin Blumenstingl #size-cells = <1>; 41747961f13SMartin Blumenstingl ranges = <0 0x0 0xc8000000 0x14000>; 41847961f13SMartin Blumenstingl 4199ecded10SNeil Armstrong cpu_scp_lpri: scp-sram@0 { 4209ecded10SNeil Armstrong compatible = "amlogic,meson-gxbb-scp-shmem"; 42147961f13SMartin Blumenstingl reg = <0x13000 0x400>; 42247961f13SMartin Blumenstingl }; 42347961f13SMartin Blumenstingl 4249ecded10SNeil Armstrong cpu_scp_hpri: scp-sram@200 { 4259ecded10SNeil Armstrong compatible = "amlogic,meson-gxbb-scp-shmem"; 42647961f13SMartin Blumenstingl reg = <0x13400 0x400>; 42747961f13SMartin Blumenstingl }; 42847961f13SMartin Blumenstingl }; 42947961f13SMartin Blumenstingl 4300cb6c604SKevin Hilman aobus: bus@c8100000 { 431c328666dSNeil Armstrong compatible = "simple-bus"; 432c328666dSNeil Armstrong reg = <0x0 0xc8100000 0x0 0x100000>; 433c328666dSNeil Armstrong #address-cells = <2>; 434c328666dSNeil Armstrong #size-cells = <2>; 435c328666dSNeil Armstrong ranges = <0x0 0x0 0x0 0xc8100000 0x0 0x100000>; 436c328666dSNeil Armstrong 4377fd2c355SNeil Armstrong sysctrl_AO: sys-ctrl@0 { 438445f2bdaSNeil Armstrong compatible = "amlogic,meson-gx-ao-sysctrl", "simple-mfd", "syscon"; 4397fd2c355SNeil Armstrong reg = <0x0 0x0 0x0 0x100>; 4407fd2c355SNeil Armstrong 44174d1c6e9SNeil Armstrong pwrc_vpu: power-controller-vpu { 44274d1c6e9SNeil Armstrong compatible = "amlogic,meson-gx-pwrc-vpu"; 44374d1c6e9SNeil Armstrong #power-domain-cells = <0>; 44474d1c6e9SNeil Armstrong amlogic,hhi-sysctrl = <&sysctrl>; 44574d1c6e9SNeil Armstrong }; 44674d1c6e9SNeil Armstrong 4477fd2c355SNeil Armstrong clkc_AO: clock-controller { 4487fd2c355SNeil Armstrong compatible = "amlogic,meson-gx-aoclkc"; 44904b36df4SNeil Armstrong #clock-cells = <1>; 45004b36df4SNeil Armstrong #reset-cells = <1>; 45104b36df4SNeil Armstrong }; 4527fd2c355SNeil Armstrong }; 45304b36df4SNeil Armstrong 454b16c71c9SNeil Armstrong cec_AO: cec@100 { 455b16c71c9SNeil Armstrong compatible = "amlogic,meson-gx-ao-cec"; 456b16c71c9SNeil Armstrong reg = <0x0 0x00100 0x0 0x14>; 457b16c71c9SNeil Armstrong interrupts = <GIC_SPI 199 IRQ_TYPE_EDGE_RISING>; 458b485a6a4SNeil Armstrong status = "disabled"; 459b16c71c9SNeil Armstrong }; 460b16c71c9SNeil Armstrong 461c9fe1cfeSNeil Armstrong sec_AO: ao-secure@140 { 462c9fe1cfeSNeil Armstrong compatible = "amlogic,meson-gx-ao-secure", "syscon"; 463c9fe1cfeSNeil Armstrong reg = <0x0 0x140 0x0 0x140>; 464c9fe1cfeSNeil Armstrong amlogic,has-chip-id; 465c9fe1cfeSNeil Armstrong }; 466c9fe1cfeSNeil Armstrong 467c328666dSNeil Armstrong uart_AO: serial@4c0 { 468a87f854dSNeil Armstrong compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart"; 46977f5cdbdSYixun Lan reg = <0x0 0x004c0 0x0 0x18>; 470c328666dSNeil Armstrong interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>; 471c328666dSNeil Armstrong status = "disabled"; 472c328666dSNeil Armstrong }; 473998a9c8aSNeil Armstrong 474890a96a2SMartin Blumenstingl uart_AO_B: serial@4e0 { 475a87f854dSNeil Armstrong compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart"; 47677f5cdbdSYixun Lan reg = <0x0 0x004e0 0x0 0x18>; 477890a96a2SMartin Blumenstingl interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>; 478890a96a2SMartin Blumenstingl status = "disabled"; 479890a96a2SMartin Blumenstingl }; 480890a96a2SMartin Blumenstingl 48104b36df4SNeil Armstrong i2c_AO: i2c@500 { 48287297878SNeil Armstrong compatible = "amlogic,meson-gxbb-i2c"; 48304b36df4SNeil Armstrong reg = <0x0 0x500 0x0 0x20>; 48404b36df4SNeil Armstrong interrupts = <GIC_SPI 195 IRQ_TYPE_EDGE_RISING>; 48504b36df4SNeil Armstrong #address-cells = <1>; 48604b36df4SNeil Armstrong #size-cells = <0>; 48704b36df4SNeil Armstrong status = "disabled"; 48804b36df4SNeil Armstrong }; 48904b36df4SNeil Armstrong 490e4851224SMartin Blumenstingl pwm_AO_ab: pwm@550 { 4916620f146SJerome Brunet compatible = "amlogic,meson-gx-ao-pwm", "amlogic,meson-gxbb-ao-pwm"; 492e4851224SMartin Blumenstingl reg = <0x0 0x00550 0x0 0x10>; 493e4851224SMartin Blumenstingl #pwm-cells = <3>; 494e4851224SMartin Blumenstingl status = "disabled"; 495e4851224SMartin Blumenstingl }; 496e4851224SMartin Blumenstingl 497998a9c8aSNeil Armstrong ir: ir@580 { 498e19e64aaSNeil Armstrong compatible = "amlogic,meson-gx-ir", "amlogic,meson-gxbb-ir"; 499998a9c8aSNeil Armstrong reg = <0x0 0x00580 0x0 0x40>; 500998a9c8aSNeil Armstrong interrupts = <GIC_SPI 196 IRQ_TYPE_EDGE_RISING>; 501998a9c8aSNeil Armstrong status = "disabled"; 502998a9c8aSNeil Armstrong }; 503c328666dSNeil Armstrong }; 504c328666dSNeil Armstrong 5051f11d611SMaxime Jourdan vdec: video-codec@c8820000 { 5061f11d611SMaxime Jourdan compatible = "amlogic,gx-vdec"; 5071f11d611SMaxime Jourdan reg = <0x0 0xc8820000 0x0 0x10000>, 5081f11d611SMaxime Jourdan <0x0 0xc110a580 0x0 0xe4>; 5091f11d611SMaxime Jourdan reg-names = "dos", "esparser"; 5101f11d611SMaxime Jourdan 5111f11d611SMaxime Jourdan interrupts = <GIC_SPI 44 IRQ_TYPE_EDGE_RISING>, 5121f11d611SMaxime Jourdan <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>; 5131f11d611SMaxime Jourdan interrupt-names = "vdec", "esparser"; 5141f11d611SMaxime Jourdan 5151f11d611SMaxime Jourdan amlogic,ao-sysctrl = <&sysctrl_AO>; 5161f11d611SMaxime Jourdan amlogic,canvas = <&canvas>; 5171f11d611SMaxime Jourdan }; 5181f11d611SMaxime Jourdan 5192e36480cSNeil Armstrong periphs: bus@c8834000 { 520c328666dSNeil Armstrong compatible = "simple-bus"; 521c328666dSNeil Armstrong reg = <0x0 0xc8834000 0x0 0x2000>; 522c328666dSNeil Armstrong #address-cells = <2>; 523c328666dSNeil Armstrong #size-cells = <2>; 524c328666dSNeil Armstrong ranges = <0x0 0x0 0x0 0xc8834000 0x0 0x2000>; 525998a9c8aSNeil Armstrong 5261b3f6d14SHeiner Kallweit hwrng: rng { 527998a9c8aSNeil Armstrong compatible = "amlogic,meson-rng"; 528998a9c8aSNeil Armstrong reg = <0x0 0x0 0x0 0x4>; 529998a9c8aSNeil Armstrong }; 530c328666dSNeil Armstrong }; 531c328666dSNeil Armstrong 532f1726043SMaxime Jourdan dmcbus: bus@c8838000 { 533f1726043SMaxime Jourdan compatible = "simple-bus"; 534f1726043SMaxime Jourdan reg = <0x0 0xc8838000 0x0 0x400>; 535f1726043SMaxime Jourdan #address-cells = <2>; 536f1726043SMaxime Jourdan #size-cells = <2>; 537f1726043SMaxime Jourdan ranges = <0x0 0x0 0x0 0xc8838000 0x0 0x400>; 538f1726043SMaxime Jourdan 539f1726043SMaxime Jourdan canvas: video-lut@48 { 540f1726043SMaxime Jourdan compatible = "amlogic,canvas"; 541f1726043SMaxime Jourdan reg = <0x0 0x48 0x0 0x14>; 542f1726043SMaxime Jourdan }; 543f1726043SMaxime Jourdan }; 544f1726043SMaxime Jourdan 5450cb6c604SKevin Hilman hiubus: bus@c883c000 { 546c328666dSNeil Armstrong compatible = "simple-bus"; 547c328666dSNeil Armstrong reg = <0x0 0xc883c000 0x0 0x2000>; 548c328666dSNeil Armstrong #address-cells = <2>; 549c328666dSNeil Armstrong #size-cells = <2>; 550c328666dSNeil Armstrong ranges = <0x0 0x0 0x0 0xc883c000 0x0 0x2000>; 551998a9c8aSNeil Armstrong 55274d1c6e9SNeil Armstrong sysctrl: system-controller@0 { 553445f2bdaSNeil Armstrong compatible = "amlogic,meson-gx-hhi-sysctrl", "simple-mfd", "syscon"; 55474d1c6e9SNeil Armstrong reg = <0 0 0 0x400>; 55574d1c6e9SNeil Armstrong }; 55674d1c6e9SNeil Armstrong 557998a9c8aSNeil Armstrong mailbox: mailbox@404 { 55859d37010SNeil Armstrong compatible = "amlogic,meson-gxbb-mhu"; 559998a9c8aSNeil Armstrong reg = <0 0x404 0 0x4c>; 5605e3465f6SMartin Blumenstingl interrupts = <GIC_SPI 208 IRQ_TYPE_EDGE_RISING>, 5615e3465f6SMartin Blumenstingl <GIC_SPI 209 IRQ_TYPE_EDGE_RISING>, 5625e3465f6SMartin Blumenstingl <GIC_SPI 210 IRQ_TYPE_EDGE_RISING>; 563998a9c8aSNeil Armstrong #mbox-cells = <1>; 564998a9c8aSNeil Armstrong }; 565998a9c8aSNeil Armstrong }; 566998a9c8aSNeil Armstrong 567998a9c8aSNeil Armstrong ethmac: ethernet@c9410000 { 5689d63f5d1SJerome Brunet compatible = "amlogic,meson-gxbb-dwmac", 5699d63f5d1SJerome Brunet "snps,dwmac-3.70a", 5709d63f5d1SJerome Brunet "snps,dwmac"; 5713ad6c9e3SNeil Armstrong reg = <0x0 0xc9410000 0x0 0x10000>, 5723ad6c9e3SNeil Armstrong <0x0 0xc8834540 0x0 0x4>; 5738b3e6f89SCarlo Caione interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 574998a9c8aSNeil Armstrong interrupt-names = "macirq"; 575ef68984eSJerome Brunet rx-fifo-depth = <4096>; 576ef68984eSJerome Brunet tx-fifo-depth = <2048>; 577998a9c8aSNeil Armstrong status = "disabled"; 578c328666dSNeil Armstrong }; 579c328666dSNeil Armstrong 580c328666dSNeil Armstrong apb: apb@d0000000 { 581c328666dSNeil Armstrong compatible = "simple-bus"; 582c328666dSNeil Armstrong reg = <0x0 0xd0000000 0x0 0x200000>; 583c328666dSNeil Armstrong #address-cells = <2>; 584c328666dSNeil Armstrong #size-cells = <2>; 585c328666dSNeil Armstrong ranges = <0x0 0x0 0x0 0xd0000000 0x0 0x200000>; 586ef8d2ffeSKevin Hilman 587ef8d2ffeSKevin Hilman sd_emmc_a: mmc@70000 { 588ef8d2ffeSKevin Hilman compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc"; 589e490520cSKevin Hilman reg = <0x0 0x70000 0x0 0x800>; 590ef8d2ffeSKevin Hilman interrupts = <GIC_SPI 216 IRQ_TYPE_EDGE_RISING>; 591ef8d2ffeSKevin Hilman status = "disabled"; 592ef8d2ffeSKevin Hilman }; 593ef8d2ffeSKevin Hilman 594ef8d2ffeSKevin Hilman sd_emmc_b: mmc@72000 { 595ef8d2ffeSKevin Hilman compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc"; 596e490520cSKevin Hilman reg = <0x0 0x72000 0x0 0x800>; 597ef8d2ffeSKevin Hilman interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>; 598ef8d2ffeSKevin Hilman status = "disabled"; 599ef8d2ffeSKevin Hilman }; 600ef8d2ffeSKevin Hilman 601ef8d2ffeSKevin Hilman sd_emmc_c: mmc@74000 { 602ef8d2ffeSKevin Hilman compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc"; 603e490520cSKevin Hilman reg = <0x0 0x74000 0x0 0x800>; 604ef8d2ffeSKevin Hilman interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>; 605ef8d2ffeSKevin Hilman status = "disabled"; 606ef8d2ffeSKevin Hilman }; 607c328666dSNeil Armstrong }; 608fafdbdf7SNeil Armstrong 609fafdbdf7SNeil Armstrong vpu: vpu@d0100000 { 610fafdbdf7SNeil Armstrong compatible = "amlogic,meson-gx-vpu"; 611fafdbdf7SNeil Armstrong reg = <0x0 0xd0100000 0x0 0x100000>, 6125e975c5dSNeil Armstrong <0x0 0xc883c000 0x0 0x1000>; 6135e975c5dSNeil Armstrong reg-names = "vpu", "hhi"; 614fafdbdf7SNeil Armstrong interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>; 615fafdbdf7SNeil Armstrong #address-cells = <1>; 616fafdbdf7SNeil Armstrong #size-cells = <0>; 617cf342879SMaxime Jourdan amlogic,canvas = <&canvas>; 618fafdbdf7SNeil Armstrong 619fafdbdf7SNeil Armstrong /* CVBS VDAC output port */ 620fafdbdf7SNeil Armstrong cvbs_vdac_port: port@0 { 621fafdbdf7SNeil Armstrong reg = <0>; 622fafdbdf7SNeil Armstrong }; 6236939db7eSNeil Armstrong 6246939db7eSNeil Armstrong /* HDMI-TX output port */ 6256939db7eSNeil Armstrong hdmi_tx_port: port@1 { 6266939db7eSNeil Armstrong reg = <1>; 6276939db7eSNeil Armstrong 6286939db7eSNeil Armstrong hdmi_tx_out: endpoint { 6296939db7eSNeil Armstrong remote-endpoint = <&hdmi_tx_in>; 6306939db7eSNeil Armstrong }; 6316939db7eSNeil Armstrong }; 6326939db7eSNeil Armstrong }; 6336939db7eSNeil Armstrong 6346939db7eSNeil Armstrong hdmi_tx: hdmi-tx@c883a000 { 6356939db7eSNeil Armstrong compatible = "amlogic,meson-gx-dw-hdmi"; 6366939db7eSNeil Armstrong reg = <0x0 0xc883a000 0x0 0x1c>; 6376939db7eSNeil Armstrong interrupts = <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>; 6386939db7eSNeil Armstrong #address-cells = <1>; 6396939db7eSNeil Armstrong #size-cells = <0>; 6404cc1b265SJerome Brunet #sound-dai-cells = <0>; 6414cc1b265SJerome Brunet sound-name-prefix = "HDMITX"; 6426939db7eSNeil Armstrong status = "disabled"; 6436939db7eSNeil Armstrong 6446939db7eSNeil Armstrong /* VPU VENC Input */ 6456939db7eSNeil Armstrong hdmi_tx_venc_port: port@0 { 6466939db7eSNeil Armstrong reg = <0>; 6476939db7eSNeil Armstrong 6486939db7eSNeil Armstrong hdmi_tx_in: endpoint { 6496939db7eSNeil Armstrong remote-endpoint = <&hdmi_tx_out>; 6506939db7eSNeil Armstrong }; 6516939db7eSNeil Armstrong }; 6526939db7eSNeil Armstrong 6536939db7eSNeil Armstrong /* TMDS Output */ 6546939db7eSNeil Armstrong hdmi_tx_tmds_port: port@1 { 6556939db7eSNeil Armstrong reg = <1>; 6566939db7eSNeil Armstrong }; 657fafdbdf7SNeil Armstrong }; 658c328666dSNeil Armstrong }; 659c328666dSNeil Armstrong}; 660