// SPDX-License-Identifier: GPL-2.0 OR MIT
/*
 * Copyright (c) 2022, Arm Limited. All rights reserved.
 * Copyright (c) 2022, Linaro Limited. All rights reserved.
 *
 */

#include <dt-bindings/interrupt-controller/arm-gic.h>

/ {
	interrupt-parent = <&gic>;
	#address-cells = <1>;
	#size-cells = <1>;

	aliases {
		serial0 = &uart0;
		serial1 = &uart1;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		cpu: cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-a35";
			reg = <0>;
			next-level-cache = <&L2_0>;
		};
	};

	memory@88200000 {
		device_type = "memory";
		reg = <0x88200000 0x77e00000>;
	};

	gic: interrupt-controller@1c000000 {
		compatible = "arm,gic-400";
		#interrupt-cells = <3>;
		#address-cells = <0>;
		interrupt-controller;
		reg = <0x1c010000 0x1000>,
		      <0x1c02f000 0x2000>,
		      <0x1c04f000 0x1000>,
		      <0x1c06f000 0x2000>;
		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(1) |
			      IRQ_TYPE_LEVEL_LOW)>;
	};

	L2_0: l2-cache0 {
		compatible = "cache";
		cache-unified;
		cache-level = <2>;
		cache-size = <0x80000>;
		cache-line-size = <64>;
		cache-sets = <1024>;
	};

	refclk100mhz: refclk100mhz {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <100000000>;
		clock-output-names = "apb_pclk";
	};

	smbclk: refclk24mhzx2 {
		/* Reference 24MHz clock x 2 */
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <48000000>;
		clock-output-names = "smclk";
	};

	timer {
		compatible = "arm,armv8-timer";
		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
	};

	uartclk: uartclk {
		/* UART clock - 50MHz */
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <50000000>;
		clock-output-names = "uartclk";
	};

	psci {
		compatible = "arm,psci-1.0", "arm,psci-0.2";
		method = "smc";
	};

	soc {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		interrupt-parent = <&gic>;
		ranges;

		timer@1a220000 {
			compatible = "arm,armv7-timer-mem";
			reg = <0x1a220000 0x1000>;
			#address-cells = <1>;
			#size-cells = <1>;
			clock-frequency = <50000000>;
			ranges;

			frame@1a230000 {
				frame-number = <0>;
				interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
				reg = <0x1a230000 0x1000>;
			};
		};

		uart0: serial@1a510000 {
			compatible = "arm,pl011", "arm,primecell";
			reg = <0x1a510000 0x1000>;
			interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&uartclk>, <&refclk100mhz>;
			clock-names = "uartclk", "apb_pclk";
		};

		uart1: serial@1a520000 {
			compatible = "arm,pl011", "arm,primecell";
			reg = <0x1a520000 0x1000>;
			interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&uartclk>, <&refclk100mhz>;
			clock-names = "uartclk", "apb_pclk";
		};

		mhu_hse1: mailbox@1b820000 {
			compatible = "arm,mhuv2-tx", "arm,primecell";
			reg = <0x1b820000 0x1000>;
			clocks = <&refclk100mhz>;
			clock-names = "apb_pclk";
			interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
			#mbox-cells = <2>;
			arm,mhuv2-protocols = <0 0>;
			secure-status = "okay";     /* secure-world-only */
			status = "disabled";
		};

		mhu_seh1: mailbox@1b830000 {
			compatible = "arm,mhuv2-rx", "arm,primecell";
			reg = <0x1b830000 0x1000>;
			clocks = <&refclk100mhz>;
			clock-names = "apb_pclk";
			interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
			#mbox-cells = <2>;
			arm,mhuv2-protocols = <0 0>;
			secure-status = "okay";     /* secure-world-only */
			status = "disabled";
		};
	};
};
