1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * Copyright (c) 2017-2019 Andreas Färber 4*f126890aSEmmanuel Vadot */ 5*f126890aSEmmanuel Vadot 6*f126890aSEmmanuel Vadot/memreserve/ 0x00000000 0x0000a800; /* boot code */ 7*f126890aSEmmanuel Vadot/memreserve/ 0x0000a800 0x000f5800; 8*f126890aSEmmanuel Vadot/memreserve/ 0x17fff000 0x00001000; 9*f126890aSEmmanuel Vadot 10*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 11*f126890aSEmmanuel Vadot#include <dt-bindings/reset/realtek,rtd1195.h> 12*f126890aSEmmanuel Vadot 13*f126890aSEmmanuel Vadot/ { 14*f126890aSEmmanuel Vadot compatible = "realtek,rtd1195"; 15*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 16*f126890aSEmmanuel Vadot #address-cells = <1>; 17*f126890aSEmmanuel Vadot #size-cells = <1>; 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@0 { 24*f126890aSEmmanuel Vadot device_type = "cpu"; 25*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 26*f126890aSEmmanuel Vadot reg = <0x0>; 27*f126890aSEmmanuel Vadot clock-frequency = <1000000000>; 28*f126890aSEmmanuel Vadot }; 29*f126890aSEmmanuel Vadot 30*f126890aSEmmanuel Vadot cpu1: cpu@1 { 31*f126890aSEmmanuel Vadot device_type = "cpu"; 32*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 33*f126890aSEmmanuel Vadot reg = <0x1>; 34*f126890aSEmmanuel Vadot clock-frequency = <1000000000>; 35*f126890aSEmmanuel Vadot }; 36*f126890aSEmmanuel Vadot }; 37*f126890aSEmmanuel Vadot 38*f126890aSEmmanuel Vadot reserved-memory { 39*f126890aSEmmanuel Vadot #address-cells = <1>; 40*f126890aSEmmanuel Vadot #size-cells = <1>; 41*f126890aSEmmanuel Vadot ranges; 42*f126890aSEmmanuel Vadot 43*f126890aSEmmanuel Vadot rpc_comm: rpc@b000 { 44*f126890aSEmmanuel Vadot reg = <0x0000b000 0x1000>; 45*f126890aSEmmanuel Vadot }; 46*f126890aSEmmanuel Vadot 47*f126890aSEmmanuel Vadot audio@1b00000 { 48*f126890aSEmmanuel Vadot reg = <0x01b00000 0x400000>; 49*f126890aSEmmanuel Vadot }; 50*f126890aSEmmanuel Vadot 51*f126890aSEmmanuel Vadot rpc_ringbuf: rpc@1ffe000 { 52*f126890aSEmmanuel Vadot reg = <0x01ffe000 0x4000>; 53*f126890aSEmmanuel Vadot }; 54*f126890aSEmmanuel Vadot 55*f126890aSEmmanuel Vadot secure@10000000 { 56*f126890aSEmmanuel Vadot reg = <0x10000000 0x100000>; 57*f126890aSEmmanuel Vadot no-map; 58*f126890aSEmmanuel Vadot }; 59*f126890aSEmmanuel Vadot }; 60*f126890aSEmmanuel Vadot 61*f126890aSEmmanuel Vadot arm-pmu { 62*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7-pmu"; 63*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>, 64*f126890aSEmmanuel Vadot <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 65*f126890aSEmmanuel Vadot interrupt-affinity = <&cpu0>, <&cpu1>; 66*f126890aSEmmanuel Vadot }; 67*f126890aSEmmanuel Vadot 68*f126890aSEmmanuel Vadot timer { 69*f126890aSEmmanuel Vadot compatible = "arm,armv7-timer"; 70*f126890aSEmmanuel Vadot interrupts = <GIC_PPI 13 71*f126890aSEmmanuel Vadot (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 72*f126890aSEmmanuel Vadot <GIC_PPI 14 73*f126890aSEmmanuel Vadot (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 74*f126890aSEmmanuel Vadot <GIC_PPI 11 75*f126890aSEmmanuel Vadot (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 76*f126890aSEmmanuel Vadot <GIC_PPI 10 77*f126890aSEmmanuel Vadot (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>; 78*f126890aSEmmanuel Vadot clock-frequency = <27000000>; 79*f126890aSEmmanuel Vadot }; 80*f126890aSEmmanuel Vadot 81*f126890aSEmmanuel Vadot osc27M: osc { 82*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 83*f126890aSEmmanuel Vadot clock-frequency = <27000000>; 84*f126890aSEmmanuel Vadot #clock-cells = <0>; 85*f126890aSEmmanuel Vadot clock-output-names = "osc27M"; 86*f126890aSEmmanuel Vadot }; 87*f126890aSEmmanuel Vadot 88*f126890aSEmmanuel Vadot soc { 89*f126890aSEmmanuel Vadot compatible = "simple-bus"; 90*f126890aSEmmanuel Vadot #address-cells = <1>; 91*f126890aSEmmanuel Vadot #size-cells = <1>; 92*f126890aSEmmanuel Vadot ranges = <0x00000000 0x00000000 0x0000a800>, 93*f126890aSEmmanuel Vadot <0x18000000 0x18000000 0x00070000>, 94*f126890aSEmmanuel Vadot <0x18100000 0x18100000 0x01000000>, 95*f126890aSEmmanuel Vadot <0x80000000 0x80000000 0x80000000>; 96*f126890aSEmmanuel Vadot 97*f126890aSEmmanuel Vadot rbus: bus@18000000 { 98*f126890aSEmmanuel Vadot compatible = "simple-bus"; 99*f126890aSEmmanuel Vadot reg = <0x18000000 0x70000>; 100*f126890aSEmmanuel Vadot #address-cells = <1>; 101*f126890aSEmmanuel Vadot #size-cells = <1>; 102*f126890aSEmmanuel Vadot ranges = <0x0 0x18000000 0x70000>; 103*f126890aSEmmanuel Vadot 104*f126890aSEmmanuel Vadot crt: syscon@0 { 105*f126890aSEmmanuel Vadot compatible = "syscon", "simple-mfd"; 106*f126890aSEmmanuel Vadot reg = <0x0 0x1000>; 107*f126890aSEmmanuel Vadot reg-io-width = <4>; 108*f126890aSEmmanuel Vadot #address-cells = <1>; 109*f126890aSEmmanuel Vadot #size-cells = <1>; 110*f126890aSEmmanuel Vadot ranges = <0x0 0x0 0x1000>; 111*f126890aSEmmanuel Vadot }; 112*f126890aSEmmanuel Vadot 113*f126890aSEmmanuel Vadot iso: syscon@7000 { 114*f126890aSEmmanuel Vadot compatible = "syscon", "simple-mfd"; 115*f126890aSEmmanuel Vadot reg = <0x7000 0x1000>; 116*f126890aSEmmanuel Vadot reg-io-width = <4>; 117*f126890aSEmmanuel Vadot #address-cells = <1>; 118*f126890aSEmmanuel Vadot #size-cells = <1>; 119*f126890aSEmmanuel Vadot ranges = <0x0 0x7000 0x1000>; 120*f126890aSEmmanuel Vadot }; 121*f126890aSEmmanuel Vadot 122*f126890aSEmmanuel Vadot sb2: syscon@1a000 { 123*f126890aSEmmanuel Vadot compatible = "syscon", "simple-mfd"; 124*f126890aSEmmanuel Vadot reg = <0x1a000 0x1000>; 125*f126890aSEmmanuel Vadot reg-io-width = <4>; 126*f126890aSEmmanuel Vadot #address-cells = <1>; 127*f126890aSEmmanuel Vadot #size-cells = <1>; 128*f126890aSEmmanuel Vadot ranges = <0x0 0x1a000 0x1000>; 129*f126890aSEmmanuel Vadot }; 130*f126890aSEmmanuel Vadot 131*f126890aSEmmanuel Vadot misc: syscon@1b000 { 132*f126890aSEmmanuel Vadot compatible = "syscon", "simple-mfd"; 133*f126890aSEmmanuel Vadot reg = <0x1b000 0x1000>; 134*f126890aSEmmanuel Vadot reg-io-width = <4>; 135*f126890aSEmmanuel Vadot #address-cells = <1>; 136*f126890aSEmmanuel Vadot #size-cells = <1>; 137*f126890aSEmmanuel Vadot ranges = <0x0 0x1b000 0x1000>; 138*f126890aSEmmanuel Vadot }; 139*f126890aSEmmanuel Vadot 140*f126890aSEmmanuel Vadot scpu_wrapper: syscon@1d000 { 141*f126890aSEmmanuel Vadot compatible = "syscon", "simple-mfd"; 142*f126890aSEmmanuel Vadot reg = <0x1d000 0x1000>; 143*f126890aSEmmanuel Vadot reg-io-width = <4>; 144*f126890aSEmmanuel Vadot #address-cells = <1>; 145*f126890aSEmmanuel Vadot #size-cells = <1>; 146*f126890aSEmmanuel Vadot ranges = <0x0 0x1d000 0x1000>; 147*f126890aSEmmanuel Vadot }; 148*f126890aSEmmanuel Vadot }; 149*f126890aSEmmanuel Vadot 150*f126890aSEmmanuel Vadot gic: interrupt-controller@ff011000 { 151*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7-gic"; 152*f126890aSEmmanuel Vadot reg = <0xff011000 0x1000>, 153*f126890aSEmmanuel Vadot <0xff012000 0x2000>, 154*f126890aSEmmanuel Vadot <0xff014000 0x2000>, 155*f126890aSEmmanuel Vadot <0xff016000 0x2000>; 156*f126890aSEmmanuel Vadot interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>; 157*f126890aSEmmanuel Vadot interrupt-controller; 158*f126890aSEmmanuel Vadot #interrupt-cells = <3>; 159*f126890aSEmmanuel Vadot }; 160*f126890aSEmmanuel Vadot }; 161*f126890aSEmmanuel Vadot}; 162*f126890aSEmmanuel Vadot 163*f126890aSEmmanuel Vadot&crt { 164*f126890aSEmmanuel Vadot reset1: reset-controller@0 { 165*f126890aSEmmanuel Vadot compatible = "snps,dw-low-reset"; 166*f126890aSEmmanuel Vadot reg = <0x0 0x4>; 167*f126890aSEmmanuel Vadot #reset-cells = <1>; 168*f126890aSEmmanuel Vadot }; 169*f126890aSEmmanuel Vadot 170*f126890aSEmmanuel Vadot reset2: reset-controller@4 { 171*f126890aSEmmanuel Vadot compatible = "snps,dw-low-reset"; 172*f126890aSEmmanuel Vadot reg = <0x4 0x4>; 173*f126890aSEmmanuel Vadot #reset-cells = <1>; 174*f126890aSEmmanuel Vadot }; 175*f126890aSEmmanuel Vadot 176*f126890aSEmmanuel Vadot reset3: reset-controller@8 { 177*f126890aSEmmanuel Vadot compatible = "snps,dw-low-reset"; 178*f126890aSEmmanuel Vadot reg = <0x8 0x4>; 179*f126890aSEmmanuel Vadot #reset-cells = <1>; 180*f126890aSEmmanuel Vadot }; 181*f126890aSEmmanuel Vadot}; 182*f126890aSEmmanuel Vadot 183*f126890aSEmmanuel Vadot&iso { 184*f126890aSEmmanuel Vadot iso_reset: reset-controller@88 { 185*f126890aSEmmanuel Vadot compatible = "snps,dw-low-reset"; 186*f126890aSEmmanuel Vadot reg = <0x88 0x4>; 187*f126890aSEmmanuel Vadot #reset-cells = <1>; 188*f126890aSEmmanuel Vadot }; 189*f126890aSEmmanuel Vadot 190*f126890aSEmmanuel Vadot wdt: watchdog@680 { 191*f126890aSEmmanuel Vadot compatible = "realtek,rtd1295-watchdog"; 192*f126890aSEmmanuel Vadot reg = <0x680 0x100>; 193*f126890aSEmmanuel Vadot clocks = <&osc27M>; 194*f126890aSEmmanuel Vadot }; 195*f126890aSEmmanuel Vadot 196*f126890aSEmmanuel Vadot uart0: serial@800 { 197*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 198*f126890aSEmmanuel Vadot reg = <0x800 0x400>; 199*f126890aSEmmanuel Vadot reg-shift = <2>; 200*f126890aSEmmanuel Vadot reg-io-width = <4>; 201*f126890aSEmmanuel Vadot resets = <&iso_reset RTD1195_ISO_RSTN_UR0>; 202*f126890aSEmmanuel Vadot clock-frequency = <27000000>; 203*f126890aSEmmanuel Vadot status = "disabled"; 204*f126890aSEmmanuel Vadot }; 205*f126890aSEmmanuel Vadot}; 206*f126890aSEmmanuel Vadot 207*f126890aSEmmanuel Vadot&misc { 208*f126890aSEmmanuel Vadot uart1: serial@200 { 209*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 210*f126890aSEmmanuel Vadot reg = <0x200 0x100>; 211*f126890aSEmmanuel Vadot reg-shift = <2>; 212*f126890aSEmmanuel Vadot reg-io-width = <4>; 213*f126890aSEmmanuel Vadot resets = <&reset2 RTD1195_RSTN_UR1>; 214*f126890aSEmmanuel Vadot clock-frequency = <27000000>; 215*f126890aSEmmanuel Vadot status = "disabled"; 216*f126890aSEmmanuel Vadot }; 217*f126890aSEmmanuel Vadot}; 218