xref: /linux/scripts/dtc/include-prefixes/arm64/exynos/exynos990.dtsi (revision 2f24482304ebd32c5aa374f31465b9941a860b92)
11e5f14efSIgor Belwon// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
21e5f14efSIgor Belwon/*
31e5f14efSIgor Belwon * Samsung Exynos 990 SoC device tree source
41e5f14efSIgor Belwon *
51e5f14efSIgor Belwon * Copyright (c) 2024, Igor Belwon <igor.belwon@mentallysanemainliners.org>
61e5f14efSIgor Belwon */
71e5f14efSIgor Belwon
872f6ec2bSIgor Belwon#include <dt-bindings/clock/samsung,exynos990.h>
91e5f14efSIgor Belwon#include <dt-bindings/interrupt-controller/arm-gic.h>
101e5f14efSIgor Belwon
111e5f14efSIgor Belwon/ {
121e5f14efSIgor Belwon	compatible = "samsung,exynos990";
131e5f14efSIgor Belwon	#address-cells = <2>;
141e5f14efSIgor Belwon	#size-cells = <1>;
151e5f14efSIgor Belwon
161e5f14efSIgor Belwon	interrupt-parent = <&gic>;
171e5f14efSIgor Belwon
181e5f14efSIgor Belwon	aliases {
191e5f14efSIgor Belwon		pinctrl0 = &pinctrl_alive;
201e5f14efSIgor Belwon		pinctrl1 = &pinctrl_cmgp;
211e5f14efSIgor Belwon		pinctrl2 = &pinctrl_hsi1;
221e5f14efSIgor Belwon		pinctrl3 = &pinctrl_hsi2;
231e5f14efSIgor Belwon		pinctrl4 = &pinctrl_peric0;
241e5f14efSIgor Belwon		pinctrl5 = &pinctrl_peric1;
251e5f14efSIgor Belwon		pinctrl6 = &pinctrl_vts;
261e5f14efSIgor Belwon	};
271e5f14efSIgor Belwon
281e5f14efSIgor Belwon	cpus {
291e5f14efSIgor Belwon		#address-cells = <1>;
301e5f14efSIgor Belwon		#size-cells = <0>;
311e5f14efSIgor Belwon
321e5f14efSIgor Belwon		cpu-map {
331e5f14efSIgor Belwon			cluster0 {
341e5f14efSIgor Belwon				core0 {
351e5f14efSIgor Belwon					cpu = <&cpu0>;
361e5f14efSIgor Belwon				};
371e5f14efSIgor Belwon
381e5f14efSIgor Belwon				core1 {
391e5f14efSIgor Belwon					cpu = <&cpu1>;
401e5f14efSIgor Belwon				};
411e5f14efSIgor Belwon
421e5f14efSIgor Belwon				core2 {
431e5f14efSIgor Belwon					cpu = <&cpu2>;
441e5f14efSIgor Belwon				};
451e5f14efSIgor Belwon
461e5f14efSIgor Belwon				core3 {
471e5f14efSIgor Belwon					cpu = <&cpu3>;
481e5f14efSIgor Belwon				};
491e5f14efSIgor Belwon			};
501e5f14efSIgor Belwon
511e5f14efSIgor Belwon			cluster1 {
521e5f14efSIgor Belwon				core0 {
531e5f14efSIgor Belwon					cpu = <&cpu4>;
541e5f14efSIgor Belwon				};
551e5f14efSIgor Belwon
561e5f14efSIgor Belwon				core1 {
571e5f14efSIgor Belwon					cpu = <&cpu5>;
581e5f14efSIgor Belwon				};
591e5f14efSIgor Belwon			};
601e5f14efSIgor Belwon
611e5f14efSIgor Belwon			cluster2 {
621e5f14efSIgor Belwon				core0 {
631e5f14efSIgor Belwon					cpu = <&cpu6>;
641e5f14efSIgor Belwon				};
651e5f14efSIgor Belwon
661e5f14efSIgor Belwon				core1 {
671e5f14efSIgor Belwon					cpu = <&cpu7>;
681e5f14efSIgor Belwon				};
691e5f14efSIgor Belwon			};
701e5f14efSIgor Belwon		};
711e5f14efSIgor Belwon
721e5f14efSIgor Belwon		cpu0: cpu@0 {
731e5f14efSIgor Belwon			device_type = "cpu";
741e5f14efSIgor Belwon			compatible = "arm,cortex-a55";
751e5f14efSIgor Belwon			reg = <0x0>;
761e5f14efSIgor Belwon			enable-method = "psci";
771e5f14efSIgor Belwon		};
781e5f14efSIgor Belwon
791e5f14efSIgor Belwon		cpu1: cpu@1 {
801e5f14efSIgor Belwon			device_type = "cpu";
811e5f14efSIgor Belwon			compatible = "arm,cortex-a55";
821e5f14efSIgor Belwon			reg = <0x1>;
831e5f14efSIgor Belwon			enable-method = "psci";
841e5f14efSIgor Belwon		};
851e5f14efSIgor Belwon
861e5f14efSIgor Belwon		cpu2: cpu@2 {
871e5f14efSIgor Belwon			device_type = "cpu";
881e5f14efSIgor Belwon			compatible = "arm,cortex-a55";
891e5f14efSIgor Belwon			reg = <0x2>;
901e5f14efSIgor Belwon			enable-method = "psci";
911e5f14efSIgor Belwon		};
921e5f14efSIgor Belwon
931e5f14efSIgor Belwon		cpu3: cpu@3 {
941e5f14efSIgor Belwon			device_type = "cpu";
951e5f14efSIgor Belwon			compatible = "arm,cortex-a55";
961e5f14efSIgor Belwon			reg = <0x3>;
971e5f14efSIgor Belwon			enable-method = "psci";
981e5f14efSIgor Belwon		};
991e5f14efSIgor Belwon
1001e5f14efSIgor Belwon		cpu4: cpu@100 {
1011e5f14efSIgor Belwon			device_type = "cpu";
1021e5f14efSIgor Belwon			compatible = "arm,cortex-a76";
1031e5f14efSIgor Belwon			reg = <0x4>;
1041e5f14efSIgor Belwon			enable-method = "psci";
1051e5f14efSIgor Belwon		};
1061e5f14efSIgor Belwon
1071e5f14efSIgor Belwon		cpu5: cpu@101 {
1081e5f14efSIgor Belwon			device_type = "cpu";
1091e5f14efSIgor Belwon			compatible = "arm,cortex-a76";
1101e5f14efSIgor Belwon			reg = <0x5>;
1111e5f14efSIgor Belwon			enable-method = "psci";
1121e5f14efSIgor Belwon		};
1131e5f14efSIgor Belwon
1141e5f14efSIgor Belwon		cpu6: cpu@200 {
1151e5f14efSIgor Belwon			device_type = "cpu";
1161e5f14efSIgor Belwon			compatible = "samsung,mongoose-m5";
1171e5f14efSIgor Belwon			reg = <0x6>;
1181e5f14efSIgor Belwon			enable-method = "psci";
1191e5f14efSIgor Belwon		};
1201e5f14efSIgor Belwon
1211e5f14efSIgor Belwon		cpu7: cpu@201 {
1221e5f14efSIgor Belwon			device_type = "cpu";
1231e5f14efSIgor Belwon			compatible = "samsung,mongoose-m5";
1241e5f14efSIgor Belwon			reg = <0x7>;
1251e5f14efSIgor Belwon			enable-method = "psci";
1261e5f14efSIgor Belwon		};
1271e5f14efSIgor Belwon	};
1281e5f14efSIgor Belwon
1291e5f14efSIgor Belwon	oscclk: clock-osc {
1301e5f14efSIgor Belwon		compatible = "fixed-clock";
1311e5f14efSIgor Belwon		#clock-cells = <0>;
1321e5f14efSIgor Belwon		clock-output-names = "oscclk";
1331e5f14efSIgor Belwon	};
1341e5f14efSIgor Belwon
135*282cbd43SIgor Belwon	pmu-a55 {
136*282cbd43SIgor Belwon		compatible = "arm,cortex-a55-pmu";
137*282cbd43SIgor Belwon		interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
138*282cbd43SIgor Belwon			     <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
139*282cbd43SIgor Belwon			     <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>,
140*282cbd43SIgor Belwon			     <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
141*282cbd43SIgor Belwon
142*282cbd43SIgor Belwon		interrupt-affinity = <&cpu0>,
143*282cbd43SIgor Belwon				     <&cpu1>,
144*282cbd43SIgor Belwon				     <&cpu2>,
145*282cbd43SIgor Belwon				     <&cpu3>;
146*282cbd43SIgor Belwon	};
147*282cbd43SIgor Belwon
148*282cbd43SIgor Belwon	pmu-a76 {
149*282cbd43SIgor Belwon		compatible = "arm,cortex-a76-pmu";
150*282cbd43SIgor Belwon		interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>,
151*282cbd43SIgor Belwon			     <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
152*282cbd43SIgor Belwon
153*282cbd43SIgor Belwon		interrupt-affinity = <&cpu4>,
154*282cbd43SIgor Belwon				     <&cpu5>;
155*282cbd43SIgor Belwon	};
156*282cbd43SIgor Belwon
157*282cbd43SIgor Belwon	pmu-mongoose-m5 {
158*282cbd43SIgor Belwon		compatible = "samsung,mongoose-pmu";
159*282cbd43SIgor Belwon		interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>,
160*282cbd43SIgor Belwon			     <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>;
161*282cbd43SIgor Belwon
162*282cbd43SIgor Belwon		interrupt-affinity = <&cpu6>,
163*282cbd43SIgor Belwon				     <&cpu7>;
164*282cbd43SIgor Belwon	};
165*282cbd43SIgor Belwon
1661e5f14efSIgor Belwon	psci {
1671e5f14efSIgor Belwon		compatible = "arm,psci-0.2";
1681e5f14efSIgor Belwon		method = "hvc";
1691e5f14efSIgor Belwon	};
1701e5f14efSIgor Belwon
1711e5f14efSIgor Belwon	soc: soc@0 {
1721e5f14efSIgor Belwon		compatible = "simple-bus";
1731e5f14efSIgor Belwon		ranges = <0x0 0x0 0x0 0x20000000>;
1741e5f14efSIgor Belwon
1751e5f14efSIgor Belwon		#address-cells = <1>;
1761e5f14efSIgor Belwon		#size-cells = <1>;
1771e5f14efSIgor Belwon
1781e5f14efSIgor Belwon		chipid@10000000 {
1791e5f14efSIgor Belwon			compatible = "samsung,exynos990-chipid",
1801e5f14efSIgor Belwon				     "samsung,exynos850-chipid";
1811e5f14efSIgor Belwon			reg = <0x10000000 0x100>;
1821e5f14efSIgor Belwon		};
1831e5f14efSIgor Belwon
184c2281478SIgor Belwon		cmu_peris: clock-controller@10020000 {
185c2281478SIgor Belwon			compatible = "samsung,exynos990-cmu-peris";
186c2281478SIgor Belwon			reg = <0x10020000 0x8000>;
187c2281478SIgor Belwon			#clock-cells = <1>;
188c2281478SIgor Belwon
189c2281478SIgor Belwon			clocks = <&oscclk>,
190c2281478SIgor Belwon				 <&cmu_top CLK_DOUT_CMU_PERIS_BUS>;
191c2281478SIgor Belwon			clock-names = "oscclk", "bus";
192c2281478SIgor Belwon		};
193c2281478SIgor Belwon
194c2281478SIgor Belwon		timer@10040000 {
195c2281478SIgor Belwon			compatible = "samsung,exynos990-mct",
196c2281478SIgor Belwon				     "samsung,exynos4210-mct";
197c2281478SIgor Belwon			reg = <0x10040000 0x800>;
198c2281478SIgor Belwon			clocks = <&oscclk>, <&cmu_peris CLK_GOUT_PERIS_MCT_PCLK>;
199c2281478SIgor Belwon			clock-names = "fin_pll", "mct";
200c2281478SIgor Belwon			interrupts = <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>,
201c2281478SIgor Belwon				     <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>,
202c2281478SIgor Belwon				     <GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>,
203c2281478SIgor Belwon				     <GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>,
204c2281478SIgor Belwon				     <GIC_SPI 470 IRQ_TYPE_LEVEL_HIGH>,
205c2281478SIgor Belwon				     <GIC_SPI 471 IRQ_TYPE_LEVEL_HIGH>,
206c2281478SIgor Belwon				     <GIC_SPI 472 IRQ_TYPE_LEVEL_HIGH>,
207c2281478SIgor Belwon				     <GIC_SPI 473 IRQ_TYPE_LEVEL_HIGH>,
208c2281478SIgor Belwon				     <GIC_SPI 474 IRQ_TYPE_LEVEL_HIGH>,
209c2281478SIgor Belwon				     <GIC_SPI 475 IRQ_TYPE_LEVEL_HIGH>,
210c2281478SIgor Belwon				     <GIC_SPI 476 IRQ_TYPE_LEVEL_HIGH>,
211c2281478SIgor Belwon				     <GIC_SPI 477 IRQ_TYPE_LEVEL_HIGH>;
212c2281478SIgor Belwon		};
213c2281478SIgor Belwon
2141e5f14efSIgor Belwon		gic: interrupt-controller@10101000 {
2151e5f14efSIgor Belwon			compatible = "arm,gic-400";
2161e5f14efSIgor Belwon			reg = <0x10101000 0x1000>,
2171e5f14efSIgor Belwon			      <0x10102000 0x1000>,
2181e5f14efSIgor Belwon			      <0x10104000 0x2000>,
2191e5f14efSIgor Belwon			      <0x10106000 0x2000>;
2201e5f14efSIgor Belwon			#interrupt-cells = <3>;
2211e5f14efSIgor Belwon			interrupt-controller;
2221e5f14efSIgor Belwon			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) |
2231e5f14efSIgor Belwon						 IRQ_TYPE_LEVEL_HIGH)>;
2241e5f14efSIgor Belwon			#address-cells = <0>;
2251e5f14efSIgor Belwon			#size-cells = <1>;
2261e5f14efSIgor Belwon		};
2271e5f14efSIgor Belwon
2281e5f14efSIgor Belwon		pinctrl_peric0: pinctrl@10430000 {
2291e5f14efSIgor Belwon			compatible = "samsung,exynos990-pinctrl";
2301e5f14efSIgor Belwon			reg = <0x10430000 0x1000>;
2311e5f14efSIgor Belwon			interrupts = <GIC_SPI 392 IRQ_TYPE_LEVEL_HIGH>;
2321e5f14efSIgor Belwon		};
2331e5f14efSIgor Belwon
2341e5f14efSIgor Belwon		pinctrl_peric1: pinctrl@10730000 {
2351e5f14efSIgor Belwon			compatible = "samsung,exynos990-pinctrl";
2361e5f14efSIgor Belwon			reg = <0x10730000 0x1000>;
2371e5f14efSIgor Belwon			interrupts = <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>;
2381e5f14efSIgor Belwon		};
2391e5f14efSIgor Belwon
24072f6ec2bSIgor Belwon		cmu_hsi0: clock-controller@10a00000 {
24172f6ec2bSIgor Belwon			compatible = "samsung,exynos990-cmu-hsi0";
24272f6ec2bSIgor Belwon			reg = <0x10a00000 0x8000>;
24372f6ec2bSIgor Belwon			#clock-cells = <1>;
24472f6ec2bSIgor Belwon
24572f6ec2bSIgor Belwon			clocks = <&oscclk>,
24672f6ec2bSIgor Belwon				 <&cmu_top CLK_DOUT_CMU_HSI0_BUS>,
24772f6ec2bSIgor Belwon				 <&cmu_top CLK_DOUT_CMU_HSI0_USB31DRD>,
24872f6ec2bSIgor Belwon				 <&cmu_top CLK_DOUT_CMU_HSI0_USBDP_DEBUG>,
24972f6ec2bSIgor Belwon				 <&cmu_top CLK_DOUT_CMU_HSI0_DPGTC>;
25072f6ec2bSIgor Belwon			clock-names = "oscclk",
25172f6ec2bSIgor Belwon				      "bus",
25272f6ec2bSIgor Belwon				      "usb31drd",
25372f6ec2bSIgor Belwon				      "usbdp_debug",
25472f6ec2bSIgor Belwon				      "dpgtc";
25572f6ec2bSIgor Belwon		};
25672f6ec2bSIgor Belwon
2571e5f14efSIgor Belwon		pinctrl_hsi1: pinctrl@13040000 {
2581e5f14efSIgor Belwon			compatible = "samsung,exynos990-pinctrl";
2591e5f14efSIgor Belwon			reg = <0x13040000 0x1000>;
2601e5f14efSIgor Belwon			interrupts = <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>;
2611e5f14efSIgor Belwon		};
2621e5f14efSIgor Belwon
2631e5f14efSIgor Belwon		pinctrl_hsi2: pinctrl@13c30000 {
2641e5f14efSIgor Belwon			compatible = "samsung,exynos990-pinctrl";
2651e5f14efSIgor Belwon			reg = <0x13c30000 0x1000>;
2661e5f14efSIgor Belwon			interrupts = <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>;
2671e5f14efSIgor Belwon		};
2681e5f14efSIgor Belwon
2691e5f14efSIgor Belwon		pinctrl_vts: pinctrl@15580000 {
2701e5f14efSIgor Belwon			compatible = "samsung,exynos990-pinctrl";
2711e5f14efSIgor Belwon			reg = <0x15580000 0x1000>;
2721e5f14efSIgor Belwon		};
2731e5f14efSIgor Belwon
2741e5f14efSIgor Belwon		pinctrl_alive: pinctrl@15850000 {
2751e5f14efSIgor Belwon			compatible = "samsung,exynos990-pinctrl";
2761e5f14efSIgor Belwon			reg = <0x15850000 0x1000>;
2771e5f14efSIgor Belwon
2781e5f14efSIgor Belwon			wakeup-interrupt-controller {
2791e5f14efSIgor Belwon				compatible = "samsung,exynos990-wakeup-eint",
2801e5f14efSIgor Belwon					     "samsung,exynos850-wakeup-eint",
2811e5f14efSIgor Belwon					     "samsung,exynos7-wakeup-eint";
2821e5f14efSIgor Belwon			};
2831e5f14efSIgor Belwon		};
2841e5f14efSIgor Belwon
285d5b3944bSIgor Belwon		pmu_system_controller: system-controller@15860000 {
286d5b3944bSIgor Belwon			compatible = "samsung,exynos990-pmu",
287d5b3944bSIgor Belwon				     "samsung,exynos7-pmu", "syscon";
288d5b3944bSIgor Belwon			reg = <0x15860000 0x10000>;
289d5b3944bSIgor Belwon
290d5b3944bSIgor Belwon			reboot: syscon-reboot {
291d5b3944bSIgor Belwon				compatible = "syscon-reboot";
292d5b3944bSIgor Belwon				regmap = <&pmu_system_controller>;
293d5b3944bSIgor Belwon				offset = <0x3a00>; /* SWRESET */
294d5b3944bSIgor Belwon				mask = <0x2>; /* SWRESET_TRIGGER */
295d5b3944bSIgor Belwon				value = <0x2>;
296d5b3944bSIgor Belwon			};
297d5b3944bSIgor Belwon		};
298d5b3944bSIgor Belwon
2991e5f14efSIgor Belwon		pinctrl_cmgp: pinctrl@15c30000 {
3001e5f14efSIgor Belwon			compatible = "samsung,exynos990-pinctrl";
3011e5f14efSIgor Belwon			reg = <0x15c30000 0x1000>;
3021e5f14efSIgor Belwon		};
30372f6ec2bSIgor Belwon
30472f6ec2bSIgor Belwon		cmu_top: clock-controller@1a330000 {
30572f6ec2bSIgor Belwon			compatible = "samsung,exynos990-cmu-top";
30672f6ec2bSIgor Belwon			reg = <0x1a330000 0x8000>;
30772f6ec2bSIgor Belwon			#clock-cells = <1>;
30872f6ec2bSIgor Belwon
30972f6ec2bSIgor Belwon			clocks = <&oscclk>;
31072f6ec2bSIgor Belwon			clock-names = "oscclk";
31172f6ec2bSIgor Belwon		};
3121e5f14efSIgor Belwon	};
3131e5f14efSIgor Belwon
3141e5f14efSIgor Belwon	timer {
3151e5f14efSIgor Belwon		compatible = "arm,armv8-timer";
3161e5f14efSIgor Belwon		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
3171e5f14efSIgor Belwon			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
3181e5f14efSIgor Belwon			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
3191e5f14efSIgor Belwon			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
3201e5f14efSIgor Belwon
3211e5f14efSIgor Belwon		/*
3221e5f14efSIgor Belwon		 * Non-updatable, broken stock Samsung bootloader does not
3231e5f14efSIgor Belwon		 * configure CNTFRQ_EL0
3241e5f14efSIgor Belwon		 */
3251e5f14efSIgor Belwon		clock-frequency = <26000000>;
3261e5f14efSIgor Belwon	};
3271e5f14efSIgor Belwon};
3281e5f14efSIgor Belwon
3291e5f14efSIgor Belwon#include "exynos990-pinctrl.dtsi"
330