18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Copyright (C) 2020, Intel Corporation.
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Device tree describing Keem Bay SoC.
68c2ecf20Sopenharmony_ci */
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h>
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci/ {
118c2ecf20Sopenharmony_ci	interrupt-parent = <&gic>;
128c2ecf20Sopenharmony_ci	#address-cells = <2>;
138c2ecf20Sopenharmony_ci	#size-cells = <2>;
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci	cpus {
168c2ecf20Sopenharmony_ci		#address-cells = <1>;
178c2ecf20Sopenharmony_ci		#size-cells = <0>;
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci		cpu@0 {
208c2ecf20Sopenharmony_ci			compatible = "arm,cortex-a53";
218c2ecf20Sopenharmony_ci			device_type = "cpu";
228c2ecf20Sopenharmony_ci			reg = <0x0>;
238c2ecf20Sopenharmony_ci			enable-method = "psci";
248c2ecf20Sopenharmony_ci		};
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci		cpu@1 {
278c2ecf20Sopenharmony_ci			compatible = "arm,cortex-a53";
288c2ecf20Sopenharmony_ci			device_type = "cpu";
298c2ecf20Sopenharmony_ci			reg = <0x1>;
308c2ecf20Sopenharmony_ci			enable-method = "psci";
318c2ecf20Sopenharmony_ci		};
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci		cpu@2 {
348c2ecf20Sopenharmony_ci			compatible = "arm,cortex-a53";
358c2ecf20Sopenharmony_ci			device_type = "cpu";
368c2ecf20Sopenharmony_ci			reg = <0x2>;
378c2ecf20Sopenharmony_ci			enable-method = "psci";
388c2ecf20Sopenharmony_ci		};
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci		cpu@3 {
418c2ecf20Sopenharmony_ci			compatible = "arm,cortex-a53";
428c2ecf20Sopenharmony_ci			device_type = "cpu";
438c2ecf20Sopenharmony_ci			reg = <0x3>;
448c2ecf20Sopenharmony_ci			enable-method = "psci";
458c2ecf20Sopenharmony_ci		};
468c2ecf20Sopenharmony_ci	};
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci	psci {
498c2ecf20Sopenharmony_ci		compatible = "arm,psci-0.2";
508c2ecf20Sopenharmony_ci		method = "smc";
518c2ecf20Sopenharmony_ci	};
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci	gic: interrupt-controller@20500000 {
548c2ecf20Sopenharmony_ci		compatible = "arm,gic-v3";
558c2ecf20Sopenharmony_ci		interrupt-controller;
568c2ecf20Sopenharmony_ci		#interrupt-cells = <3>;
578c2ecf20Sopenharmony_ci		reg = <0x0 0x20500000 0x0 0x20000>,	/* GICD */
588c2ecf20Sopenharmony_ci		      <0x0 0x20580000 0x0 0x80000>;	/* GICR */
598c2ecf20Sopenharmony_ci		/* VGIC maintenance interrupt */
608c2ecf20Sopenharmony_ci		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
618c2ecf20Sopenharmony_ci	};
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci	timer {
648c2ecf20Sopenharmony_ci		compatible = "arm,armv8-timer";
658c2ecf20Sopenharmony_ci		/* Secure, non-secure, virtual, and hypervisor */
668c2ecf20Sopenharmony_ci		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>,
678c2ecf20Sopenharmony_ci			     <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>,
688c2ecf20Sopenharmony_ci			     <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>,
698c2ecf20Sopenharmony_ci			     <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>;
708c2ecf20Sopenharmony_ci	};
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ci	pmu {
738c2ecf20Sopenharmony_ci		compatible = "arm,armv8-pmuv3";
748c2ecf20Sopenharmony_ci		interrupts = <GIC_PPI 0x7 IRQ_TYPE_LEVEL_HIGH>;
758c2ecf20Sopenharmony_ci	};
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ci	soc {
788c2ecf20Sopenharmony_ci		compatible = "simple-bus";
798c2ecf20Sopenharmony_ci		#address-cells = <2>;
808c2ecf20Sopenharmony_ci		#size-cells = <2>;
818c2ecf20Sopenharmony_ci		ranges;
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ci		uart0: serial@20150000 {
848c2ecf20Sopenharmony_ci			compatible = "snps,dw-apb-uart";
858c2ecf20Sopenharmony_ci			reg = <0x0 0x20150000 0x0 0x100>;
868c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
878c2ecf20Sopenharmony_ci			clock-frequency = <24000000>;
888c2ecf20Sopenharmony_ci			reg-shift = <2>;
898c2ecf20Sopenharmony_ci			reg-io-width = <4>;
908c2ecf20Sopenharmony_ci			status = "disabled";
918c2ecf20Sopenharmony_ci		};
928c2ecf20Sopenharmony_ci
938c2ecf20Sopenharmony_ci		uart1: serial@20160000 {
948c2ecf20Sopenharmony_ci			compatible = "snps,dw-apb-uart";
958c2ecf20Sopenharmony_ci			reg = <0x0 0x20160000 0x0 0x100>;
968c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
978c2ecf20Sopenharmony_ci			clock-frequency = <24000000>;
988c2ecf20Sopenharmony_ci			reg-shift = <2>;
998c2ecf20Sopenharmony_ci			reg-io-width = <4>;
1008c2ecf20Sopenharmony_ci			status = "disabled";
1018c2ecf20Sopenharmony_ci		};
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_ci		uart2: serial@20170000 {
1048c2ecf20Sopenharmony_ci			compatible = "snps,dw-apb-uart";
1058c2ecf20Sopenharmony_ci			reg = <0x0 0x20170000 0x0 0x100>;
1068c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
1078c2ecf20Sopenharmony_ci			clock-frequency = <24000000>;
1088c2ecf20Sopenharmony_ci			reg-shift = <2>;
1098c2ecf20Sopenharmony_ci			reg-io-width = <4>;
1108c2ecf20Sopenharmony_ci			status = "disabled";
1118c2ecf20Sopenharmony_ci		};
1128c2ecf20Sopenharmony_ci
1138c2ecf20Sopenharmony_ci		uart3: serial@20180000 {
1148c2ecf20Sopenharmony_ci			compatible = "snps,dw-apb-uart";
1158c2ecf20Sopenharmony_ci			reg = <0x0 0x20180000 0x0 0x100>;
1168c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
1178c2ecf20Sopenharmony_ci			clock-frequency = <24000000>;
1188c2ecf20Sopenharmony_ci			reg-shift = <2>;
1198c2ecf20Sopenharmony_ci			reg-io-width = <4>;
1208c2ecf20Sopenharmony_ci			status = "disabled";
1218c2ecf20Sopenharmony_ci		};
1228c2ecf20Sopenharmony_ci	};
1238c2ecf20Sopenharmony_ci};
124