1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 OR MIT 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * Copyright 2014 Carlo Caione <carlo@caione.org> 4*f126890aSEmmanuel Vadot */ 5*f126890aSEmmanuel Vadot 6*f126890aSEmmanuel Vadot#include <dt-bindings/clock/meson8-ddr-clkc.h> 7*f126890aSEmmanuel Vadot#include <dt-bindings/clock/meson8b-clkc.h> 8*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/meson8-gpio.h> 9*f126890aSEmmanuel Vadot#include <dt-bindings/power/meson8-power.h> 10*f126890aSEmmanuel Vadot#include <dt-bindings/reset/amlogic,meson8b-clkc-reset.h> 11*f126890aSEmmanuel Vadot#include <dt-bindings/reset/amlogic,meson8b-reset.h> 12*f126890aSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h> 13*f126890aSEmmanuel Vadot#include "meson.dtsi" 14*f126890aSEmmanuel Vadot 15*f126890aSEmmanuel Vadot/ { 16*f126890aSEmmanuel Vadot model = "Amlogic Meson8 SoC"; 17*f126890aSEmmanuel Vadot compatible = "amlogic,meson8"; 18*f126890aSEmmanuel Vadot 19*f126890aSEmmanuel Vadot cpus { 20*f126890aSEmmanuel Vadot #address-cells = <1>; 21*f126890aSEmmanuel Vadot #size-cells = <0>; 22*f126890aSEmmanuel Vadot 23*f126890aSEmmanuel Vadot cpu0: cpu@200 { 24*f126890aSEmmanuel Vadot device_type = "cpu"; 25*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 26*f126890aSEmmanuel Vadot next-level-cache = <&L2>; 27*f126890aSEmmanuel Vadot reg = <0x200>; 28*f126890aSEmmanuel Vadot enable-method = "amlogic,meson8-smp"; 29*f126890aSEmmanuel Vadot resets = <&clkc CLKC_RESET_CPU0_SOFT_RESET>; 30*f126890aSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 31*f126890aSEmmanuel Vadot clocks = <&clkc CLKID_CPUCLK>; 32*f126890aSEmmanuel Vadot #cooling-cells = <2>; /* min followed by max */ 33*f126890aSEmmanuel Vadot }; 34*f126890aSEmmanuel Vadot 35*f126890aSEmmanuel Vadot cpu1: cpu@201 { 36*f126890aSEmmanuel Vadot device_type = "cpu"; 37*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 38*f126890aSEmmanuel Vadot next-level-cache = <&L2>; 39*f126890aSEmmanuel Vadot reg = <0x201>; 40*f126890aSEmmanuel Vadot enable-method = "amlogic,meson8-smp"; 41*f126890aSEmmanuel Vadot resets = <&clkc CLKC_RESET_CPU1_SOFT_RESET>; 42*f126890aSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 43*f126890aSEmmanuel Vadot clocks = <&clkc CLKID_CPUCLK>; 44*f126890aSEmmanuel Vadot #cooling-cells = <2>; /* min followed by max */ 45*f126890aSEmmanuel Vadot }; 46*f126890aSEmmanuel Vadot 47*f126890aSEmmanuel Vadot cpu2: cpu@202 { 48*f126890aSEmmanuel Vadot device_type = "cpu"; 49*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 50*f126890aSEmmanuel Vadot next-level-cache = <&L2>; 51*f126890aSEmmanuel Vadot reg = <0x202>; 52*f126890aSEmmanuel Vadot enable-method = "amlogic,meson8-smp"; 53*f126890aSEmmanuel Vadot resets = <&clkc CLKC_RESET_CPU2_SOFT_RESET>; 54*f126890aSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 55*f126890aSEmmanuel Vadot clocks = <&clkc CLKID_CPUCLK>; 56*f126890aSEmmanuel Vadot #cooling-cells = <2>; /* min followed by max */ 57*f126890aSEmmanuel Vadot }; 58*f126890aSEmmanuel Vadot 59*f126890aSEmmanuel Vadot cpu3: cpu@203 { 60*f126890aSEmmanuel Vadot device_type = "cpu"; 61*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 62*f126890aSEmmanuel Vadot next-level-cache = <&L2>; 63*f126890aSEmmanuel Vadot reg = <0x203>; 64*f126890aSEmmanuel Vadot enable-method = "amlogic,meson8-smp"; 65*f126890aSEmmanuel Vadot resets = <&clkc CLKC_RESET_CPU3_SOFT_RESET>; 66*f126890aSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 67*f126890aSEmmanuel Vadot clocks = <&clkc CLKID_CPUCLK>; 68*f126890aSEmmanuel Vadot #cooling-cells = <2>; /* min followed by max */ 69*f126890aSEmmanuel Vadot }; 70*f126890aSEmmanuel Vadot }; 71*f126890aSEmmanuel Vadot 72*f126890aSEmmanuel Vadot cpu_opp_table: opp-table { 73*f126890aSEmmanuel Vadot compatible = "operating-points-v2"; 74*f126890aSEmmanuel Vadot opp-shared; 75*f126890aSEmmanuel Vadot 76*f126890aSEmmanuel Vadot opp-96000000 { 77*f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <96000000>; 78*f126890aSEmmanuel Vadot opp-microvolt = <825000>; 79*f126890aSEmmanuel Vadot }; 80*f126890aSEmmanuel Vadot opp-192000000 { 81*f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <192000000>; 82*f126890aSEmmanuel Vadot opp-microvolt = <825000>; 83*f126890aSEmmanuel Vadot }; 84*f126890aSEmmanuel Vadot opp-312000000 { 85*f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <312000000>; 86*f126890aSEmmanuel Vadot opp-microvolt = <825000>; 87*f126890aSEmmanuel Vadot }; 88*f126890aSEmmanuel Vadot opp-408000000 { 89*f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <408000000>; 90*f126890aSEmmanuel Vadot opp-microvolt = <825000>; 91*f126890aSEmmanuel Vadot }; 92*f126890aSEmmanuel Vadot opp-504000000 { 93*f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <504000000>; 94*f126890aSEmmanuel Vadot opp-microvolt = <825000>; 95*f126890aSEmmanuel Vadot }; 96*f126890aSEmmanuel Vadot opp-600000000 { 97*f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <600000000>; 98*f126890aSEmmanuel Vadot opp-microvolt = <850000>; 99*f126890aSEmmanuel Vadot }; 100*f126890aSEmmanuel Vadot opp-720000000 { 101*f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <720000000>; 102*f126890aSEmmanuel Vadot opp-microvolt = <850000>; 103*f126890aSEmmanuel Vadot }; 104*f126890aSEmmanuel Vadot opp-816000000 { 105*f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <816000000>; 106*f126890aSEmmanuel Vadot opp-microvolt = <875000>; 107*f126890aSEmmanuel Vadot }; 108*f126890aSEmmanuel Vadot opp-1008000000 { 109*f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <1008000000>; 110*f126890aSEmmanuel Vadot opp-microvolt = <925000>; 111*f126890aSEmmanuel Vadot }; 112*f126890aSEmmanuel Vadot opp-1200000000 { 113*f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <1200000000>; 114*f126890aSEmmanuel Vadot opp-microvolt = <975000>; 115*f126890aSEmmanuel Vadot }; 116*f126890aSEmmanuel Vadot opp-1416000000 { 117*f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <1416000000>; 118*f126890aSEmmanuel Vadot opp-microvolt = <1025000>; 119*f126890aSEmmanuel Vadot }; 120*f126890aSEmmanuel Vadot opp-1608000000 { 121*f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <1608000000>; 122*f126890aSEmmanuel Vadot opp-microvolt = <1100000>; 123*f126890aSEmmanuel Vadot }; 124*f126890aSEmmanuel Vadot opp-1800000000 { 125*f126890aSEmmanuel Vadot status = "disabled"; 126*f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <1800000000>; 127*f126890aSEmmanuel Vadot opp-microvolt = <1125000>; 128*f126890aSEmmanuel Vadot }; 129*f126890aSEmmanuel Vadot opp-1992000000 { 130*f126890aSEmmanuel Vadot status = "disabled"; 131*f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <1992000000>; 132*f126890aSEmmanuel Vadot opp-microvolt = <1150000>; 133*f126890aSEmmanuel Vadot }; 134*f126890aSEmmanuel Vadot }; 135*f126890aSEmmanuel Vadot 136*f126890aSEmmanuel Vadot gpu_opp_table: opp-table-gpu { 137*f126890aSEmmanuel Vadot compatible = "operating-points-v2"; 138*f126890aSEmmanuel Vadot 139*f126890aSEmmanuel Vadot opp-182142857 { 140*f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <182142857>; 141*f126890aSEmmanuel Vadot opp-microvolt = <1150000>; 142*f126890aSEmmanuel Vadot }; 143*f126890aSEmmanuel Vadot opp-318750000 { 144*f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <318750000>; 145*f126890aSEmmanuel Vadot opp-microvolt = <1150000>; 146*f126890aSEmmanuel Vadot }; 147*f126890aSEmmanuel Vadot opp-425000000 { 148*f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <425000000>; 149*f126890aSEmmanuel Vadot opp-microvolt = <1150000>; 150*f126890aSEmmanuel Vadot }; 151*f126890aSEmmanuel Vadot opp-510000000 { 152*f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <510000000>; 153*f126890aSEmmanuel Vadot opp-microvolt = <1150000>; 154*f126890aSEmmanuel Vadot }; 155*f126890aSEmmanuel Vadot opp-637500000 { 156*f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <637500000>; 157*f126890aSEmmanuel Vadot opp-microvolt = <1150000>; 158*f126890aSEmmanuel Vadot turbo-mode; 159*f126890aSEmmanuel Vadot }; 160*f126890aSEmmanuel Vadot }; 161*f126890aSEmmanuel Vadot 162*f126890aSEmmanuel Vadot pmu { 163*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-pmu"; 164*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>, 165*f126890aSEmmanuel Vadot <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>, 166*f126890aSEmmanuel Vadot <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>, 167*f126890aSEmmanuel Vadot <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>; 168*f126890aSEmmanuel Vadot interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 169*f126890aSEmmanuel Vadot }; 170*f126890aSEmmanuel Vadot 171*f126890aSEmmanuel Vadot reserved-memory { 172*f126890aSEmmanuel Vadot #address-cells = <1>; 173*f126890aSEmmanuel Vadot #size-cells = <1>; 174*f126890aSEmmanuel Vadot ranges; 175*f126890aSEmmanuel Vadot 176*f126890aSEmmanuel Vadot /* 2 MiB reserved for Hardware ROM Firmware? */ 177*f126890aSEmmanuel Vadot hwrom@0 { 178*f126890aSEmmanuel Vadot reg = <0x0 0x200000>; 179*f126890aSEmmanuel Vadot no-map; 180*f126890aSEmmanuel Vadot }; 181*f126890aSEmmanuel Vadot 182*f126890aSEmmanuel Vadot /* 183*f126890aSEmmanuel Vadot * 1 MiB reserved for the "ARM Power Firmware": this is ARM 184*f126890aSEmmanuel Vadot * code which is responsible for system suspend. It loads a 185*f126890aSEmmanuel Vadot * piece of ARC code ("arc_power" in the vendor u-boot tree) 186*f126890aSEmmanuel Vadot * into SRAM, executes that and shuts down the (last) ARM core. 187*f126890aSEmmanuel Vadot * The arc_power firmware then checks various wakeup sources 188*f126890aSEmmanuel Vadot * (IR remote receiver, HDMI CEC, WIFI and Bluetooth wakeup or 189*f126890aSEmmanuel Vadot * simply the power key) and re-starts the ARM core once it 190*f126890aSEmmanuel Vadot * detects a wakeup request. 191*f126890aSEmmanuel Vadot */ 192*f126890aSEmmanuel Vadot power-firmware@4f00000 { 193*f126890aSEmmanuel Vadot reg = <0x4f00000 0x100000>; 194*f126890aSEmmanuel Vadot no-map; 195*f126890aSEmmanuel Vadot }; 196*f126890aSEmmanuel Vadot }; 197*f126890aSEmmanuel Vadot 198*f126890aSEmmanuel Vadot thermal-zones { 199*f126890aSEmmanuel Vadot soc { 200*f126890aSEmmanuel Vadot polling-delay-passive = <250>; /* milliseconds */ 201*f126890aSEmmanuel Vadot polling-delay = <1000>; /* milliseconds */ 202*f126890aSEmmanuel Vadot thermal-sensors = <&thermal_sensor>; 203*f126890aSEmmanuel Vadot 204*f126890aSEmmanuel Vadot cooling-maps { 205*f126890aSEmmanuel Vadot map0 { 206*f126890aSEmmanuel Vadot trip = <&soc_passive>; 207*f126890aSEmmanuel Vadot cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 208*f126890aSEmmanuel Vadot <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 209*f126890aSEmmanuel Vadot <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 210*f126890aSEmmanuel Vadot <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 211*f126890aSEmmanuel Vadot <&mali THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 212*f126890aSEmmanuel Vadot }; 213*f126890aSEmmanuel Vadot 214*f126890aSEmmanuel Vadot map1 { 215*f126890aSEmmanuel Vadot trip = <&soc_hot>; 216*f126890aSEmmanuel Vadot cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 217*f126890aSEmmanuel Vadot <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 218*f126890aSEmmanuel Vadot <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 219*f126890aSEmmanuel Vadot <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 220*f126890aSEmmanuel Vadot <&mali THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 221*f126890aSEmmanuel Vadot }; 222*f126890aSEmmanuel Vadot }; 223*f126890aSEmmanuel Vadot 224*f126890aSEmmanuel Vadot trips { 225*f126890aSEmmanuel Vadot soc_passive: soc-passive { 226*f126890aSEmmanuel Vadot temperature = <80000>; /* millicelsius */ 227*f126890aSEmmanuel Vadot hysteresis = <2000>; /* millicelsius */ 228*f126890aSEmmanuel Vadot type = "passive"; 229*f126890aSEmmanuel Vadot }; 230*f126890aSEmmanuel Vadot 231*f126890aSEmmanuel Vadot soc_hot: soc-hot { 232*f126890aSEmmanuel Vadot temperature = <90000>; /* millicelsius */ 233*f126890aSEmmanuel Vadot hysteresis = <2000>; /* millicelsius */ 234*f126890aSEmmanuel Vadot type = "hot"; 235*f126890aSEmmanuel Vadot }; 236*f126890aSEmmanuel Vadot 237*f126890aSEmmanuel Vadot soc_critical: soc-critical { 238*f126890aSEmmanuel Vadot temperature = <110000>; /* millicelsius */ 239*f126890aSEmmanuel Vadot hysteresis = <2000>; /* millicelsius */ 240*f126890aSEmmanuel Vadot type = "critical"; 241*f126890aSEmmanuel Vadot }; 242*f126890aSEmmanuel Vadot }; 243*f126890aSEmmanuel Vadot }; 244*f126890aSEmmanuel Vadot }; 245*f126890aSEmmanuel Vadot 246*f126890aSEmmanuel Vadot mmcbus: bus@c8000000 { 247*f126890aSEmmanuel Vadot compatible = "simple-bus"; 248*f126890aSEmmanuel Vadot reg = <0xc8000000 0x8000>; 249*f126890aSEmmanuel Vadot #address-cells = <1>; 250*f126890aSEmmanuel Vadot #size-cells = <1>; 251*f126890aSEmmanuel Vadot ranges = <0x0 0xc8000000 0x8000>; 252*f126890aSEmmanuel Vadot 253*f126890aSEmmanuel Vadot ddr_clkc: clock-controller@400 { 254*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-ddr-clkc"; 255*f126890aSEmmanuel Vadot reg = <0x400 0x20>; 256*f126890aSEmmanuel Vadot clocks = <&xtal>; 257*f126890aSEmmanuel Vadot clock-names = "xtal"; 258*f126890aSEmmanuel Vadot #clock-cells = <1>; 259*f126890aSEmmanuel Vadot }; 260*f126890aSEmmanuel Vadot 261*f126890aSEmmanuel Vadot dmcbus: bus@6000 { 262*f126890aSEmmanuel Vadot compatible = "simple-bus"; 263*f126890aSEmmanuel Vadot reg = <0x6000 0x400>; 264*f126890aSEmmanuel Vadot #address-cells = <1>; 265*f126890aSEmmanuel Vadot #size-cells = <1>; 266*f126890aSEmmanuel Vadot ranges = <0x0 0x6000 0x400>; 267*f126890aSEmmanuel Vadot 268*f126890aSEmmanuel Vadot canvas: video-lut@20 { 269*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-canvas", 270*f126890aSEmmanuel Vadot "amlogic,canvas"; 271*f126890aSEmmanuel Vadot reg = <0x20 0x14>; 272*f126890aSEmmanuel Vadot }; 273*f126890aSEmmanuel Vadot }; 274*f126890aSEmmanuel Vadot }; 275*f126890aSEmmanuel Vadot 276*f126890aSEmmanuel Vadot apb: bus@d0000000 { 277*f126890aSEmmanuel Vadot compatible = "simple-bus"; 278*f126890aSEmmanuel Vadot reg = <0xd0000000 0x200000>; 279*f126890aSEmmanuel Vadot #address-cells = <1>; 280*f126890aSEmmanuel Vadot #size-cells = <1>; 281*f126890aSEmmanuel Vadot ranges = <0x0 0xd0000000 0x200000>; 282*f126890aSEmmanuel Vadot 283*f126890aSEmmanuel Vadot mali: gpu@c0000 { 284*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-mali", "arm,mali-450"; 285*f126890aSEmmanuel Vadot reg = <0xc0000 0x40000>; 286*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>, 287*f126890aSEmmanuel Vadot <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>, 288*f126890aSEmmanuel Vadot <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>, 289*f126890aSEmmanuel Vadot <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>, 290*f126890aSEmmanuel Vadot <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>, 291*f126890aSEmmanuel Vadot <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>, 292*f126890aSEmmanuel Vadot <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>, 293*f126890aSEmmanuel Vadot <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>, 294*f126890aSEmmanuel Vadot <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>, 295*f126890aSEmmanuel Vadot <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>, 296*f126890aSEmmanuel Vadot <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>, 297*f126890aSEmmanuel Vadot <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>, 298*f126890aSEmmanuel Vadot <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>, 299*f126890aSEmmanuel Vadot <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>, 300*f126890aSEmmanuel Vadot <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>, 301*f126890aSEmmanuel Vadot <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; 302*f126890aSEmmanuel Vadot interrupt-names = "gp", "gpmmu", "pp", "pmu", 303*f126890aSEmmanuel Vadot "pp0", "ppmmu0", "pp1", "ppmmu1", 304*f126890aSEmmanuel Vadot "pp2", "ppmmu2", "pp4", "ppmmu4", 305*f126890aSEmmanuel Vadot "pp5", "ppmmu5", "pp6", "ppmmu6"; 306*f126890aSEmmanuel Vadot resets = <&reset RESET_MALI>; 307*f126890aSEmmanuel Vadot 308*f126890aSEmmanuel Vadot clocks = <&clkc CLKID_CLK81>, <&clkc CLKID_MALI>; 309*f126890aSEmmanuel Vadot clock-names = "bus", "core"; 310*f126890aSEmmanuel Vadot 311*f126890aSEmmanuel Vadot assigned-clocks = <&clkc CLKID_MALI>; 312*f126890aSEmmanuel Vadot assigned-clock-rates = <318750000>; 313*f126890aSEmmanuel Vadot 314*f126890aSEmmanuel Vadot operating-points-v2 = <&gpu_opp_table>; 315*f126890aSEmmanuel Vadot #cooling-cells = <2>; /* min followed by max */ 316*f126890aSEmmanuel Vadot }; 317*f126890aSEmmanuel Vadot }; 318*f126890aSEmmanuel Vadot}; /* end of / */ 319*f126890aSEmmanuel Vadot 320*f126890aSEmmanuel Vadot&aiu { 321*f126890aSEmmanuel Vadot compatible = "amlogic,aiu-meson8", "amlogic,aiu"; 322*f126890aSEmmanuel Vadot clocks = <&clkc CLKID_AIU_GLUE>, 323*f126890aSEmmanuel Vadot <&clkc CLKID_I2S_OUT>, 324*f126890aSEmmanuel Vadot <&clkc CLKID_AOCLK_GATE>, 325*f126890aSEmmanuel Vadot <&clkc CLKID_CTS_AMCLK>, 326*f126890aSEmmanuel Vadot <&clkc CLKID_MIXER_IFACE>, 327*f126890aSEmmanuel Vadot <&clkc CLKID_IEC958>, 328*f126890aSEmmanuel Vadot <&clkc CLKID_IEC958_GATE>, 329*f126890aSEmmanuel Vadot <&clkc CLKID_CTS_MCLK_I958>, 330*f126890aSEmmanuel Vadot <&clkc CLKID_CTS_I958>; 331*f126890aSEmmanuel Vadot clock-names = "pclk", 332*f126890aSEmmanuel Vadot "i2s_pclk", 333*f126890aSEmmanuel Vadot "i2s_aoclk", 334*f126890aSEmmanuel Vadot "i2s_mclk", 335*f126890aSEmmanuel Vadot "i2s_mixer", 336*f126890aSEmmanuel Vadot "spdif_pclk", 337*f126890aSEmmanuel Vadot "spdif_aoclk", 338*f126890aSEmmanuel Vadot "spdif_mclk", 339*f126890aSEmmanuel Vadot "spdif_mclk_sel"; 340*f126890aSEmmanuel Vadot resets = <&reset RESET_AIU>; 341*f126890aSEmmanuel Vadot}; 342*f126890aSEmmanuel Vadot 343*f126890aSEmmanuel Vadot&aobus { 344*f126890aSEmmanuel Vadot pmu: pmu@e0 { 345*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-pmu", "syscon"; 346*f126890aSEmmanuel Vadot reg = <0xe0 0x18>; 347*f126890aSEmmanuel Vadot }; 348*f126890aSEmmanuel Vadot 349*f126890aSEmmanuel Vadot pinctrl_aobus: pinctrl@84 { 350*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-aobus-pinctrl"; 351*f126890aSEmmanuel Vadot reg = <0x84 0xc>; 352*f126890aSEmmanuel Vadot #address-cells = <1>; 353*f126890aSEmmanuel Vadot #size-cells = <1>; 354*f126890aSEmmanuel Vadot ranges; 355*f126890aSEmmanuel Vadot 356*f126890aSEmmanuel Vadot gpio_ao: ao-bank@14 { 357*f126890aSEmmanuel Vadot reg = <0x14 0x4>, 358*f126890aSEmmanuel Vadot <0x2c 0x4>, 359*f126890aSEmmanuel Vadot <0x24 0x8>; 360*f126890aSEmmanuel Vadot reg-names = "mux", "pull", "gpio"; 361*f126890aSEmmanuel Vadot gpio-controller; 362*f126890aSEmmanuel Vadot #gpio-cells = <2>; 363*f126890aSEmmanuel Vadot gpio-ranges = <&pinctrl_aobus 0 0 16>; 364*f126890aSEmmanuel Vadot }; 365*f126890aSEmmanuel Vadot 366*f126890aSEmmanuel Vadot i2s_am_clk_pins: i2s-am-clk-out { 367*f126890aSEmmanuel Vadot mux { 368*f126890aSEmmanuel Vadot groups = "i2s_am_clk_out_ao"; 369*f126890aSEmmanuel Vadot function = "i2s_ao"; 370*f126890aSEmmanuel Vadot bias-disable; 371*f126890aSEmmanuel Vadot }; 372*f126890aSEmmanuel Vadot }; 373*f126890aSEmmanuel Vadot 374*f126890aSEmmanuel Vadot i2s_out_ao_clk_pins: i2s-ao-clk-out { 375*f126890aSEmmanuel Vadot mux { 376*f126890aSEmmanuel Vadot groups = "i2s_ao_clk_out_ao"; 377*f126890aSEmmanuel Vadot function = "i2s_ao"; 378*f126890aSEmmanuel Vadot bias-disable; 379*f126890aSEmmanuel Vadot }; 380*f126890aSEmmanuel Vadot }; 381*f126890aSEmmanuel Vadot 382*f126890aSEmmanuel Vadot i2s_out_lr_clk_pins: i2s-lr-clk-out { 383*f126890aSEmmanuel Vadot mux { 384*f126890aSEmmanuel Vadot groups = "i2s_lr_clk_out_ao"; 385*f126890aSEmmanuel Vadot function = "i2s_ao"; 386*f126890aSEmmanuel Vadot bias-disable; 387*f126890aSEmmanuel Vadot }; 388*f126890aSEmmanuel Vadot }; 389*f126890aSEmmanuel Vadot 390*f126890aSEmmanuel Vadot i2s_out_ch01_ao_pins: i2s-out-ch01 { 391*f126890aSEmmanuel Vadot mux { 392*f126890aSEmmanuel Vadot groups = "i2s_out_ch01_ao"; 393*f126890aSEmmanuel Vadot function = "i2s_ao"; 394*f126890aSEmmanuel Vadot bias-disable; 395*f126890aSEmmanuel Vadot }; 396*f126890aSEmmanuel Vadot }; 397*f126890aSEmmanuel Vadot 398*f126890aSEmmanuel Vadot uart_ao_a_pins: uart_ao_a { 399*f126890aSEmmanuel Vadot mux { 400*f126890aSEmmanuel Vadot groups = "uart_tx_ao_a", "uart_rx_ao_a"; 401*f126890aSEmmanuel Vadot function = "uart_ao"; 402*f126890aSEmmanuel Vadot bias-disable; 403*f126890aSEmmanuel Vadot }; 404*f126890aSEmmanuel Vadot }; 405*f126890aSEmmanuel Vadot 406*f126890aSEmmanuel Vadot i2c_ao_pins: i2c_mst_ao { 407*f126890aSEmmanuel Vadot mux { 408*f126890aSEmmanuel Vadot groups = "i2c_mst_sck_ao", "i2c_mst_sda_ao"; 409*f126890aSEmmanuel Vadot function = "i2c_mst_ao"; 410*f126890aSEmmanuel Vadot bias-disable; 411*f126890aSEmmanuel Vadot }; 412*f126890aSEmmanuel Vadot }; 413*f126890aSEmmanuel Vadot 414*f126890aSEmmanuel Vadot ir_recv_pins: remote { 415*f126890aSEmmanuel Vadot mux { 416*f126890aSEmmanuel Vadot groups = "remote_input"; 417*f126890aSEmmanuel Vadot function = "remote"; 418*f126890aSEmmanuel Vadot bias-disable; 419*f126890aSEmmanuel Vadot }; 420*f126890aSEmmanuel Vadot }; 421*f126890aSEmmanuel Vadot 422*f126890aSEmmanuel Vadot pwm_f_ao_pins: pwm-f-ao { 423*f126890aSEmmanuel Vadot mux { 424*f126890aSEmmanuel Vadot groups = "pwm_f_ao"; 425*f126890aSEmmanuel Vadot function = "pwm_f_ao"; 426*f126890aSEmmanuel Vadot bias-disable; 427*f126890aSEmmanuel Vadot }; 428*f126890aSEmmanuel Vadot }; 429*f126890aSEmmanuel Vadot }; 430*f126890aSEmmanuel Vadot}; 431*f126890aSEmmanuel Vadot 432*f126890aSEmmanuel Vadot&ao_arc_rproc { 433*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-ao-arc", "amlogic,meson-mx-ao-arc"; 434*f126890aSEmmanuel Vadot amlogic,secbus2 = <&secbus2>; 435*f126890aSEmmanuel Vadot sram = <&ao_arc_sram>; 436*f126890aSEmmanuel Vadot resets = <&reset RESET_MEDIA_CPU>; 437*f126890aSEmmanuel Vadot clocks = <&clkc CLKID_AO_MEDIA_CPU>; 438*f126890aSEmmanuel Vadot}; 439*f126890aSEmmanuel Vadot 440*f126890aSEmmanuel Vadot&cbus { 441*f126890aSEmmanuel Vadot reset: reset-controller@4404 { 442*f126890aSEmmanuel Vadot compatible = "amlogic,meson8b-reset"; 443*f126890aSEmmanuel Vadot reg = <0x4404 0x9c>; 444*f126890aSEmmanuel Vadot #reset-cells = <1>; 445*f126890aSEmmanuel Vadot }; 446*f126890aSEmmanuel Vadot 447*f126890aSEmmanuel Vadot analog_top: analog-top@81a8 { 448*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-analog-top", "syscon"; 449*f126890aSEmmanuel Vadot reg = <0x81a8 0x14>; 450*f126890aSEmmanuel Vadot }; 451*f126890aSEmmanuel Vadot 452*f126890aSEmmanuel Vadot pwm_ef: pwm@86c0 { 453*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-pwm", "amlogic,meson8b-pwm"; 454*f126890aSEmmanuel Vadot reg = <0x86c0 0x10>; 455*f126890aSEmmanuel Vadot #pwm-cells = <3>; 456*f126890aSEmmanuel Vadot status = "disabled"; 457*f126890aSEmmanuel Vadot }; 458*f126890aSEmmanuel Vadot 459*f126890aSEmmanuel Vadot clock-measure@8758 { 460*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-clk-measure"; 461*f126890aSEmmanuel Vadot reg = <0x8758 0x1c>; 462*f126890aSEmmanuel Vadot }; 463*f126890aSEmmanuel Vadot 464*f126890aSEmmanuel Vadot pinctrl_cbus: pinctrl@9880 { 465*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-cbus-pinctrl"; 466*f126890aSEmmanuel Vadot reg = <0x9880 0x10>; 467*f126890aSEmmanuel Vadot #address-cells = <1>; 468*f126890aSEmmanuel Vadot #size-cells = <1>; 469*f126890aSEmmanuel Vadot ranges; 470*f126890aSEmmanuel Vadot 471*f126890aSEmmanuel Vadot gpio: banks@80b0 { 472*f126890aSEmmanuel Vadot reg = <0x80b0 0x28>, 473*f126890aSEmmanuel Vadot <0x80e8 0x18>, 474*f126890aSEmmanuel Vadot <0x8120 0x18>, 475*f126890aSEmmanuel Vadot <0x8030 0x30>; 476*f126890aSEmmanuel Vadot reg-names = "mux", "pull", "pull-enable", "gpio"; 477*f126890aSEmmanuel Vadot gpio-controller; 478*f126890aSEmmanuel Vadot #gpio-cells = <2>; 479*f126890aSEmmanuel Vadot gpio-ranges = <&pinctrl_cbus 0 0 120>; 480*f126890aSEmmanuel Vadot }; 481*f126890aSEmmanuel Vadot 482*f126890aSEmmanuel Vadot sd_a_pins: sd-a { 483*f126890aSEmmanuel Vadot mux { 484*f126890aSEmmanuel Vadot groups = "sd_d0_a", "sd_d1_a", "sd_d2_a", 485*f126890aSEmmanuel Vadot "sd_d3_a", "sd_clk_a", "sd_cmd_a"; 486*f126890aSEmmanuel Vadot function = "sd_a"; 487*f126890aSEmmanuel Vadot bias-disable; 488*f126890aSEmmanuel Vadot }; 489*f126890aSEmmanuel Vadot }; 490*f126890aSEmmanuel Vadot 491*f126890aSEmmanuel Vadot sd_b_pins: sd-b { 492*f126890aSEmmanuel Vadot mux { 493*f126890aSEmmanuel Vadot groups = "sd_d0_b", "sd_d1_b", "sd_d2_b", 494*f126890aSEmmanuel Vadot "sd_d3_b", "sd_clk_b", "sd_cmd_b"; 495*f126890aSEmmanuel Vadot function = "sd_b"; 496*f126890aSEmmanuel Vadot bias-disable; 497*f126890aSEmmanuel Vadot }; 498*f126890aSEmmanuel Vadot }; 499*f126890aSEmmanuel Vadot 500*f126890aSEmmanuel Vadot sd_c_pins: sd-c { 501*f126890aSEmmanuel Vadot mux { 502*f126890aSEmmanuel Vadot groups = "sd_d0_c", "sd_d1_c", "sd_d2_c", 503*f126890aSEmmanuel Vadot "sd_d3_c", "sd_clk_c", "sd_cmd_c"; 504*f126890aSEmmanuel Vadot function = "sd_c"; 505*f126890aSEmmanuel Vadot bias-disable; 506*f126890aSEmmanuel Vadot }; 507*f126890aSEmmanuel Vadot }; 508*f126890aSEmmanuel Vadot 509*f126890aSEmmanuel Vadot sdxc_a_pins: sdxc-a { 510*f126890aSEmmanuel Vadot mux { 511*f126890aSEmmanuel Vadot groups = "sdxc_d0_a", "sdxc_d13_a", 512*f126890aSEmmanuel Vadot "sdxc_clk_a", "sdxc_cmd_a"; 513*f126890aSEmmanuel Vadot function = "sdxc_a"; 514*f126890aSEmmanuel Vadot bias-pull-up; 515*f126890aSEmmanuel Vadot }; 516*f126890aSEmmanuel Vadot }; 517*f126890aSEmmanuel Vadot 518*f126890aSEmmanuel Vadot sdxc_b_pins: sdxc-b { 519*f126890aSEmmanuel Vadot mux { 520*f126890aSEmmanuel Vadot groups = "sdxc_d0_b", "sdxc_d13_b", 521*f126890aSEmmanuel Vadot "sdxc_clk_b", "sdxc_cmd_b"; 522*f126890aSEmmanuel Vadot function = "sdxc_b"; 523*f126890aSEmmanuel Vadot bias-pull-up; 524*f126890aSEmmanuel Vadot }; 525*f126890aSEmmanuel Vadot }; 526*f126890aSEmmanuel Vadot 527*f126890aSEmmanuel Vadot spdif_out_pins: spdif-out { 528*f126890aSEmmanuel Vadot mux { 529*f126890aSEmmanuel Vadot groups = "spdif_out"; 530*f126890aSEmmanuel Vadot function = "spdif"; 531*f126890aSEmmanuel Vadot bias-disable; 532*f126890aSEmmanuel Vadot }; 533*f126890aSEmmanuel Vadot }; 534*f126890aSEmmanuel Vadot 535*f126890aSEmmanuel Vadot spi_nor_pins: nor { 536*f126890aSEmmanuel Vadot mux { 537*f126890aSEmmanuel Vadot groups = "nor_d", "nor_q", "nor_c", "nor_cs"; 538*f126890aSEmmanuel Vadot function = "nor"; 539*f126890aSEmmanuel Vadot bias-disable; 540*f126890aSEmmanuel Vadot }; 541*f126890aSEmmanuel Vadot }; 542*f126890aSEmmanuel Vadot 543*f126890aSEmmanuel Vadot eth_pins: ethernet { 544*f126890aSEmmanuel Vadot mux { 545*f126890aSEmmanuel Vadot groups = "eth_tx_clk_50m", "eth_tx_en", 546*f126890aSEmmanuel Vadot "eth_txd1", "eth_txd0", 547*f126890aSEmmanuel Vadot "eth_rx_clk_in", "eth_rx_dv", 548*f126890aSEmmanuel Vadot "eth_rxd1", "eth_rxd0", "eth_mdio", 549*f126890aSEmmanuel Vadot "eth_mdc"; 550*f126890aSEmmanuel Vadot function = "ethernet"; 551*f126890aSEmmanuel Vadot bias-disable; 552*f126890aSEmmanuel Vadot }; 553*f126890aSEmmanuel Vadot }; 554*f126890aSEmmanuel Vadot 555*f126890aSEmmanuel Vadot pwm_e_pins: pwm-e { 556*f126890aSEmmanuel Vadot mux { 557*f126890aSEmmanuel Vadot groups = "pwm_e"; 558*f126890aSEmmanuel Vadot function = "pwm_e"; 559*f126890aSEmmanuel Vadot bias-disable; 560*f126890aSEmmanuel Vadot }; 561*f126890aSEmmanuel Vadot }; 562*f126890aSEmmanuel Vadot 563*f126890aSEmmanuel Vadot uart_a1_pins: uart-a1 { 564*f126890aSEmmanuel Vadot mux { 565*f126890aSEmmanuel Vadot groups = "uart_tx_a1", 566*f126890aSEmmanuel Vadot "uart_rx_a1"; 567*f126890aSEmmanuel Vadot function = "uart_a"; 568*f126890aSEmmanuel Vadot bias-disable; 569*f126890aSEmmanuel Vadot }; 570*f126890aSEmmanuel Vadot }; 571*f126890aSEmmanuel Vadot 572*f126890aSEmmanuel Vadot uart_a1_cts_rts_pins: uart-a1-cts-rts { 573*f126890aSEmmanuel Vadot mux { 574*f126890aSEmmanuel Vadot groups = "uart_cts_a1", 575*f126890aSEmmanuel Vadot "uart_rts_a1"; 576*f126890aSEmmanuel Vadot function = "uart_a"; 577*f126890aSEmmanuel Vadot bias-disable; 578*f126890aSEmmanuel Vadot }; 579*f126890aSEmmanuel Vadot }; 580*f126890aSEmmanuel Vadot 581*f126890aSEmmanuel Vadot xtal_32k_out_pins: xtal-32k-out { 582*f126890aSEmmanuel Vadot mux { 583*f126890aSEmmanuel Vadot groups = "xtal_32k_out"; 584*f126890aSEmmanuel Vadot function = "xtal"; 585*f126890aSEmmanuel Vadot bias-disable; 586*f126890aSEmmanuel Vadot }; 587*f126890aSEmmanuel Vadot }; 588*f126890aSEmmanuel Vadot }; 589*f126890aSEmmanuel Vadot}; 590*f126890aSEmmanuel Vadot 591*f126890aSEmmanuel Vadot&ahb_sram { 592*f126890aSEmmanuel Vadot ao_arc_sram: ao-arc-sram@0 { 593*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-ao-arc-sram"; 594*f126890aSEmmanuel Vadot reg = <0x0 0x8000>; 595*f126890aSEmmanuel Vadot pool; 596*f126890aSEmmanuel Vadot }; 597*f126890aSEmmanuel Vadot 598*f126890aSEmmanuel Vadot smp-sram@1ff80 { 599*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-smp-sram"; 600*f126890aSEmmanuel Vadot reg = <0x1ff80 0x8>; 601*f126890aSEmmanuel Vadot }; 602*f126890aSEmmanuel Vadot}; 603*f126890aSEmmanuel Vadot 604*f126890aSEmmanuel Vadot&efuse { 605*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-efuse"; 606*f126890aSEmmanuel Vadot clocks = <&clkc CLKID_EFUSE>; 607*f126890aSEmmanuel Vadot clock-names = "core"; 608*f126890aSEmmanuel Vadot 609*f126890aSEmmanuel Vadot temperature_calib: calib@1f4 { 610*f126890aSEmmanuel Vadot /* only the upper two bytes are relevant */ 611*f126890aSEmmanuel Vadot reg = <0x1f4 0x4>; 612*f126890aSEmmanuel Vadot }; 613*f126890aSEmmanuel Vadot}; 614*f126890aSEmmanuel Vadot 615*f126890aSEmmanuel Vadotðmac { 616*f126890aSEmmanuel Vadot clocks = <&clkc CLKID_ETH>; 617*f126890aSEmmanuel Vadot clock-names = "stmmaceth"; 618*f126890aSEmmanuel Vadot 619*f126890aSEmmanuel Vadot power-domains = <&pwrc PWRC_MESON8_ETHERNET_MEM_ID>; 620*f126890aSEmmanuel Vadot}; 621*f126890aSEmmanuel Vadot 622*f126890aSEmmanuel Vadot&gpio_intc { 623*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-gpio-intc", "amlogic,meson-gpio-intc"; 624*f126890aSEmmanuel Vadot status = "okay"; 625*f126890aSEmmanuel Vadot}; 626*f126890aSEmmanuel Vadot 627*f126890aSEmmanuel Vadot&hhi { 628*f126890aSEmmanuel Vadot clkc: clock-controller { 629*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-clkc"; 630*f126890aSEmmanuel Vadot clocks = <&xtal>, <&ddr_clkc DDR_CLKID_DDR_PLL>; 631*f126890aSEmmanuel Vadot clock-names = "xtal", "ddr_pll"; 632*f126890aSEmmanuel Vadot #clock-cells = <1>; 633*f126890aSEmmanuel Vadot #reset-cells = <1>; 634*f126890aSEmmanuel Vadot }; 635*f126890aSEmmanuel Vadot 636*f126890aSEmmanuel Vadot pwrc: power-controller { 637*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-pwrc"; 638*f126890aSEmmanuel Vadot #power-domain-cells = <1>; 639*f126890aSEmmanuel Vadot amlogic,ao-sysctrl = <&pmu>; 640*f126890aSEmmanuel Vadot clocks = <&clkc CLKID_VPU>; 641*f126890aSEmmanuel Vadot clock-names = "vpu"; 642*f126890aSEmmanuel Vadot assigned-clocks = <&clkc CLKID_VPU>; 643*f126890aSEmmanuel Vadot assigned-clock-rates = <364285714>; 644*f126890aSEmmanuel Vadot }; 645*f126890aSEmmanuel Vadot}; 646*f126890aSEmmanuel Vadot 647*f126890aSEmmanuel Vadot&hwrng { 648*f126890aSEmmanuel Vadot clocks = <&clkc CLKID_RNG0>; 649*f126890aSEmmanuel Vadot clock-names = "core"; 650*f126890aSEmmanuel Vadot}; 651*f126890aSEmmanuel Vadot 652*f126890aSEmmanuel Vadot&i2c_AO { 653*f126890aSEmmanuel Vadot clocks = <&clkc CLKID_CLK81>; 654*f126890aSEmmanuel Vadot}; 655*f126890aSEmmanuel Vadot 656*f126890aSEmmanuel Vadot&i2c_A { 657*f126890aSEmmanuel Vadot clocks = <&clkc CLKID_CLK81>; 658*f126890aSEmmanuel Vadot}; 659*f126890aSEmmanuel Vadot 660*f126890aSEmmanuel Vadot&i2c_B { 661*f126890aSEmmanuel Vadot clocks = <&clkc CLKID_CLK81>; 662*f126890aSEmmanuel Vadot}; 663*f126890aSEmmanuel Vadot 664*f126890aSEmmanuel Vadot&L2 { 665*f126890aSEmmanuel Vadot arm,data-latency = <3 3 3>; 666*f126890aSEmmanuel Vadot arm,tag-latency = <2 2 2>; 667*f126890aSEmmanuel Vadot arm,filter-ranges = <0x100000 0xc0000000>; 668*f126890aSEmmanuel Vadot prefetch-data = <1>; 669*f126890aSEmmanuel Vadot prefetch-instr = <1>; 670*f126890aSEmmanuel Vadot arm,prefetch-offset = <7>; 671*f126890aSEmmanuel Vadot arm,double-linefill = <1>; 672*f126890aSEmmanuel Vadot arm,prefetch-drop = <1>; 673*f126890aSEmmanuel Vadot arm,shared-override; 674*f126890aSEmmanuel Vadot}; 675*f126890aSEmmanuel Vadot 676*f126890aSEmmanuel Vadot&periph { 677*f126890aSEmmanuel Vadot scu@0 { 678*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-scu"; 679*f126890aSEmmanuel Vadot reg = <0x0 0x100>; 680*f126890aSEmmanuel Vadot }; 681*f126890aSEmmanuel Vadot 682*f126890aSEmmanuel Vadot timer@200 { 683*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-global-timer"; 684*f126890aSEmmanuel Vadot reg = <0x200 0x20>; 685*f126890aSEmmanuel Vadot interrupts = <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; 686*f126890aSEmmanuel Vadot clocks = <&clkc CLKID_PERIPH>; 687*f126890aSEmmanuel Vadot 688*f126890aSEmmanuel Vadot /* 689*f126890aSEmmanuel Vadot * the arm_global_timer driver currently does not handle clock 690*f126890aSEmmanuel Vadot * rate changes. Keep it disabled for now. 691*f126890aSEmmanuel Vadot */ 692*f126890aSEmmanuel Vadot status = "disabled"; 693*f126890aSEmmanuel Vadot }; 694*f126890aSEmmanuel Vadot 695*f126890aSEmmanuel Vadot timer@600 { 696*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-twd-timer"; 697*f126890aSEmmanuel Vadot reg = <0x600 0x20>; 698*f126890aSEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; 699*f126890aSEmmanuel Vadot clocks = <&clkc CLKID_PERIPH>; 700*f126890aSEmmanuel Vadot }; 701*f126890aSEmmanuel Vadot}; 702*f126890aSEmmanuel Vadot 703*f126890aSEmmanuel Vadot&pwm_ab { 704*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-pwm", "amlogic,meson8b-pwm"; 705*f126890aSEmmanuel Vadot}; 706*f126890aSEmmanuel Vadot 707*f126890aSEmmanuel Vadot&pwm_cd { 708*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-pwm", "amlogic,meson8b-pwm"; 709*f126890aSEmmanuel Vadot}; 710*f126890aSEmmanuel Vadot 711*f126890aSEmmanuel Vadot&rtc { 712*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-rtc"; 713*f126890aSEmmanuel Vadot resets = <&reset RESET_RTC>; 714*f126890aSEmmanuel Vadot}; 715*f126890aSEmmanuel Vadot 716*f126890aSEmmanuel Vadot&saradc { 717*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-saradc", "amlogic,meson-saradc"; 718*f126890aSEmmanuel Vadot clocks = <&xtal>, <&clkc CLKID_SAR_ADC>; 719*f126890aSEmmanuel Vadot clock-names = "clkin", "core"; 720*f126890aSEmmanuel Vadot amlogic,hhi-sysctrl = <&hhi>; 721*f126890aSEmmanuel Vadot nvmem-cells = <&temperature_calib>; 722*f126890aSEmmanuel Vadot nvmem-cell-names = "temperature_calib"; 723*f126890aSEmmanuel Vadot}; 724*f126890aSEmmanuel Vadot 725*f126890aSEmmanuel Vadot&sdhc { 726*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-sdhc", "amlogic,meson-mx-sdhc"; 727*f126890aSEmmanuel Vadot clocks = <&xtal>, 728*f126890aSEmmanuel Vadot <&clkc CLKID_FCLK_DIV4>, 729*f126890aSEmmanuel Vadot <&clkc CLKID_FCLK_DIV3>, 730*f126890aSEmmanuel Vadot <&clkc CLKID_FCLK_DIV5>, 731*f126890aSEmmanuel Vadot <&clkc CLKID_SDHC>; 732*f126890aSEmmanuel Vadot clock-names = "clkin0", "clkin1", "clkin2", "clkin3", "pclk"; 733*f126890aSEmmanuel Vadot}; 734*f126890aSEmmanuel Vadot 735*f126890aSEmmanuel Vadot&secbus { 736*f126890aSEmmanuel Vadot secbus2: system-controller@4000 { 737*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-secbus2", "syscon"; 738*f126890aSEmmanuel Vadot reg = <0x4000 0x2000>; 739*f126890aSEmmanuel Vadot }; 740*f126890aSEmmanuel Vadot}; 741*f126890aSEmmanuel Vadot 742*f126890aSEmmanuel Vadot&sdio { 743*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-sdio", "amlogic,meson-mx-sdio"; 744*f126890aSEmmanuel Vadot clocks = <&clkc CLKID_SDIO>, <&clkc CLKID_CLK81>; 745*f126890aSEmmanuel Vadot clock-names = "core", "clkin"; 746*f126890aSEmmanuel Vadot}; 747*f126890aSEmmanuel Vadot 748*f126890aSEmmanuel Vadot&spifc { 749*f126890aSEmmanuel Vadot clocks = <&clkc CLKID_CLK81>; 750*f126890aSEmmanuel Vadot}; 751*f126890aSEmmanuel Vadot 752*f126890aSEmmanuel Vadot&timer_abcde { 753*f126890aSEmmanuel Vadot clocks = <&xtal>, <&clkc CLKID_CLK81>; 754*f126890aSEmmanuel Vadot clock-names = "xtal", "pclk"; 755*f126890aSEmmanuel Vadot}; 756*f126890aSEmmanuel Vadot 757*f126890aSEmmanuel Vadot&uart_AO { 758*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-uart", "amlogic,meson-ao-uart"; 759*f126890aSEmmanuel Vadot clocks = <&xtal>, <&clkc CLKID_CLK81>, <&clkc CLKID_CLK81>; 760*f126890aSEmmanuel Vadot clock-names = "xtal", "pclk", "baud"; 761*f126890aSEmmanuel Vadot}; 762*f126890aSEmmanuel Vadot 763*f126890aSEmmanuel Vadot&uart_A { 764*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-uart"; 765*f126890aSEmmanuel Vadot clocks = <&xtal>, <&clkc CLKID_UART0>, <&clkc CLKID_CLK81>; 766*f126890aSEmmanuel Vadot clock-names = "xtal", "pclk", "baud"; 767*f126890aSEmmanuel Vadot}; 768*f126890aSEmmanuel Vadot 769*f126890aSEmmanuel Vadot&uart_B { 770*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-uart"; 771*f126890aSEmmanuel Vadot clocks = <&xtal>, <&clkc CLKID_UART1>, <&clkc CLKID_CLK81>; 772*f126890aSEmmanuel Vadot clock-names = "xtal", "pclk", "baud"; 773*f126890aSEmmanuel Vadot}; 774*f126890aSEmmanuel Vadot 775*f126890aSEmmanuel Vadot&uart_C { 776*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-uart"; 777*f126890aSEmmanuel Vadot clocks = <&xtal>, <&clkc CLKID_UART2>, <&clkc CLKID_CLK81>; 778*f126890aSEmmanuel Vadot clock-names = "xtal", "pclk", "baud"; 779*f126890aSEmmanuel Vadot}; 780*f126890aSEmmanuel Vadot 781*f126890aSEmmanuel Vadot&usb0 { 782*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-usb", "snps,dwc2"; 783*f126890aSEmmanuel Vadot clocks = <&clkc CLKID_USB0_DDR_BRIDGE>; 784*f126890aSEmmanuel Vadot clock-names = "otg"; 785*f126890aSEmmanuel Vadot}; 786*f126890aSEmmanuel Vadot 787*f126890aSEmmanuel Vadot&usb1 { 788*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-usb", "snps,dwc2"; 789*f126890aSEmmanuel Vadot clocks = <&clkc CLKID_USB1_DDR_BRIDGE>; 790*f126890aSEmmanuel Vadot clock-names = "otg"; 791*f126890aSEmmanuel Vadot}; 792*f126890aSEmmanuel Vadot 793*f126890aSEmmanuel Vadot&usb0_phy { 794*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-usb2-phy", "amlogic,meson-mx-usb2-phy"; 795*f126890aSEmmanuel Vadot clocks = <&clkc CLKID_USB>, <&clkc CLKID_USB0>; 796*f126890aSEmmanuel Vadot clock-names = "usb_general", "usb"; 797*f126890aSEmmanuel Vadot resets = <&reset RESET_USB_OTG>; 798*f126890aSEmmanuel Vadot}; 799*f126890aSEmmanuel Vadot 800*f126890aSEmmanuel Vadot&usb1_phy { 801*f126890aSEmmanuel Vadot compatible = "amlogic,meson8-usb2-phy", "amlogic,meson-mx-usb2-phy"; 802*f126890aSEmmanuel Vadot clocks = <&clkc CLKID_USB>, <&clkc CLKID_USB1>; 803*f126890aSEmmanuel Vadot clock-names = "usb_general", "usb"; 804*f126890aSEmmanuel Vadot resets = <&reset RESET_USB_OTG>; 805*f126890aSEmmanuel Vadot}; 806