xref: /linux/arch/arm64/boot/dts/realtek/rtd1295.dtsi (revision 72a7786c0a0d6554b1d2bd3c6a0c3589d4904fb3)
1*72a7786cSAndreas Färber/*
2*72a7786cSAndreas Färber * Realtek RTD1295 SoC
3*72a7786cSAndreas Färber *
4*72a7786cSAndreas Färber * Copyright (c) 2016-2017 Andreas Färber
5*72a7786cSAndreas Färber *
6*72a7786cSAndreas Färber * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
7*72a7786cSAndreas Färber */
8*72a7786cSAndreas Färber
9*72a7786cSAndreas Färber#include <dt-bindings/interrupt-controller/arm-gic.h>
10*72a7786cSAndreas Färber
11*72a7786cSAndreas Färber/ {
12*72a7786cSAndreas Färber	compatible = "realtek,rtd1295";
13*72a7786cSAndreas Färber	interrupt-parent = <&gic>;
14*72a7786cSAndreas Färber	#address-cells = <1>;
15*72a7786cSAndreas Färber	#size-cells = <1>;
16*72a7786cSAndreas Färber
17*72a7786cSAndreas Färber	cpus {
18*72a7786cSAndreas Färber		#address-cells = <2>;
19*72a7786cSAndreas Färber		#size-cells = <0>;
20*72a7786cSAndreas Färber
21*72a7786cSAndreas Färber		cpu0: cpu@0 {
22*72a7786cSAndreas Färber			device_type = "cpu";
23*72a7786cSAndreas Färber			compatible = "arm,cortex-a53", "arm,armv8";
24*72a7786cSAndreas Färber			reg = <0x0 0x0>;
25*72a7786cSAndreas Färber			next-level-cache = <&l2>;
26*72a7786cSAndreas Färber		};
27*72a7786cSAndreas Färber
28*72a7786cSAndreas Färber		cpu1: cpu@1 {
29*72a7786cSAndreas Färber			device_type = "cpu";
30*72a7786cSAndreas Färber			compatible = "arm,cortex-a53", "arm,armv8";
31*72a7786cSAndreas Färber			reg = <0x0 0x1>;
32*72a7786cSAndreas Färber			next-level-cache = <&l2>;
33*72a7786cSAndreas Färber		};
34*72a7786cSAndreas Färber
35*72a7786cSAndreas Färber		cpu2: cpu@2 {
36*72a7786cSAndreas Färber			device_type = "cpu";
37*72a7786cSAndreas Färber			compatible = "arm,cortex-a53", "arm,armv8";
38*72a7786cSAndreas Färber			reg = <0x0 0x2>;
39*72a7786cSAndreas Färber			next-level-cache = <&l2>;
40*72a7786cSAndreas Färber		};
41*72a7786cSAndreas Färber
42*72a7786cSAndreas Färber		cpu3: cpu@3 {
43*72a7786cSAndreas Färber			device_type = "cpu";
44*72a7786cSAndreas Färber			compatible = "arm,cortex-a53", "arm,armv8";
45*72a7786cSAndreas Färber			reg = <0x0 0x3>;
46*72a7786cSAndreas Färber			next-level-cache = <&l2>;
47*72a7786cSAndreas Färber		};
48*72a7786cSAndreas Färber
49*72a7786cSAndreas Färber		l2: l2-cache {
50*72a7786cSAndreas Färber			compatible = "cache";
51*72a7786cSAndreas Färber		};
52*72a7786cSAndreas Färber	};
53*72a7786cSAndreas Färber
54*72a7786cSAndreas Färber	reserved-memory {
55*72a7786cSAndreas Färber		#address-cells = <1>;
56*72a7786cSAndreas Färber		#size-cells = <1>;
57*72a7786cSAndreas Färber		ranges;
58*72a7786cSAndreas Färber
59*72a7786cSAndreas Färber		tee@10100000 {
60*72a7786cSAndreas Färber			reg = <0x10100000 0xf00000>;
61*72a7786cSAndreas Färber			no-map;
62*72a7786cSAndreas Färber		};
63*72a7786cSAndreas Färber	};
64*72a7786cSAndreas Färber
65*72a7786cSAndreas Färber	arm-pmu {
66*72a7786cSAndreas Färber		compatible = "arm,cortex-a53-pmu";
67*72a7786cSAndreas Färber		interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
68*72a7786cSAndreas Färber		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
69*72a7786cSAndreas Färber	};
70*72a7786cSAndreas Färber
71*72a7786cSAndreas Färber	timer {
72*72a7786cSAndreas Färber		compatible = "arm,armv8-timer";
73*72a7786cSAndreas Färber		interrupts = <GIC_PPI 13
74*72a7786cSAndreas Färber			(GIC_CPU_MASK_RAW(0xf) | IRQ_TYPE_LEVEL_LOW)>,
75*72a7786cSAndreas Färber			     <GIC_PPI 14
76*72a7786cSAndreas Färber			(GIC_CPU_MASK_RAW(0xf) | IRQ_TYPE_LEVEL_LOW)>,
77*72a7786cSAndreas Färber			     <GIC_PPI 11
78*72a7786cSAndreas Färber			(GIC_CPU_MASK_RAW(0xf) | IRQ_TYPE_LEVEL_LOW)>,
79*72a7786cSAndreas Färber			     <GIC_PPI 10
80*72a7786cSAndreas Färber			(GIC_CPU_MASK_RAW(0xf) | IRQ_TYPE_LEVEL_LOW)>;
81*72a7786cSAndreas Färber	};
82*72a7786cSAndreas Färber
83*72a7786cSAndreas Färber	soc {
84*72a7786cSAndreas Färber		compatible = "simple-bus";
85*72a7786cSAndreas Färber		#address-cells = <1>;
86*72a7786cSAndreas Färber		#size-cells = <1>;
87*72a7786cSAndreas Färber		/* Exclude up to 2 GiB of RAM */
88*72a7786cSAndreas Färber		ranges = <0x80000000 0x80000000 0x80000000>;
89*72a7786cSAndreas Färber
90*72a7786cSAndreas Färber		uart0: serial@98007800 {
91*72a7786cSAndreas Färber			compatible = "snps,dw-apb-uart";
92*72a7786cSAndreas Färber			reg = <0x98007800 0x400>,
93*72a7786cSAndreas Färber			      <0x98007000 0x100>;
94*72a7786cSAndreas Färber			reg-shift = <2>;
95*72a7786cSAndreas Färber			reg-io-width = <4>;
96*72a7786cSAndreas Färber			clock-frequency = <27000000>;
97*72a7786cSAndreas Färber			status = "disabled";
98*72a7786cSAndreas Färber		};
99*72a7786cSAndreas Färber
100*72a7786cSAndreas Färber		uart1: serial@9801b200 {
101*72a7786cSAndreas Färber			compatible = "snps,dw-apb-uart";
102*72a7786cSAndreas Färber			reg = <0x9801b200 0x100>,
103*72a7786cSAndreas Färber			      <0x9801b00c 0x100>;
104*72a7786cSAndreas Färber			reg-shift = <2>;
105*72a7786cSAndreas Färber			reg-io-width = <4>;
106*72a7786cSAndreas Färber			clock-frequency = <432000000>;
107*72a7786cSAndreas Färber			status = "disabled";
108*72a7786cSAndreas Färber		};
109*72a7786cSAndreas Färber
110*72a7786cSAndreas Färber		uart2: serial@9801b400 {
111*72a7786cSAndreas Färber			compatible = "snps,dw-apb-uart";
112*72a7786cSAndreas Färber			reg = <0x9801b400 0x100>,
113*72a7786cSAndreas Färber			      <0x9801b00c 0x100>;
114*72a7786cSAndreas Färber			reg-shift = <2>;
115*72a7786cSAndreas Färber			reg-io-width = <4>;
116*72a7786cSAndreas Färber			clock-frequency = <432000000>;
117*72a7786cSAndreas Färber			status = "disabled";
118*72a7786cSAndreas Färber		};
119*72a7786cSAndreas Färber
120*72a7786cSAndreas Färber		gic: interrupt-controller@ff011000 {
121*72a7786cSAndreas Färber			compatible = "arm,gic-400";
122*72a7786cSAndreas Färber			reg = <0xff011000 0x1000>,
123*72a7786cSAndreas Färber			      <0xff012000 0x2000>,
124*72a7786cSAndreas Färber			      <0xff014000 0x2000>,
125*72a7786cSAndreas Färber			      <0xff016000 0x2000>;
126*72a7786cSAndreas Färber			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
127*72a7786cSAndreas Färber			interrupt-controller;
128*72a7786cSAndreas Färber			#interrupt-cells = <3>;
129*72a7786cSAndreas Färber		};
130*72a7786cSAndreas Färber	};
131*72a7786cSAndreas Färber};
132