xref: /freebsd/sys/contrib/device-tree/src/arm64/exynos/exynos8895.dtsi (revision 2846c90520eb4cc74e24d586a0ea0f4a0006bc73)
15f62a964SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
25f62a964SEmmanuel Vadot/*
35f62a964SEmmanuel Vadot * Samsung's Exynos 8895 SoC device tree source
45f62a964SEmmanuel Vadot *
55f62a964SEmmanuel Vadot * Copyright (c) 2024, Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
65f62a964SEmmanuel Vadot */
75f62a964SEmmanuel Vadot
85f62a964SEmmanuel Vadot#include <dt-bindings/clock/samsung,exynos8895.h>
95f62a964SEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
105f62a964SEmmanuel Vadot
115f62a964SEmmanuel Vadot/ {
125f62a964SEmmanuel Vadot	compatible = "samsung,exynos8895";
135f62a964SEmmanuel Vadot	#address-cells = <2>;
145f62a964SEmmanuel Vadot	#size-cells = <1>;
155f62a964SEmmanuel Vadot
165f62a964SEmmanuel Vadot	interrupt-parent = <&gic>;
175f62a964SEmmanuel Vadot
185f62a964SEmmanuel Vadot	aliases {
195f62a964SEmmanuel Vadot		pinctrl0 = &pinctrl_alive;
205f62a964SEmmanuel Vadot		pinctrl1 = &pinctrl_abox;
215f62a964SEmmanuel Vadot		pinctrl2 = &pinctrl_vts;
225f62a964SEmmanuel Vadot		pinctrl3 = &pinctrl_fsys0;
235f62a964SEmmanuel Vadot		pinctrl4 = &pinctrl_fsys1;
245f62a964SEmmanuel Vadot		pinctrl5 = &pinctrl_busc;
255f62a964SEmmanuel Vadot		pinctrl6 = &pinctrl_peric0;
265f62a964SEmmanuel Vadot		pinctrl7 = &pinctrl_peric1;
275f62a964SEmmanuel Vadot	};
285f62a964SEmmanuel Vadot
295f62a964SEmmanuel Vadot	arm-a53-pmu {
305f62a964SEmmanuel Vadot		compatible = "arm,cortex-a53-pmu";
315f62a964SEmmanuel Vadot		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
325f62a964SEmmanuel Vadot			     <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
335f62a964SEmmanuel Vadot			     <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
345f62a964SEmmanuel Vadot			     <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
355f62a964SEmmanuel Vadot		interrupt-affinity = <&cpu0>,
365f62a964SEmmanuel Vadot				     <&cpu1>,
375f62a964SEmmanuel Vadot				     <&cpu2>,
385f62a964SEmmanuel Vadot				     <&cpu3>;
395f62a964SEmmanuel Vadot	};
405f62a964SEmmanuel Vadot
41*2846c905SEmmanuel Vadot	mongoose-m2-pmu {
42*2846c905SEmmanuel Vadot		compatible = "samsung,mongoose-pmu";
43*2846c905SEmmanuel Vadot		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
44*2846c905SEmmanuel Vadot			     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
45*2846c905SEmmanuel Vadot			     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
46*2846c905SEmmanuel Vadot			     <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
47*2846c905SEmmanuel Vadot		interrupt-affinity = <&cpu4>,
48*2846c905SEmmanuel Vadot				     <&cpu5>,
49*2846c905SEmmanuel Vadot				     <&cpu6>,
50*2846c905SEmmanuel Vadot				     <&cpu7>;
51*2846c905SEmmanuel Vadot	};
525f62a964SEmmanuel Vadot
535f62a964SEmmanuel Vadot	cpus {
545f62a964SEmmanuel Vadot		#address-cells = <1>;
555f62a964SEmmanuel Vadot		#size-cells = <0>;
565f62a964SEmmanuel Vadot
575f62a964SEmmanuel Vadot		cpu-map {
585f62a964SEmmanuel Vadot			cluster0 {
595f62a964SEmmanuel Vadot				core0 {
605f62a964SEmmanuel Vadot					cpu = <&cpu0>;
615f62a964SEmmanuel Vadot				};
625f62a964SEmmanuel Vadot				core1 {
635f62a964SEmmanuel Vadot					cpu = <&cpu1>;
645f62a964SEmmanuel Vadot				};
655f62a964SEmmanuel Vadot				core2 {
665f62a964SEmmanuel Vadot					cpu = <&cpu2>;
675f62a964SEmmanuel Vadot				};
685f62a964SEmmanuel Vadot				core3 {
695f62a964SEmmanuel Vadot					cpu = <&cpu3>;
705f62a964SEmmanuel Vadot				};
715f62a964SEmmanuel Vadot			};
725f62a964SEmmanuel Vadot
735f62a964SEmmanuel Vadot			cluster1 {
745f62a964SEmmanuel Vadot				core0 {
755f62a964SEmmanuel Vadot					cpu = <&cpu4>;
765f62a964SEmmanuel Vadot				};
775f62a964SEmmanuel Vadot				core1 {
785f62a964SEmmanuel Vadot					cpu = <&cpu5>;
795f62a964SEmmanuel Vadot				};
805f62a964SEmmanuel Vadot				core2 {
815f62a964SEmmanuel Vadot					cpu = <&cpu6>;
825f62a964SEmmanuel Vadot				};
835f62a964SEmmanuel Vadot				core3 {
845f62a964SEmmanuel Vadot					cpu = <&cpu7>;
855f62a964SEmmanuel Vadot				};
865f62a964SEmmanuel Vadot			};
875f62a964SEmmanuel Vadot		};
885f62a964SEmmanuel Vadot
895f62a964SEmmanuel Vadot		cpu4: cpu@0 {
905f62a964SEmmanuel Vadot			device_type = "cpu";
915f62a964SEmmanuel Vadot			compatible = "samsung,mongoose-m2";
925f62a964SEmmanuel Vadot			reg = <0x0>;
935f62a964SEmmanuel Vadot			enable-method = "psci";
945f62a964SEmmanuel Vadot		};
955f62a964SEmmanuel Vadot
965f62a964SEmmanuel Vadot		cpu5: cpu@1 {
975f62a964SEmmanuel Vadot			device_type = "cpu";
985f62a964SEmmanuel Vadot			compatible = "samsung,mongoose-m2";
995f62a964SEmmanuel Vadot			reg = <0x1>;
1005f62a964SEmmanuel Vadot			enable-method = "psci";
1015f62a964SEmmanuel Vadot		};
1025f62a964SEmmanuel Vadot
1035f62a964SEmmanuel Vadot		cpu6: cpu@2 {
1045f62a964SEmmanuel Vadot			device_type = "cpu";
1055f62a964SEmmanuel Vadot			compatible = "samsung,mongoose-m2";
1065f62a964SEmmanuel Vadot			reg = <0x2>;
1075f62a964SEmmanuel Vadot			enable-method = "psci";
1085f62a964SEmmanuel Vadot		};
1095f62a964SEmmanuel Vadot
1105f62a964SEmmanuel Vadot		cpu7: cpu@3 {
1115f62a964SEmmanuel Vadot			device_type = "cpu";
1125f62a964SEmmanuel Vadot			compatible = "samsung,mongoose-m2";
1135f62a964SEmmanuel Vadot			reg = <0x3>;
1145f62a964SEmmanuel Vadot			enable-method = "psci";
1155f62a964SEmmanuel Vadot		};
1165f62a964SEmmanuel Vadot
1175f62a964SEmmanuel Vadot		cpu0: cpu@100 {
1185f62a964SEmmanuel Vadot			device_type = "cpu";
1195f62a964SEmmanuel Vadot			compatible = "arm,cortex-a53";
1205f62a964SEmmanuel Vadot			reg = <0x100>;
1215f62a964SEmmanuel Vadot			enable-method = "psci";
1225f62a964SEmmanuel Vadot		};
1235f62a964SEmmanuel Vadot
1245f62a964SEmmanuel Vadot		cpu1: cpu@101 {
1255f62a964SEmmanuel Vadot			device_type = "cpu";
1265f62a964SEmmanuel Vadot			compatible = "arm,cortex-a53";
1275f62a964SEmmanuel Vadot			reg = <0x101>;
1285f62a964SEmmanuel Vadot			enable-method = "psci";
1295f62a964SEmmanuel Vadot		};
1305f62a964SEmmanuel Vadot
1315f62a964SEmmanuel Vadot		cpu2: cpu@102 {
1325f62a964SEmmanuel Vadot			device_type = "cpu";
1335f62a964SEmmanuel Vadot			compatible = "arm,cortex-a53";
1345f62a964SEmmanuel Vadot			reg = <0x102>;
1355f62a964SEmmanuel Vadot			enable-method = "psci";
1365f62a964SEmmanuel Vadot		};
1375f62a964SEmmanuel Vadot
1385f62a964SEmmanuel Vadot		cpu3: cpu@103 {
1395f62a964SEmmanuel Vadot			device_type = "cpu";
1405f62a964SEmmanuel Vadot			compatible = "arm,cortex-a53";
1415f62a964SEmmanuel Vadot			reg = <0x103>;
1425f62a964SEmmanuel Vadot			enable-method = "psci";
1435f62a964SEmmanuel Vadot		};
1445f62a964SEmmanuel Vadot	};
1455f62a964SEmmanuel Vadot
1465f62a964SEmmanuel Vadot	oscclk: osc-clock {
1475f62a964SEmmanuel Vadot		compatible = "fixed-clock";
1485f62a964SEmmanuel Vadot		#clock-cells = <0>;
1495f62a964SEmmanuel Vadot		clock-output-names = "oscclk";
1505f62a964SEmmanuel Vadot	};
1515f62a964SEmmanuel Vadot
1525f62a964SEmmanuel Vadot	psci {
1535f62a964SEmmanuel Vadot		compatible = "arm,psci";
1545f62a964SEmmanuel Vadot		method = "smc";
1555f62a964SEmmanuel Vadot		cpu_off = <0x84000002>;
1565f62a964SEmmanuel Vadot		cpu_on = <0xc4000003>;
1575f62a964SEmmanuel Vadot		cpu_suspend = <0xc4000001>;
1585f62a964SEmmanuel Vadot	};
1595f62a964SEmmanuel Vadot
1605f62a964SEmmanuel Vadot	soc: soc@0 {
1615f62a964SEmmanuel Vadot		compatible = "simple-bus";
1625f62a964SEmmanuel Vadot		ranges = <0x0 0x0 0x0 0x20000000>;
1635f62a964SEmmanuel Vadot
1645f62a964SEmmanuel Vadot		#address-cells = <1>;
1655f62a964SEmmanuel Vadot		#size-cells = <1>;
1665f62a964SEmmanuel Vadot
1675f62a964SEmmanuel Vadot		chipid@10000000 {
1685f62a964SEmmanuel Vadot			compatible = "samsung,exynos8895-chipid",
1695f62a964SEmmanuel Vadot				     "samsung,exynos850-chipid";
1705f62a964SEmmanuel Vadot			reg = <0x10000000 0x24>;
1715f62a964SEmmanuel Vadot		};
1725f62a964SEmmanuel Vadot
1735f62a964SEmmanuel Vadot		cmu_peris: clock-controller@10010000 {
1745f62a964SEmmanuel Vadot			compatible = "samsung,exynos8895-cmu-peris";
1755f62a964SEmmanuel Vadot			reg = <0x10010000 0x8000>;
1765f62a964SEmmanuel Vadot			#clock-cells = <1>;
1775f62a964SEmmanuel Vadot			clocks = <&oscclk>,
1785f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_PERIS_BUS>;
1795f62a964SEmmanuel Vadot			clock-names = "oscclk", "bus";
1805f62a964SEmmanuel Vadot		};
1815f62a964SEmmanuel Vadot
1825f62a964SEmmanuel Vadot		timer@10040000 {
1835f62a964SEmmanuel Vadot			compatible = "samsung,exynos8895-mct",
1845f62a964SEmmanuel Vadot				     "samsung,exynos4210-mct";
1855f62a964SEmmanuel Vadot			reg = <0x10040000 0x800>;
1865f62a964SEmmanuel Vadot			clocks = <&oscclk>, <&cmu_peris CLK_GOUT_PERIS_MCT_PCLK>;
1875f62a964SEmmanuel Vadot			clock-names = "fin_pll", "mct";
1885f62a964SEmmanuel Vadot			interrupts = <GIC_SPI 455 IRQ_TYPE_LEVEL_HIGH>,
1895f62a964SEmmanuel Vadot				     <GIC_SPI 456 IRQ_TYPE_LEVEL_HIGH>,
1905f62a964SEmmanuel Vadot				     <GIC_SPI 457 IRQ_TYPE_LEVEL_HIGH>,
1915f62a964SEmmanuel Vadot				     <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH>,
1925f62a964SEmmanuel Vadot				     <GIC_SPI 459 IRQ_TYPE_LEVEL_HIGH>,
1935f62a964SEmmanuel Vadot				     <GIC_SPI 460 IRQ_TYPE_LEVEL_HIGH>,
1945f62a964SEmmanuel Vadot				     <GIC_SPI 461 IRQ_TYPE_LEVEL_HIGH>,
1955f62a964SEmmanuel Vadot				     <GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH>,
1965f62a964SEmmanuel Vadot				     <GIC_SPI 463 IRQ_TYPE_LEVEL_HIGH>,
1975f62a964SEmmanuel Vadot				     <GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>,
1985f62a964SEmmanuel Vadot				     <GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>,
1995f62a964SEmmanuel Vadot				     <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>;
2005f62a964SEmmanuel Vadot		};
2015f62a964SEmmanuel Vadot
2025f62a964SEmmanuel Vadot		gic: interrupt-controller@10201000 {
2035f62a964SEmmanuel Vadot			compatible = "arm,gic-400";
2045f62a964SEmmanuel Vadot			reg = <0x10201000 0x1000>,
2055f62a964SEmmanuel Vadot			      <0x10202000 0x1000>,
2065f62a964SEmmanuel Vadot			      <0x10204000 0x2000>,
2075f62a964SEmmanuel Vadot			      <0x10206000 0x2000>;
2085f62a964SEmmanuel Vadot			#interrupt-cells = <3>;
2095f62a964SEmmanuel Vadot			interrupt-controller;
2105f62a964SEmmanuel Vadot			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) |
2115f62a964SEmmanuel Vadot						 IRQ_TYPE_LEVEL_HIGH)>;
2125f62a964SEmmanuel Vadot			#address-cells = <0>;
2135f62a964SEmmanuel Vadot			#size-cells = <1>;
2145f62a964SEmmanuel Vadot		};
2155f62a964SEmmanuel Vadot
2165f62a964SEmmanuel Vadot		cmu_peric0: clock-controller@10400000 {
2175f62a964SEmmanuel Vadot			compatible = "samsung,exynos8895-cmu-peric0";
2185f62a964SEmmanuel Vadot			reg = <0x10400000 0x8000>;
2195f62a964SEmmanuel Vadot			#clock-cells = <1>;
2205f62a964SEmmanuel Vadot			clocks = <&oscclk>,
2215f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_PERIC0_BUS>,
2225f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_PERIC0_UART_DBG>,
2235f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_PERIC0_USI00>,
2245f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_PERIC0_USI01>,
2255f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_PERIC0_USI02>,
2265f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_PERIC0_USI03>;
2275f62a964SEmmanuel Vadot			clock-names = "oscclk", "bus", "uart", "usi0",
2285f62a964SEmmanuel Vadot				      "usi1", "usi2", "usi3";
2295f62a964SEmmanuel Vadot		};
2305f62a964SEmmanuel Vadot
231*2846c905SEmmanuel Vadot		serial_0: serial@10430000 {
232*2846c905SEmmanuel Vadot			compatible = "samsung,exynos8895-uart";
233*2846c905SEmmanuel Vadot			reg = <0x10430000 0x100>;
234*2846c905SEmmanuel Vadot			clocks = <&cmu_peric0 CLK_GOUT_PERIC0_UART_DBG_PCLK>,
235*2846c905SEmmanuel Vadot				 <&cmu_peric0 CLK_GOUT_PERIC0_UART_DBG_EXT_UCLK>;
236*2846c905SEmmanuel Vadot			clock-names = "uart", "clk_uart_baud0";
237*2846c905SEmmanuel Vadot			interrupts = <GIC_SPI 385 IRQ_TYPE_LEVEL_HIGH>;
238*2846c905SEmmanuel Vadot			pinctrl-names = "default";
239*2846c905SEmmanuel Vadot			pinctrl-0 = <&uart0_bus>;
240*2846c905SEmmanuel Vadot			samsung,uart-fifosize = <256>;
241*2846c905SEmmanuel Vadot			status = "disabled";
242*2846c905SEmmanuel Vadot		};
243*2846c905SEmmanuel Vadot
2445f62a964SEmmanuel Vadot		pinctrl_peric0: pinctrl@104d0000 {
2455f62a964SEmmanuel Vadot			compatible = "samsung,exynos8895-pinctrl";
2465f62a964SEmmanuel Vadot			reg = <0x104d0000 0x1000>;
2475f62a964SEmmanuel Vadot			interrupts = <GIC_SPI 386 IRQ_TYPE_LEVEL_HIGH>;
2485f62a964SEmmanuel Vadot		};
2495f62a964SEmmanuel Vadot
2505f62a964SEmmanuel Vadot		cmu_peric1: clock-controller@10800000 {
2515f62a964SEmmanuel Vadot			compatible = "samsung,exynos8895-cmu-peric1";
2525f62a964SEmmanuel Vadot			reg = <0x10800000 0x8000>;
2535f62a964SEmmanuel Vadot			#clock-cells = <1>;
2545f62a964SEmmanuel Vadot			clocks = <&oscclk>,
2555f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_PERIC1_BUS>,
2565f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_PERIC1_SPEEDY2>,
2575f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_PERIC1_SPI_CAM0>,
2585f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_PERIC1_SPI_CAM1>,
2595f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_PERIC1_UART_BT>,
2605f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_PERIC1_USI04>,
2615f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_PERIC1_USI05>,
2625f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_PERIC1_USI06>,
2635f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_PERIC1_USI07>,
2645f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_PERIC1_USI08>,
2655f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_PERIC1_USI09>,
2665f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_PERIC1_USI10>,
2675f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_PERIC1_USI11>,
2685f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_PERIC1_USI12>,
2695f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_PERIC1_USI13>;
2705f62a964SEmmanuel Vadot			clock-names = "oscclk", "bus", "speedy", "cam0",
2715f62a964SEmmanuel Vadot				      "cam1", "uart", "usi4", "usi5",
2725f62a964SEmmanuel Vadot				      "usi6", "usi7", "usi8", "usi9",
2735f62a964SEmmanuel Vadot				      "usi10", "usi11", "usi12", "usi13";
2745f62a964SEmmanuel Vadot		};
2755f62a964SEmmanuel Vadot
276*2846c905SEmmanuel Vadot		serial_1: serial@10830000 {
277*2846c905SEmmanuel Vadot			compatible = "samsung,exynos8895-uart";
278*2846c905SEmmanuel Vadot			reg = <0x10830000 0x100>;
279*2846c905SEmmanuel Vadot			clocks = <&cmu_peric1 CLK_GOUT_PERIC1_UART_BT_PCLK>,
280*2846c905SEmmanuel Vadot				 <&cmu_peric1 CLK_GOUT_PERIC1_UART_BT_EXT_UCLK>;
281*2846c905SEmmanuel Vadot			clock-names = "uart", "clk_uart_baud0";
282*2846c905SEmmanuel Vadot			interrupts = <GIC_SPI 389 IRQ_TYPE_LEVEL_HIGH>;
283*2846c905SEmmanuel Vadot			pinctrl-names = "default";
284*2846c905SEmmanuel Vadot			pinctrl-0 = <&uart1_bus>;
285*2846c905SEmmanuel Vadot			samsung,uart-fifosize = <256>;
286*2846c905SEmmanuel Vadot			status = "disabled";
287*2846c905SEmmanuel Vadot		};
288*2846c905SEmmanuel Vadot
2895f62a964SEmmanuel Vadot		pinctrl_peric1: pinctrl@10980000 {
2905f62a964SEmmanuel Vadot			compatible = "samsung,exynos8895-pinctrl";
2915f62a964SEmmanuel Vadot			reg = <0x10980000 0x1000>;
2925f62a964SEmmanuel Vadot			interrupts = <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>;
2935f62a964SEmmanuel Vadot		};
2945f62a964SEmmanuel Vadot
295*2846c905SEmmanuel Vadot		hsi2c_1: i2c@10990000 {
296*2846c905SEmmanuel Vadot			compatible = "samsung,exynos8895-hsi2c";
297*2846c905SEmmanuel Vadot			reg = <0x10990000 0x1000>;
298*2846c905SEmmanuel Vadot			clocks = <&cmu_peric1 CLK_GOUT_PERIC1_HSI2C_CAM0_IPCLK>;
299*2846c905SEmmanuel Vadot			clock-names = "hsi2c";
300*2846c905SEmmanuel Vadot			interrupts = <GIC_SPI 431 IRQ_TYPE_LEVEL_HIGH>;
301*2846c905SEmmanuel Vadot			pinctrl-0 = <&hsi2c1_bus>;
302*2846c905SEmmanuel Vadot			pinctrl-names = "default";
303*2846c905SEmmanuel Vadot			status = "disabled";
304*2846c905SEmmanuel Vadot		};
305*2846c905SEmmanuel Vadot
306*2846c905SEmmanuel Vadot		hsi2c_2: i2c@109a0000 {
307*2846c905SEmmanuel Vadot			compatible = "samsung,exynos8895-hsi2c";
308*2846c905SEmmanuel Vadot			reg = <0x109a0000 0x1000>;
309*2846c905SEmmanuel Vadot			clocks = <&cmu_peric1 CLK_GOUT_PERIC1_HSI2C_CAM1_IPCLK>;
310*2846c905SEmmanuel Vadot			clock-names = "hsi2c";
311*2846c905SEmmanuel Vadot			interrupts = <GIC_SPI 432 IRQ_TYPE_LEVEL_HIGH>;
312*2846c905SEmmanuel Vadot			pinctrl-0 = <&hsi2c2_bus>;
313*2846c905SEmmanuel Vadot			pinctrl-names = "default";
314*2846c905SEmmanuel Vadot			status = "disabled";
315*2846c905SEmmanuel Vadot		};
316*2846c905SEmmanuel Vadot
317*2846c905SEmmanuel Vadot		hsi2c_3: i2c@109b0000 {
318*2846c905SEmmanuel Vadot			compatible = "samsung,exynos8895-hsi2c";
319*2846c905SEmmanuel Vadot			reg = <0x109b0000 0x1000>;
320*2846c905SEmmanuel Vadot			clocks = <&cmu_peric1 CLK_GOUT_PERIC1_HSI2C_CAM2_IPCLK>;
321*2846c905SEmmanuel Vadot			clock-names = "hsi2c";
322*2846c905SEmmanuel Vadot			interrupts = <GIC_SPI 433 IRQ_TYPE_LEVEL_HIGH>;
323*2846c905SEmmanuel Vadot			pinctrl-0 = <&hsi2c3_bus>;
324*2846c905SEmmanuel Vadot			pinctrl-names = "default";
325*2846c905SEmmanuel Vadot			status = "disabled";
326*2846c905SEmmanuel Vadot		};
327*2846c905SEmmanuel Vadot
328*2846c905SEmmanuel Vadot		hsi2c_4: i2c@109c0000 {
329*2846c905SEmmanuel Vadot			compatible = "samsung,exynos8895-hsi2c";
330*2846c905SEmmanuel Vadot			reg = <0x109c0000 0x1000>;
331*2846c905SEmmanuel Vadot			clocks = <&cmu_peric1 CLK_GOUT_PERIC1_HSI2C_CAM3_IPCLK>;
332*2846c905SEmmanuel Vadot			clock-names = "hsi2c";
333*2846c905SEmmanuel Vadot			interrupts = <GIC_SPI 434 IRQ_TYPE_LEVEL_HIGH>;
334*2846c905SEmmanuel Vadot			pinctrl-0 = <&hsi2c4_bus>;
335*2846c905SEmmanuel Vadot			pinctrl-names = "default";
336*2846c905SEmmanuel Vadot			status = "disabled";
337*2846c905SEmmanuel Vadot		};
338*2846c905SEmmanuel Vadot
3395f62a964SEmmanuel Vadot		spi_0: spi@109d0000 {
3405f62a964SEmmanuel Vadot			compatible = "samsung,exynos8895-spi",
3415f62a964SEmmanuel Vadot				     "samsung,exynos850-spi";
3425f62a964SEmmanuel Vadot			reg = <0x109d0000 0x100>;
3435f62a964SEmmanuel Vadot			#address-cells = <1>;
3445f62a964SEmmanuel Vadot			#size-cells = <0>;
3455f62a964SEmmanuel Vadot			clocks = <&cmu_peric1 CLK_GOUT_PERIC1_SPI_CAM0_PCLK>,
3465f62a964SEmmanuel Vadot				 <&cmu_peric1 CLK_GOUT_PERIC1_SPI_CAM0_SPI_EXT_CLK>;
3475f62a964SEmmanuel Vadot			clock-names = "spi", "spi_busclk0";
3485f62a964SEmmanuel Vadot			interrupts = <GIC_SPI 435 IRQ_TYPE_LEVEL_HIGH>;
3495f62a964SEmmanuel Vadot			pinctrl-0 = <&spi0_bus>;
3505f62a964SEmmanuel Vadot			pinctrl-names = "default";
3515f62a964SEmmanuel Vadot			status = "disabled";
3525f62a964SEmmanuel Vadot		};
3535f62a964SEmmanuel Vadot
3545f62a964SEmmanuel Vadot		spi_1: spi@109e0000 {
3555f62a964SEmmanuel Vadot			compatible = "samsung,exynos8895-spi",
3565f62a964SEmmanuel Vadot				     "samsung,exynos850-spi";
3575f62a964SEmmanuel Vadot			reg = <0x109e0000 0x100>;
3585f62a964SEmmanuel Vadot			#address-cells = <1>;
3595f62a964SEmmanuel Vadot			#size-cells = <0>;
3605f62a964SEmmanuel Vadot			clocks = <&cmu_peric1 CLK_GOUT_PERIC1_SPI_CAM1_PCLK>,
3615f62a964SEmmanuel Vadot				 <&cmu_peric1 CLK_GOUT_PERIC1_SPI_CAM1_SPI_EXT_CLK>;
3625f62a964SEmmanuel Vadot			clock-names = "spi", "spi_busclk0";
3635f62a964SEmmanuel Vadot			interrupts = <GIC_SPI 436 IRQ_TYPE_LEVEL_HIGH>;
3645f62a964SEmmanuel Vadot			pinctrl-0 = <&spi1_bus>;
3655f62a964SEmmanuel Vadot			pinctrl-names = "default";
3665f62a964SEmmanuel Vadot			status = "disabled";
3675f62a964SEmmanuel Vadot		};
3685f62a964SEmmanuel Vadot
3695f62a964SEmmanuel Vadot		cmu_fsys0: clock-controller@11000000 {
3705f62a964SEmmanuel Vadot			compatible = "samsung,exynos8895-cmu-fsys0";
3715f62a964SEmmanuel Vadot			reg = <0x11000000 0x8000>;
3725f62a964SEmmanuel Vadot			#clock-cells = <1>;
3735f62a964SEmmanuel Vadot			clocks = <&oscclk>,
3745f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_FSYS0_BUS>,
3755f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_FSYS0_DPGTC>,
3765f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_FSYS0_MMC_EMBD>,
3775f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_FSYS0_UFS_EMBD>,
3785f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_FSYS0_USBDRD30>;
3795f62a964SEmmanuel Vadot			clock-names = "oscclk", "bus", "dpgtc", "mmc",
3805f62a964SEmmanuel Vadot				      "ufs", "usbdrd30";
3815f62a964SEmmanuel Vadot		};
3825f62a964SEmmanuel Vadot
3835f62a964SEmmanuel Vadot		pinctrl_fsys0: pinctrl@11050000 {
3845f62a964SEmmanuel Vadot			compatible = "samsung,exynos8895-pinctrl";
3855f62a964SEmmanuel Vadot			reg = <0x11050000 0x1000>;
3865f62a964SEmmanuel Vadot			interrupts = <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>;
3875f62a964SEmmanuel Vadot		};
3885f62a964SEmmanuel Vadot
3895f62a964SEmmanuel Vadot		cmu_fsys1: clock-controller@11400000 {
3905f62a964SEmmanuel Vadot			compatible = "samsung,exynos8895-cmu-fsys1";
3915f62a964SEmmanuel Vadot			reg = <0x11400000 0x8000>;
3925f62a964SEmmanuel Vadot			#clock-cells = <1>;
3935f62a964SEmmanuel Vadot			clocks = <&oscclk>,
3945f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_FSYS1_BUS>,
3955f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_FSYS1_PCIE>,
3965f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_FSYS1_UFS_CARD>,
3975f62a964SEmmanuel Vadot				 <&cmu_top CLK_DOUT_CMU_FSYS1_MMC_CARD>;
3985f62a964SEmmanuel Vadot			clock-names = "oscclk", "bus", "pcie", "ufs", "mmc";
3995f62a964SEmmanuel Vadot		};
4005f62a964SEmmanuel Vadot
4015f62a964SEmmanuel Vadot		pinctrl_fsys1: pinctrl@11430000 {
4025f62a964SEmmanuel Vadot			compatible = "samsung,exynos8895-pinctrl";
4035f62a964SEmmanuel Vadot			reg = <0x11430000 0x1000>;
4045f62a964SEmmanuel Vadot			interrupts = <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>;
4055f62a964SEmmanuel Vadot		};
4065f62a964SEmmanuel Vadot
4075f62a964SEmmanuel Vadot		pinctrl_abox: pinctrl@13e60000 {
4085f62a964SEmmanuel Vadot			compatible = "samsung,exynos8895-pinctrl";
4095f62a964SEmmanuel Vadot			reg = <0x13e60000 0x1000>;
4105f62a964SEmmanuel Vadot		};
4115f62a964SEmmanuel Vadot
4125f62a964SEmmanuel Vadot		pinctrl_vts: pinctrl@14080000 {
4135f62a964SEmmanuel Vadot			compatible = "samsung,exynos8895-pinctrl";
4145f62a964SEmmanuel Vadot			reg = <0x14080000 0x1000>;
4155f62a964SEmmanuel Vadot		};
4165f62a964SEmmanuel Vadot
4175f62a964SEmmanuel Vadot		pinctrl_busc: pinctrl@15a30000 {
4185f62a964SEmmanuel Vadot			compatible = "samsung,exynos8895-pinctrl";
4195f62a964SEmmanuel Vadot			reg = <0x15a30000 0x1000>;
4205f62a964SEmmanuel Vadot			interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
4215f62a964SEmmanuel Vadot		};
4225f62a964SEmmanuel Vadot
4235f62a964SEmmanuel Vadot		cmu_top: clock-controller@15a80000 {
4245f62a964SEmmanuel Vadot			compatible = "samsung,exynos8895-cmu-top";
4255f62a964SEmmanuel Vadot			reg = <0x15a80000 0x8000>;
4265f62a964SEmmanuel Vadot			#clock-cells = <1>;
4275f62a964SEmmanuel Vadot			clocks = <&oscclk>;
4285f62a964SEmmanuel Vadot			clock-names = "oscclk";
4295f62a964SEmmanuel Vadot		};
4305f62a964SEmmanuel Vadot
4315f62a964SEmmanuel Vadot		pmu_system_controller: system-controller@16480000 {
4325f62a964SEmmanuel Vadot			compatible = "samsung,exynos8895-pmu",
4335f62a964SEmmanuel Vadot				     "samsung,exynos7-pmu", "syscon";
4345f62a964SEmmanuel Vadot			reg = <0x16480000 0x10000>;
4355f62a964SEmmanuel Vadot		};
4365f62a964SEmmanuel Vadot
4375f62a964SEmmanuel Vadot		pinctrl_alive: pinctrl@164b0000 {
4385f62a964SEmmanuel Vadot			compatible = "samsung,exynos8895-pinctrl";
4395f62a964SEmmanuel Vadot			reg = <0x164b0000 0x1000>;
4405f62a964SEmmanuel Vadot
4415f62a964SEmmanuel Vadot			wakeup-interrupt-controller {
4425f62a964SEmmanuel Vadot				compatible = "samsung,exynos8895-wakeup-eint",
4435f62a964SEmmanuel Vadot					     "samsung,exynos7-wakeup-eint";
4445f62a964SEmmanuel Vadot				interrupt-parent = <&gic>;
4455f62a964SEmmanuel Vadot				interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
4465f62a964SEmmanuel Vadot			};
4475f62a964SEmmanuel Vadot		};
4485f62a964SEmmanuel Vadot	};
4495f62a964SEmmanuel Vadot
4505f62a964SEmmanuel Vadot	timer {
4515f62a964SEmmanuel Vadot		compatible = "arm,armv8-timer";
4525f62a964SEmmanuel Vadot		/* Hypervisor Virtual Timer interrupt is not wired to GIC */
4535f62a964SEmmanuel Vadot		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
4545f62a964SEmmanuel Vadot			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
4555f62a964SEmmanuel Vadot			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
4565f62a964SEmmanuel Vadot			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
4575f62a964SEmmanuel Vadot		/*
4585f62a964SEmmanuel Vadot		 * Non-updatable, broken stock Samsung bootloader does not
4595f62a964SEmmanuel Vadot		 * configure CNTFRQ_EL0
4605f62a964SEmmanuel Vadot		 */
4615f62a964SEmmanuel Vadot		clock-frequency = <26000000>;
4625f62a964SEmmanuel Vadot	};
4635f62a964SEmmanuel Vadot};
4645f62a964SEmmanuel Vadot
4655f62a964SEmmanuel Vadot#include "exynos8895-pinctrl.dtsi"
4665f62a964SEmmanuel Vadot#include "arm/samsung/exynos-syscon-restart.dtsi"
467