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> 8aa1a8ff2SEmmanuel Vadot 9aa1a8ff2SEmmanuel Vadot/ { 10aa1a8ff2SEmmanuel Vadot interrupt-parent = <&gic>; 11aa1a8ff2SEmmanuel Vadot #address-cells = <2>; 12aa1a8ff2SEmmanuel Vadot #size-cells = <2>; 13aa1a8ff2SEmmanuel Vadot 14aa1a8ff2SEmmanuel Vadot cpus { 15aa1a8ff2SEmmanuel Vadot #address-cells = <0x2>; 16aa1a8ff2SEmmanuel Vadot #size-cells = <0x0>; 17aa1a8ff2SEmmanuel Vadot 18aa1a8ff2SEmmanuel Vadot cpu-map { 19aa1a8ff2SEmmanuel Vadot cluster0 { 20aa1a8ff2SEmmanuel Vadot core0 { 21aa1a8ff2SEmmanuel Vadot cpu = <&cpu100>; 22aa1a8ff2SEmmanuel Vadot }; 23aa1a8ff2SEmmanuel Vadot core1 { 24aa1a8ff2SEmmanuel Vadot cpu = <&cpu101>; 25aa1a8ff2SEmmanuel Vadot }; 26aa1a8ff2SEmmanuel Vadot core2 { 27aa1a8ff2SEmmanuel Vadot cpu = <&cpu102>; 28aa1a8ff2SEmmanuel Vadot }; 29aa1a8ff2SEmmanuel Vadot core3 { 30aa1a8ff2SEmmanuel Vadot cpu = <&cpu103>; 31aa1a8ff2SEmmanuel Vadot }; 32aa1a8ff2SEmmanuel Vadot }; 33aa1a8ff2SEmmanuel Vadot 34aa1a8ff2SEmmanuel Vadot cluster1 { 35aa1a8ff2SEmmanuel Vadot core0 { 36aa1a8ff2SEmmanuel Vadot cpu = <&cpu0>; 37aa1a8ff2SEmmanuel Vadot }; 38aa1a8ff2SEmmanuel Vadot core1 { 39aa1a8ff2SEmmanuel Vadot cpu = <&cpu1>; 40aa1a8ff2SEmmanuel Vadot }; 41aa1a8ff2SEmmanuel Vadot core2 { 42aa1a8ff2SEmmanuel Vadot cpu = <&cpu2>; 43aa1a8ff2SEmmanuel Vadot }; 44aa1a8ff2SEmmanuel Vadot core3 { 45aa1a8ff2SEmmanuel Vadot cpu = <&cpu3>; 46aa1a8ff2SEmmanuel Vadot }; 47aa1a8ff2SEmmanuel Vadot }; 48aa1a8ff2SEmmanuel Vadot }; 49aa1a8ff2SEmmanuel Vadot 50aa1a8ff2SEmmanuel Vadot cpu100: cpu@100 { 51aa1a8ff2SEmmanuel Vadot device_type = "cpu"; 52aa1a8ff2SEmmanuel Vadot compatible = "arm,cortex-a53"; 53aa1a8ff2SEmmanuel Vadot reg = <0x0 0x100>; 54aa1a8ff2SEmmanuel Vadot enable-method = "psci"; 55aa1a8ff2SEmmanuel Vadot }; 56aa1a8ff2SEmmanuel Vadot 57aa1a8ff2SEmmanuel Vadot cpu101: cpu@101 { 58aa1a8ff2SEmmanuel Vadot device_type = "cpu"; 59aa1a8ff2SEmmanuel Vadot compatible = "arm,cortex-a53"; 60aa1a8ff2SEmmanuel Vadot reg = <0x0 0x101>; 61aa1a8ff2SEmmanuel Vadot enable-method = "psci"; 62aa1a8ff2SEmmanuel Vadot }; 63aa1a8ff2SEmmanuel Vadot 64aa1a8ff2SEmmanuel Vadot cpu102: cpu@102 { 65aa1a8ff2SEmmanuel Vadot device_type = "cpu"; 66aa1a8ff2SEmmanuel Vadot compatible = "arm,cortex-a53"; 67aa1a8ff2SEmmanuel Vadot reg = <0x0 0x102>; 68aa1a8ff2SEmmanuel Vadot enable-method = "psci"; 69aa1a8ff2SEmmanuel Vadot }; 70aa1a8ff2SEmmanuel Vadot 71aa1a8ff2SEmmanuel Vadot cpu103: cpu@103 { 72aa1a8ff2SEmmanuel Vadot device_type = "cpu"; 73aa1a8ff2SEmmanuel Vadot compatible = "arm,cortex-a53"; 74aa1a8ff2SEmmanuel Vadot reg = <0x0 0x103>; 75aa1a8ff2SEmmanuel Vadot enable-method = "psci"; 76aa1a8ff2SEmmanuel Vadot }; 77aa1a8ff2SEmmanuel Vadot 78aa1a8ff2SEmmanuel Vadot cpu0: cpu@0 { 79aa1a8ff2SEmmanuel Vadot device_type = "cpu"; 80aa1a8ff2SEmmanuel Vadot compatible = "arm,cortex-a73"; 81aa1a8ff2SEmmanuel Vadot reg = <0x0 0x0>; 82aa1a8ff2SEmmanuel Vadot enable-method = "psci"; 83aa1a8ff2SEmmanuel Vadot }; 84aa1a8ff2SEmmanuel Vadot 85aa1a8ff2SEmmanuel Vadot cpu1: cpu@1 { 86aa1a8ff2SEmmanuel Vadot device_type = "cpu"; 87aa1a8ff2SEmmanuel Vadot compatible = "arm,cortex-a73"; 88aa1a8ff2SEmmanuel Vadot reg = <0x0 0x1>; 89aa1a8ff2SEmmanuel Vadot enable-method = "psci"; 90aa1a8ff2SEmmanuel Vadot }; 91aa1a8ff2SEmmanuel Vadot 92aa1a8ff2SEmmanuel Vadot cpu2: cpu@2 { 93aa1a8ff2SEmmanuel Vadot device_type = "cpu"; 94aa1a8ff2SEmmanuel Vadot compatible = "arm,cortex-a73"; 95aa1a8ff2SEmmanuel Vadot reg = <0x0 0x2>; 96aa1a8ff2SEmmanuel Vadot enable-method = "psci"; 97aa1a8ff2SEmmanuel Vadot }; 98aa1a8ff2SEmmanuel Vadot 99aa1a8ff2SEmmanuel Vadot cpu3: cpu@3 { 100aa1a8ff2SEmmanuel Vadot device_type = "cpu"; 101aa1a8ff2SEmmanuel Vadot compatible = "arm,cortex-a73"; 102aa1a8ff2SEmmanuel Vadot reg = <0x0 0x3>; 103aa1a8ff2SEmmanuel Vadot enable-method = "psci"; 104aa1a8ff2SEmmanuel Vadot }; 105aa1a8ff2SEmmanuel Vadot }; 106aa1a8ff2SEmmanuel Vadot 107aa1a8ff2SEmmanuel Vadot timer { 108aa1a8ff2SEmmanuel Vadot compatible = "arm,armv8-timer"; 109aa1a8ff2SEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 110aa1a8ff2SEmmanuel Vadot <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 111aa1a8ff2SEmmanuel Vadot <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 112aa1a8ff2SEmmanuel Vadot <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; 113aa1a8ff2SEmmanuel Vadot }; 114aa1a8ff2SEmmanuel Vadot 115aa1a8ff2SEmmanuel Vadot psci { 116aa1a8ff2SEmmanuel Vadot compatible = "arm,psci-1.0"; 117aa1a8ff2SEmmanuel Vadot method = "smc"; 118aa1a8ff2SEmmanuel Vadot }; 119aa1a8ff2SEmmanuel Vadot 120aa1a8ff2SEmmanuel Vadot sm: secure-monitor { 121aa1a8ff2SEmmanuel Vadot compatible = "amlogic,meson-gxbb-sm"; 12284943d6fSEmmanuel Vadot 12384943d6fSEmmanuel Vadot pwrc: power-controller { 12484943d6fSEmmanuel Vadot compatible = "amlogic,t7-pwrc"; 12584943d6fSEmmanuel Vadot #power-domain-cells = <1>; 12684943d6fSEmmanuel Vadot }; 127aa1a8ff2SEmmanuel Vadot }; 128aa1a8ff2SEmmanuel Vadot 129aa1a8ff2SEmmanuel Vadot soc { 130aa1a8ff2SEmmanuel Vadot compatible = "simple-bus"; 131aa1a8ff2SEmmanuel Vadot #address-cells = <2>; 132aa1a8ff2SEmmanuel Vadot #size-cells = <2>; 133aa1a8ff2SEmmanuel Vadot ranges; 134aa1a8ff2SEmmanuel Vadot 135aa1a8ff2SEmmanuel Vadot gic: interrupt-controller@fff01000 { 136aa1a8ff2SEmmanuel Vadot compatible = "arm,gic-400"; 137aa1a8ff2SEmmanuel Vadot #interrupt-cells = <3>; 138aa1a8ff2SEmmanuel Vadot #address-cells = <0>; 139aa1a8ff2SEmmanuel Vadot interrupt-controller; 140aa1a8ff2SEmmanuel Vadot reg = <0x0 0xfff01000 0 0x1000>, 141aa1a8ff2SEmmanuel Vadot <0x0 0xfff02000 0 0x0100>; 142aa1a8ff2SEmmanuel Vadot interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>; 143aa1a8ff2SEmmanuel Vadot }; 144aa1a8ff2SEmmanuel Vadot 145aa1a8ff2SEmmanuel Vadot apb4: bus@fe000000 { 146aa1a8ff2SEmmanuel Vadot compatible = "simple-bus"; 147aa1a8ff2SEmmanuel Vadot reg = <0x0 0xfe000000 0x0 0x480000>; 148aa1a8ff2SEmmanuel Vadot #address-cells = <2>; 149aa1a8ff2SEmmanuel Vadot #size-cells = <2>; 150aa1a8ff2SEmmanuel Vadot ranges = <0x0 0x0 0x0 0xfe000000 0x0 0x480000>; 151aa1a8ff2SEmmanuel Vadot 15284943d6fSEmmanuel Vadot watchdog@2100 { 15384943d6fSEmmanuel Vadot compatible = "amlogic,t7-wdt"; 15484943d6fSEmmanuel Vadot reg = <0x0 0x2100 0x0 0x10>; 15584943d6fSEmmanuel Vadot clocks = <&xtal>; 15684943d6fSEmmanuel Vadot }; 15784943d6fSEmmanuel Vadot 15884943d6fSEmmanuel Vadot periphs_pinctrl: pinctrl@4000 { 15984943d6fSEmmanuel Vadot compatible = "amlogic,t7-periphs-pinctrl"; 16084943d6fSEmmanuel Vadot #address-cells = <2>; 16184943d6fSEmmanuel Vadot #size-cells = <2>; 16284943d6fSEmmanuel Vadot ranges; 16384943d6fSEmmanuel Vadot 16484943d6fSEmmanuel Vadot gpio: bank@4000 { 16584943d6fSEmmanuel Vadot reg = <0x0 0x4000 0x0 0x0064>, 16684943d6fSEmmanuel Vadot <0x0 0x40c0 0x0 0x0220>; 16784943d6fSEmmanuel Vadot reg-names = "mux", "gpio"; 16884943d6fSEmmanuel Vadot gpio-controller; 16984943d6fSEmmanuel Vadot #gpio-cells = <2>; 17084943d6fSEmmanuel Vadot gpio-ranges = <&periphs_pinctrl 0 0 157>; 17184943d6fSEmmanuel Vadot }; 172*01950c46SEmmanuel Vadot }; 173*01950c46SEmmanuel Vadot 174*01950c46SEmmanuel Vadot gpio_intc: interrupt-controller@4080 { 175*01950c46SEmmanuel Vadot compatible = "amlogic,t7-gpio-intc", 176*01950c46SEmmanuel Vadot "amlogic,meson-gpio-intc"; 177*01950c46SEmmanuel Vadot reg = <0x0 0x4080 0x0 0x20>; 178*01950c46SEmmanuel Vadot interrupt-controller; 179*01950c46SEmmanuel Vadot #interrupt-cells = <2>; 180*01950c46SEmmanuel Vadot amlogic,channel-interrupts = 181*01950c46SEmmanuel Vadot <10 11 12 13 14 15 16 17 18 19 20 21>; 18284943d6fSEmmanuel Vadot }; 18384943d6fSEmmanuel Vadot 184aa1a8ff2SEmmanuel Vadot uart_a: serial@78000 { 185aa1a8ff2SEmmanuel Vadot compatible = "amlogic,t7-uart", "amlogic,meson-s4-uart"; 186aa1a8ff2SEmmanuel Vadot reg = <0x0 0x78000 0x0 0x18>; 187aa1a8ff2SEmmanuel Vadot interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 188aa1a8ff2SEmmanuel Vadot status = "disabled"; 189aa1a8ff2SEmmanuel Vadot }; 190aa1a8ff2SEmmanuel Vadot }; 191aa1a8ff2SEmmanuel Vadot 192aa1a8ff2SEmmanuel Vadot }; 193aa1a8ff2SEmmanuel Vadot}; 194