1aa1a8ff2SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2aa1a8ff2SEmmanuel Vadot/* 3aa1a8ff2SEmmanuel Vadot * Copyright (c) 2019 Amlogic, Inc. All rights reserved. 4aa1a8ff2SEmmanuel Vadot */ 5aa1a8ff2SEmmanuel Vadot 6aa1a8ff2SEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 784943d6fSEmmanuel Vadot#include <dt-bindings/power/amlogic,t7-pwrc.h> 87d0873ebSEmmanuel Vadot#include "amlogic-t7-reset.h" 9aa1a8ff2SEmmanuel Vadot 10aa1a8ff2SEmmanuel Vadot/ { 11aa1a8ff2SEmmanuel Vadot interrupt-parent = <&gic>; 12aa1a8ff2SEmmanuel Vadot #address-cells = <2>; 13aa1a8ff2SEmmanuel Vadot #size-cells = <2>; 14aa1a8ff2SEmmanuel Vadot 15aa1a8ff2SEmmanuel Vadot cpus { 16aa1a8ff2SEmmanuel Vadot #address-cells = <0x2>; 17aa1a8ff2SEmmanuel Vadot #size-cells = <0x0>; 18aa1a8ff2SEmmanuel Vadot 19aa1a8ff2SEmmanuel Vadot cpu-map { 20aa1a8ff2SEmmanuel Vadot cluster0 { 21aa1a8ff2SEmmanuel Vadot core0 { 22aa1a8ff2SEmmanuel Vadot cpu = <&cpu100>; 23aa1a8ff2SEmmanuel Vadot }; 24aa1a8ff2SEmmanuel Vadot core1 { 25aa1a8ff2SEmmanuel Vadot cpu = <&cpu101>; 26aa1a8ff2SEmmanuel Vadot }; 27aa1a8ff2SEmmanuel Vadot core2 { 28aa1a8ff2SEmmanuel Vadot cpu = <&cpu102>; 29aa1a8ff2SEmmanuel Vadot }; 30aa1a8ff2SEmmanuel Vadot core3 { 31aa1a8ff2SEmmanuel Vadot cpu = <&cpu103>; 32aa1a8ff2SEmmanuel Vadot }; 33aa1a8ff2SEmmanuel Vadot }; 34aa1a8ff2SEmmanuel Vadot 35aa1a8ff2SEmmanuel Vadot cluster1 { 36aa1a8ff2SEmmanuel Vadot core0 { 37aa1a8ff2SEmmanuel Vadot cpu = <&cpu0>; 38aa1a8ff2SEmmanuel Vadot }; 39aa1a8ff2SEmmanuel Vadot core1 { 40aa1a8ff2SEmmanuel Vadot cpu = <&cpu1>; 41aa1a8ff2SEmmanuel Vadot }; 42aa1a8ff2SEmmanuel Vadot core2 { 43aa1a8ff2SEmmanuel Vadot cpu = <&cpu2>; 44aa1a8ff2SEmmanuel Vadot }; 45aa1a8ff2SEmmanuel Vadot core3 { 46aa1a8ff2SEmmanuel Vadot cpu = <&cpu3>; 47aa1a8ff2SEmmanuel Vadot }; 48aa1a8ff2SEmmanuel Vadot }; 49aa1a8ff2SEmmanuel Vadot }; 50aa1a8ff2SEmmanuel Vadot 51aa1a8ff2SEmmanuel Vadot cpu100: cpu@100 { 52aa1a8ff2SEmmanuel Vadot device_type = "cpu"; 53aa1a8ff2SEmmanuel Vadot compatible = "arm,cortex-a53"; 54aa1a8ff2SEmmanuel Vadot reg = <0x0 0x100>; 55aa1a8ff2SEmmanuel Vadot enable-method = "psci"; 56aa1a8ff2SEmmanuel Vadot }; 57aa1a8ff2SEmmanuel Vadot 58aa1a8ff2SEmmanuel Vadot cpu101: cpu@101 { 59aa1a8ff2SEmmanuel Vadot device_type = "cpu"; 60aa1a8ff2SEmmanuel Vadot compatible = "arm,cortex-a53"; 61aa1a8ff2SEmmanuel Vadot reg = <0x0 0x101>; 62aa1a8ff2SEmmanuel Vadot enable-method = "psci"; 63aa1a8ff2SEmmanuel Vadot }; 64aa1a8ff2SEmmanuel Vadot 65aa1a8ff2SEmmanuel Vadot cpu102: cpu@102 { 66aa1a8ff2SEmmanuel Vadot device_type = "cpu"; 67aa1a8ff2SEmmanuel Vadot compatible = "arm,cortex-a53"; 68aa1a8ff2SEmmanuel Vadot reg = <0x0 0x102>; 69aa1a8ff2SEmmanuel Vadot enable-method = "psci"; 70aa1a8ff2SEmmanuel Vadot }; 71aa1a8ff2SEmmanuel Vadot 72aa1a8ff2SEmmanuel Vadot cpu103: cpu@103 { 73aa1a8ff2SEmmanuel Vadot device_type = "cpu"; 74aa1a8ff2SEmmanuel Vadot compatible = "arm,cortex-a53"; 75aa1a8ff2SEmmanuel Vadot reg = <0x0 0x103>; 76aa1a8ff2SEmmanuel Vadot enable-method = "psci"; 77aa1a8ff2SEmmanuel Vadot }; 78aa1a8ff2SEmmanuel Vadot 79aa1a8ff2SEmmanuel Vadot cpu0: cpu@0 { 80aa1a8ff2SEmmanuel Vadot device_type = "cpu"; 81aa1a8ff2SEmmanuel Vadot compatible = "arm,cortex-a73"; 82aa1a8ff2SEmmanuel Vadot reg = <0x0 0x0>; 83aa1a8ff2SEmmanuel Vadot enable-method = "psci"; 84aa1a8ff2SEmmanuel Vadot }; 85aa1a8ff2SEmmanuel Vadot 86aa1a8ff2SEmmanuel Vadot cpu1: cpu@1 { 87aa1a8ff2SEmmanuel Vadot device_type = "cpu"; 88aa1a8ff2SEmmanuel Vadot compatible = "arm,cortex-a73"; 89aa1a8ff2SEmmanuel Vadot reg = <0x0 0x1>; 90aa1a8ff2SEmmanuel Vadot enable-method = "psci"; 91aa1a8ff2SEmmanuel Vadot }; 92aa1a8ff2SEmmanuel Vadot 93aa1a8ff2SEmmanuel Vadot cpu2: cpu@2 { 94aa1a8ff2SEmmanuel Vadot device_type = "cpu"; 95aa1a8ff2SEmmanuel Vadot compatible = "arm,cortex-a73"; 96aa1a8ff2SEmmanuel Vadot reg = <0x0 0x2>; 97aa1a8ff2SEmmanuel Vadot enable-method = "psci"; 98aa1a8ff2SEmmanuel Vadot }; 99aa1a8ff2SEmmanuel Vadot 100aa1a8ff2SEmmanuel Vadot cpu3: cpu@3 { 101aa1a8ff2SEmmanuel Vadot device_type = "cpu"; 102aa1a8ff2SEmmanuel Vadot compatible = "arm,cortex-a73"; 103aa1a8ff2SEmmanuel Vadot reg = <0x0 0x3>; 104aa1a8ff2SEmmanuel Vadot enable-method = "psci"; 105aa1a8ff2SEmmanuel Vadot }; 106aa1a8ff2SEmmanuel Vadot }; 107aa1a8ff2SEmmanuel Vadot 108aa1a8ff2SEmmanuel Vadot timer { 109aa1a8ff2SEmmanuel Vadot compatible = "arm,armv8-timer"; 110aa1a8ff2SEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 111aa1a8ff2SEmmanuel Vadot <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 112aa1a8ff2SEmmanuel Vadot <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 113aa1a8ff2SEmmanuel Vadot <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; 114aa1a8ff2SEmmanuel Vadot }; 115aa1a8ff2SEmmanuel Vadot 116aa1a8ff2SEmmanuel Vadot psci { 117aa1a8ff2SEmmanuel Vadot compatible = "arm,psci-1.0"; 118aa1a8ff2SEmmanuel Vadot method = "smc"; 119aa1a8ff2SEmmanuel Vadot }; 120aa1a8ff2SEmmanuel Vadot 121aa1a8ff2SEmmanuel Vadot sm: secure-monitor { 122aa1a8ff2SEmmanuel Vadot compatible = "amlogic,meson-gxbb-sm"; 12384943d6fSEmmanuel Vadot 12484943d6fSEmmanuel Vadot pwrc: power-controller { 12584943d6fSEmmanuel Vadot compatible = "amlogic,t7-pwrc"; 12684943d6fSEmmanuel Vadot #power-domain-cells = <1>; 12784943d6fSEmmanuel Vadot }; 128aa1a8ff2SEmmanuel Vadot }; 129aa1a8ff2SEmmanuel Vadot 130aa1a8ff2SEmmanuel Vadot soc { 131aa1a8ff2SEmmanuel Vadot compatible = "simple-bus"; 132aa1a8ff2SEmmanuel Vadot #address-cells = <2>; 133aa1a8ff2SEmmanuel Vadot #size-cells = <2>; 134aa1a8ff2SEmmanuel Vadot ranges; 135aa1a8ff2SEmmanuel Vadot 136aa1a8ff2SEmmanuel Vadot gic: interrupt-controller@fff01000 { 137aa1a8ff2SEmmanuel Vadot compatible = "arm,gic-400"; 138aa1a8ff2SEmmanuel Vadot #interrupt-cells = <3>; 139aa1a8ff2SEmmanuel Vadot #address-cells = <0>; 140aa1a8ff2SEmmanuel Vadot interrupt-controller; 141aa1a8ff2SEmmanuel Vadot reg = <0x0 0xfff01000 0 0x1000>, 142aa1a8ff2SEmmanuel Vadot <0x0 0xfff02000 0 0x0100>; 143aa1a8ff2SEmmanuel Vadot interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>; 144aa1a8ff2SEmmanuel Vadot }; 145aa1a8ff2SEmmanuel Vadot 146aa1a8ff2SEmmanuel Vadot apb4: bus@fe000000 { 147aa1a8ff2SEmmanuel Vadot compatible = "simple-bus"; 148aa1a8ff2SEmmanuel Vadot reg = <0x0 0xfe000000 0x0 0x480000>; 149aa1a8ff2SEmmanuel Vadot #address-cells = <2>; 150aa1a8ff2SEmmanuel Vadot #size-cells = <2>; 151aa1a8ff2SEmmanuel Vadot ranges = <0x0 0x0 0x0 0xfe000000 0x0 0x480000>; 152aa1a8ff2SEmmanuel Vadot 1537d0873ebSEmmanuel Vadot reset: reset-controller@2000 { 1547d0873ebSEmmanuel Vadot compatible = "amlogic,t7-reset"; 1557d0873ebSEmmanuel Vadot reg = <0x0 0x2000 0x0 0x98>; 1567d0873ebSEmmanuel Vadot #reset-cells = <1>; 1577d0873ebSEmmanuel Vadot }; 1587d0873ebSEmmanuel Vadot 15984943d6fSEmmanuel Vadot watchdog@2100 { 16084943d6fSEmmanuel Vadot compatible = "amlogic,t7-wdt"; 16184943d6fSEmmanuel Vadot reg = <0x0 0x2100 0x0 0x10>; 16284943d6fSEmmanuel Vadot clocks = <&xtal>; 16384943d6fSEmmanuel Vadot }; 16484943d6fSEmmanuel Vadot 16584943d6fSEmmanuel Vadot periphs_pinctrl: pinctrl@4000 { 16684943d6fSEmmanuel Vadot compatible = "amlogic,t7-periphs-pinctrl"; 16784943d6fSEmmanuel Vadot #address-cells = <2>; 16884943d6fSEmmanuel Vadot #size-cells = <2>; 16984943d6fSEmmanuel Vadot ranges; 17084943d6fSEmmanuel Vadot 17184943d6fSEmmanuel Vadot gpio: bank@4000 { 17284943d6fSEmmanuel Vadot reg = <0x0 0x4000 0x0 0x0064>, 17384943d6fSEmmanuel Vadot <0x0 0x40c0 0x0 0x0220>; 17484943d6fSEmmanuel Vadot reg-names = "mux", "gpio"; 17584943d6fSEmmanuel Vadot gpio-controller; 17684943d6fSEmmanuel Vadot #gpio-cells = <2>; 17784943d6fSEmmanuel Vadot gpio-ranges = <&periphs_pinctrl 0 0 157>; 17884943d6fSEmmanuel Vadot }; 17901950c46SEmmanuel Vadot }; 18001950c46SEmmanuel Vadot 18101950c46SEmmanuel Vadot gpio_intc: interrupt-controller@4080 { 18201950c46SEmmanuel Vadot compatible = "amlogic,t7-gpio-intc", 18301950c46SEmmanuel Vadot "amlogic,meson-gpio-intc"; 18401950c46SEmmanuel Vadot reg = <0x0 0x4080 0x0 0x20>; 18501950c46SEmmanuel Vadot interrupt-controller; 18601950c46SEmmanuel Vadot #interrupt-cells = <2>; 18701950c46SEmmanuel Vadot amlogic,channel-interrupts = 18801950c46SEmmanuel Vadot <10 11 12 13 14 15 16 17 18 19 20 21>; 18984943d6fSEmmanuel Vadot }; 19084943d6fSEmmanuel Vadot 191aa1a8ff2SEmmanuel Vadot uart_a: serial@78000 { 192aa1a8ff2SEmmanuel Vadot compatible = "amlogic,t7-uart", "amlogic,meson-s4-uart"; 193aa1a8ff2SEmmanuel Vadot reg = <0x0 0x78000 0x0 0x18>; 194aa1a8ff2SEmmanuel Vadot interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 195aa1a8ff2SEmmanuel Vadot status = "disabled"; 196aa1a8ff2SEmmanuel Vadot }; 197*b2d2a78aSEmmanuel Vadot 198*b2d2a78aSEmmanuel Vadot sec_ao: ao-secure@10220 { 199*b2d2a78aSEmmanuel Vadot compatible = "amlogic,t7-ao-secure", 200*b2d2a78aSEmmanuel Vadot "amlogic,meson-gx-ao-secure", 201*b2d2a78aSEmmanuel Vadot "syscon"; 202*b2d2a78aSEmmanuel Vadot reg = <0x0 0x10220 0x0 0x140>; 203*b2d2a78aSEmmanuel Vadot amlogic,has-chip-id; 204*b2d2a78aSEmmanuel Vadot }; 205aa1a8ff2SEmmanuel Vadot }; 206aa1a8ff2SEmmanuel Vadot 207aa1a8ff2SEmmanuel Vadot }; 208aa1a8ff2SEmmanuel Vadot}; 209