xref: /arm-trusted-firmware/fdts/morello.dtsi (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu/*
2*91f16700Schasinglulu * Copyright (c) 2020-2023, Arm Limited. All rights reserved.
3*91f16700Schasinglulu *
4*91f16700Schasinglulu * SPDX-License-Identifier: BSD-3-Clause
5*91f16700Schasinglulu */
6*91f16700Schasinglulu
7*91f16700Schasinglulu#include <dt-bindings/interrupt-controller/arm-gic.h>
8*91f16700Schasinglulu
9*91f16700Schasinglulu/ {
10*91f16700Schasinglulu	compatible = "arm,morello";
11*91f16700Schasinglulu
12*91f16700Schasinglulu	interrupt-parent = <&gic>;
13*91f16700Schasinglulu	#address-cells = <2>;
14*91f16700Schasinglulu	#size-cells = <2>;
15*91f16700Schasinglulu
16*91f16700Schasinglulu	aliases {
17*91f16700Schasinglulu		serial0 = &soc_uart0;
18*91f16700Schasinglulu	};
19*91f16700Schasinglulu
20*91f16700Schasinglulu	gic: interrupt-controller@2c010000 {
21*91f16700Schasinglulu		compatible = "arm,gic-v3";
22*91f16700Schasinglulu		#address-cells = <2>;
23*91f16700Schasinglulu		#interrupt-cells = <3>;
24*91f16700Schasinglulu		#size-cells = <2>;
25*91f16700Schasinglulu		ranges;
26*91f16700Schasinglulu		interrupt-controller;
27*91f16700Schasinglulu	};
28*91f16700Schasinglulu
29*91f16700Schasinglulu	pmu {
30*91f16700Schasinglulu		compatible = "arm,armv8-pmuv3";
31*91f16700Schasinglulu		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
32*91f16700Schasinglulu	};
33*91f16700Schasinglulu
34*91f16700Schasinglulu	spe-pmu {
35*91f16700Schasinglulu		compatible = "arm,statistical-profiling-extension-v1";
36*91f16700Schasinglulu		interrupts = <GIC_PPI 5 IRQ_TYPE_LEVEL_HIGH>;
37*91f16700Schasinglulu	};
38*91f16700Schasinglulu
39*91f16700Schasinglulu	psci {
40*91f16700Schasinglulu		compatible = "arm,psci-0.2";
41*91f16700Schasinglulu		method = "smc";
42*91f16700Schasinglulu	};
43*91f16700Schasinglulu
44*91f16700Schasinglulu	timer {
45*91f16700Schasinglulu		compatible = "arm,armv8-timer";
46*91f16700Schasinglulu		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
47*91f16700Schasinglulu			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
48*91f16700Schasinglulu			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
49*91f16700Schasinglulu			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
50*91f16700Schasinglulu	};
51*91f16700Schasinglulu
52*91f16700Schasinglulu	mailbox: mhu@45000000 {
53*91f16700Schasinglulu		compatible = "arm,mhu-doorbell", "arm,primecell";
54*91f16700Schasinglulu		reg = <0x0 0x45000000 0x0 0x1000>;
55*91f16700Schasinglulu		interrupts = <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
56*91f16700Schasinglulu			     <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>;
57*91f16700Schasinglulu		interrupt-names = "mhu_lpri_rx",
58*91f16700Schasinglulu				  "mhu_hpri_rx";
59*91f16700Schasinglulu		#mbox-cells = <2>;
60*91f16700Schasinglulu		mbox-name = "ARM-MHU";
61*91f16700Schasinglulu		clocks = <&soc_refclk50mhz>;
62*91f16700Schasinglulu		clock-names = "apb_pclk";
63*91f16700Schasinglulu	};
64*91f16700Schasinglulu
65*91f16700Schasinglulu	sram: sram@45200000 {
66*91f16700Schasinglulu		compatible = "mmio-sram";
67*91f16700Schasinglulu		reg = <0x0 0x06000000 0x0 0x8000>;
68*91f16700Schasinglulu
69*91f16700Schasinglulu		#address-cells = <1>;
70*91f16700Schasinglulu		#size-cells = <1>;
71*91f16700Schasinglulu		ranges = <0 0x0 0x06000000 0x8000>;
72*91f16700Schasinglulu
73*91f16700Schasinglulu		cpu_scp_hpri0: scp-sram@0 {
74*91f16700Schasinglulu			compatible = "arm,scmi-shmem";
75*91f16700Schasinglulu			reg = <0x0 0x80>;
76*91f16700Schasinglulu		};
77*91f16700Schasinglulu
78*91f16700Schasinglulu		cpu_scp_hpri1: scp-sram@80 {
79*91f16700Schasinglulu			compatible = "arm,scmi-shmem";
80*91f16700Schasinglulu			reg = <0x80 0x80>;
81*91f16700Schasinglulu		};
82*91f16700Schasinglulu	};
83*91f16700Schasinglulu
84*91f16700Schasinglulu	soc_refclk50mhz: refclk50mhz {
85*91f16700Schasinglulu		compatible = "fixed-clock";
86*91f16700Schasinglulu		#clock-cells = <0>;
87*91f16700Schasinglulu		clock-frequency = <50000000>;
88*91f16700Schasinglulu		clock-output-names = "apb_pclk";
89*91f16700Schasinglulu	};
90*91f16700Schasinglulu
91*91f16700Schasinglulu	soc_refclk85mhz: refclk85mhz {
92*91f16700Schasinglulu		compatible = "fixed-clock";
93*91f16700Schasinglulu		#clock-cells = <0>;
94*91f16700Schasinglulu		clock-frequency = <85000000>;
95*91f16700Schasinglulu		clock-output-names = "iofpga:aclk";
96*91f16700Schasinglulu	};
97*91f16700Schasinglulu
98*91f16700Schasinglulu	soc_uartclk:  uartclk {
99*91f16700Schasinglulu		compatible = "fixed-clock";
100*91f16700Schasinglulu		#clock-cells = <0>;
101*91f16700Schasinglulu		clock-frequency = <50000000>;
102*91f16700Schasinglulu		clock-output-names = "uartclk";
103*91f16700Schasinglulu	};
104*91f16700Schasinglulu
105*91f16700Schasinglulu	soc_uart0: serial@2a400000 {
106*91f16700Schasinglulu		compatible = "arm,pl011", "arm,primecell";
107*91f16700Schasinglulu		reg = <0x0 0x2a400000 0x0 0x1000>;
108*91f16700Schasinglulu		interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
109*91f16700Schasinglulu		clocks = <&soc_uartclk>, <&soc_refclk50mhz>;
110*91f16700Schasinglulu		clock-names = "uartclk", "apb_pclk";
111*91f16700Schasinglulu		status = "okay";
112*91f16700Schasinglulu	};
113*91f16700Schasinglulu};
114