xref: /linux/scripts/dtc/include-prefixes/arm64/realtek/kent.dtsi (revision c17ee635fd3a482b2ad2bf5e269755c2eae5f25e)
1*b095c27fSYu-Chun Lin// SPDX-License-Identifier: GPL-2.0
2*b095c27fSYu-Chun Lin/*
3*b095c27fSYu-Chun Lin * Realtek Kent SoC family
4*b095c27fSYu-Chun Lin *
5*b095c27fSYu-Chun Lin * Copyright (c) 2024 Realtek Semiconductor Corp.
6*b095c27fSYu-Chun Lin */
7*b095c27fSYu-Chun Lin
8*b095c27fSYu-Chun Lin#include <dt-bindings/interrupt-controller/arm-gic.h>
9*b095c27fSYu-Chun Lin#include <dt-bindings/interrupt-controller/irq.h>
10*b095c27fSYu-Chun Lin
11*b095c27fSYu-Chun Lin/ {
12*b095c27fSYu-Chun Lin	interrupt-parent = <&gic>;
13*b095c27fSYu-Chun Lin	#address-cells = <2>;
14*b095c27fSYu-Chun Lin	#size-cells = <2>;
15*b095c27fSYu-Chun Lin
16*b095c27fSYu-Chun Lin	aliases {
17*b095c27fSYu-Chun Lin		serial0 = &uart0;
18*b095c27fSYu-Chun Lin	};
19*b095c27fSYu-Chun Lin
20*b095c27fSYu-Chun Lin	timer {
21*b095c27fSYu-Chun Lin		compatible = "arm,armv8-timer";
22*b095c27fSYu-Chun Lin		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
23*b095c27fSYu-Chun Lin			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
24*b095c27fSYu-Chun Lin			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
25*b095c27fSYu-Chun Lin			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>,
26*b095c27fSYu-Chun Lin			     <GIC_PPI  9 IRQ_TYPE_LEVEL_HIGH>;
27*b095c27fSYu-Chun Lin	};
28*b095c27fSYu-Chun Lin
29*b095c27fSYu-Chun Lin	cpus {
30*b095c27fSYu-Chun Lin		#address-cells = <1>;
31*b095c27fSYu-Chun Lin		#size-cells = <0>;
32*b095c27fSYu-Chun Lin
33*b095c27fSYu-Chun Lin		cpu0: cpu@0 {
34*b095c27fSYu-Chun Lin			device_type = "cpu";
35*b095c27fSYu-Chun Lin			compatible = "arm,cortex-a78";
36*b095c27fSYu-Chun Lin			reg = <0x0>;
37*b095c27fSYu-Chun Lin			enable-method = "psci";
38*b095c27fSYu-Chun Lin			next-level-cache = <&l2_0>;
39*b095c27fSYu-Chun Lin			dynamic-power-coefficient = <454>;
40*b095c27fSYu-Chun Lin			#cooling-cells = <2>;
41*b095c27fSYu-Chun Lin
42*b095c27fSYu-Chun Lin			l2_0: l2-cache {
43*b095c27fSYu-Chun Lin				compatible = "cache";
44*b095c27fSYu-Chun Lin				cache-level = <2>;
45*b095c27fSYu-Chun Lin				cache-line-size = <64>;
46*b095c27fSYu-Chun Lin				cache-sets = <256>;
47*b095c27fSYu-Chun Lin				cache-size = <0x40000>;
48*b095c27fSYu-Chun Lin				cache-unified;
49*b095c27fSYu-Chun Lin				next-level-cache = <&l3>;
50*b095c27fSYu-Chun Lin			};
51*b095c27fSYu-Chun Lin		};
52*b095c27fSYu-Chun Lin
53*b095c27fSYu-Chun Lin		cpu1: cpu@100 {
54*b095c27fSYu-Chun Lin			device_type = "cpu";
55*b095c27fSYu-Chun Lin			compatible = "arm,cortex-a78";
56*b095c27fSYu-Chun Lin			reg = <0x100>;
57*b095c27fSYu-Chun Lin			enable-method = "psci";
58*b095c27fSYu-Chun Lin			next-level-cache = <&l2_1>;
59*b095c27fSYu-Chun Lin			dynamic-power-coefficient = <454>;
60*b095c27fSYu-Chun Lin			#cooling-cells = <2>;
61*b095c27fSYu-Chun Lin
62*b095c27fSYu-Chun Lin			l2_1: l2-cache {
63*b095c27fSYu-Chun Lin				compatible = "cache";
64*b095c27fSYu-Chun Lin				cache-level = <2>;
65*b095c27fSYu-Chun Lin				cache-line-size = <64>;
66*b095c27fSYu-Chun Lin				cache-sets = <256>;
67*b095c27fSYu-Chun Lin				cache-size = <0x40000>;
68*b095c27fSYu-Chun Lin				cache-unified;
69*b095c27fSYu-Chun Lin				next-level-cache = <&l3>;
70*b095c27fSYu-Chun Lin			};
71*b095c27fSYu-Chun Lin		};
72*b095c27fSYu-Chun Lin
73*b095c27fSYu-Chun Lin		cpu2: cpu@200 {
74*b095c27fSYu-Chun Lin			device_type = "cpu";
75*b095c27fSYu-Chun Lin			compatible = "arm,cortex-a78";
76*b095c27fSYu-Chun Lin			reg = <0x200>;
77*b095c27fSYu-Chun Lin			enable-method = "psci";
78*b095c27fSYu-Chun Lin			next-level-cache = <&l2_2>;
79*b095c27fSYu-Chun Lin			dynamic-power-coefficient = <454>;
80*b095c27fSYu-Chun Lin			#cooling-cells = <2>;
81*b095c27fSYu-Chun Lin
82*b095c27fSYu-Chun Lin			l2_2: l2-cache {
83*b095c27fSYu-Chun Lin				compatible = "cache";
84*b095c27fSYu-Chun Lin				cache-level = <2>;
85*b095c27fSYu-Chun Lin				cache-line-size = <64>;
86*b095c27fSYu-Chun Lin				cache-sets = <256>;
87*b095c27fSYu-Chun Lin				cache-size = <0x40000>;
88*b095c27fSYu-Chun Lin				cache-unified;
89*b095c27fSYu-Chun Lin				next-level-cache = <&l3>;
90*b095c27fSYu-Chun Lin			};
91*b095c27fSYu-Chun Lin		};
92*b095c27fSYu-Chun Lin
93*b095c27fSYu-Chun Lin		cpu3: cpu@300 {
94*b095c27fSYu-Chun Lin			device_type = "cpu";
95*b095c27fSYu-Chun Lin			compatible = "arm,cortex-a78";
96*b095c27fSYu-Chun Lin			reg = <0x300>;
97*b095c27fSYu-Chun Lin			enable-method = "psci";
98*b095c27fSYu-Chun Lin			next-level-cache = <&l2_3>;
99*b095c27fSYu-Chun Lin			dynamic-power-coefficient = <454>;
100*b095c27fSYu-Chun Lin			#cooling-cells = <2>;
101*b095c27fSYu-Chun Lin
102*b095c27fSYu-Chun Lin			l2_3: l2-cache {
103*b095c27fSYu-Chun Lin				compatible = "cache";
104*b095c27fSYu-Chun Lin				cache-level = <2>;
105*b095c27fSYu-Chun Lin				cache-line-size = <64>;
106*b095c27fSYu-Chun Lin				cache-sets = <256>;
107*b095c27fSYu-Chun Lin				cache-size = <0x40000>;
108*b095c27fSYu-Chun Lin				cache-unified;
109*b095c27fSYu-Chun Lin				next-level-cache = <&l3>;
110*b095c27fSYu-Chun Lin			};
111*b095c27fSYu-Chun Lin		};
112*b095c27fSYu-Chun Lin
113*b095c27fSYu-Chun Lin		l3: l3-cache {
114*b095c27fSYu-Chun Lin			compatible = "cache";
115*b095c27fSYu-Chun Lin			cache-level = <3>;
116*b095c27fSYu-Chun Lin			cache-line-size = <64>;
117*b095c27fSYu-Chun Lin			cache-sets = <512>;
118*b095c27fSYu-Chun Lin			cache-size = <0x200000>;
119*b095c27fSYu-Chun Lin			cache-unified;
120*b095c27fSYu-Chun Lin		};
121*b095c27fSYu-Chun Lin	};
122*b095c27fSYu-Chun Lin
123*b095c27fSYu-Chun Lin	psci: psci {
124*b095c27fSYu-Chun Lin		compatible = "arm,psci-1.0";
125*b095c27fSYu-Chun Lin		method = "smc";
126*b095c27fSYu-Chun Lin	};
127*b095c27fSYu-Chun Lin
128*b095c27fSYu-Chun Lin	soc@0 {
129*b095c27fSYu-Chun Lin		compatible = "simple-bus";
130*b095c27fSYu-Chun Lin		ranges = <0x0 0x0 0x0 0x40000>, /* boot code */
131*b095c27fSYu-Chun Lin			 <0x98000000 0x0 0x98000000 0xef0000>, /* rbus */
132*b095c27fSYu-Chun Lin			 <0xa0000000 0x0 0xa0000000 0x10000000>, /* PCIE */
133*b095c27fSYu-Chun Lin			 <0xff000000 0x0 0xff000000 0x200000>; /* GIC */
134*b095c27fSYu-Chun Lin		#address-cells = <1>;
135*b095c27fSYu-Chun Lin		#size-cells = <1>;
136*b095c27fSYu-Chun Lin
137*b095c27fSYu-Chun Lin		rbus: bus@98000000 {
138*b095c27fSYu-Chun Lin			compatible = "simple-bus";
139*b095c27fSYu-Chun Lin			ranges = <0x0 0x98000000 0xef0000>,
140*b095c27fSYu-Chun Lin				 <0xa0000000 0xa0000000 0x10000000>; /* PCIE */
141*b095c27fSYu-Chun Lin			#address-cells = <1>;
142*b095c27fSYu-Chun Lin			#size-cells = <1>;
143*b095c27fSYu-Chun Lin
144*b095c27fSYu-Chun Lin			uart0: serial@7800 {
145*b095c27fSYu-Chun Lin				compatible = "snps,dw-apb-uart";
146*b095c27fSYu-Chun Lin				reg = <0x7800 0x100>;
147*b095c27fSYu-Chun Lin				clock-frequency = <432000000>;
148*b095c27fSYu-Chun Lin				interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
149*b095c27fSYu-Chun Lin				reg-io-width = <4>;
150*b095c27fSYu-Chun Lin				reg-shift = <2>;
151*b095c27fSYu-Chun Lin				status = "disabled";
152*b095c27fSYu-Chun Lin			};
153*b095c27fSYu-Chun Lin		};
154*b095c27fSYu-Chun Lin
155*b095c27fSYu-Chun Lin		gic: interrupt-controller@ff100000 {
156*b095c27fSYu-Chun Lin			compatible = "arm,gic-v3";
157*b095c27fSYu-Chun Lin			reg = <0xff100000 0x10000>,
158*b095c27fSYu-Chun Lin			      <0xff140000 0x80000>;
159*b095c27fSYu-Chun Lin			interrupt-controller;
160*b095c27fSYu-Chun Lin			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
161*b095c27fSYu-Chun Lin			#address-cells = <1>;
162*b095c27fSYu-Chun Lin			#interrupt-cells = <3>;
163*b095c27fSYu-Chun Lin			#size-cells = <1>;
164*b095c27fSYu-Chun Lin		};
165*b095c27fSYu-Chun Lin	};
166*b095c27fSYu-Chun Lin};
167