xref: /aosp_15_r20/external/arm-trusted-firmware/fdts/fvp-ve-Cortex-A7x1.dts (revision 54fd6939e177f8ff529b10183254802c76df6d08)
1*54fd6939SJiyong Park/*
2*54fd6939SJiyong Park * Copyright (c) 2019-2020, Arm Limited. All rights reserved.
3*54fd6939SJiyong Park *
4*54fd6939SJiyong Park * SPDX-License-Identifier: BSD-3-Clause
5*54fd6939SJiyong Park */
6*54fd6939SJiyong Park
7*54fd6939SJiyong Park/dts-v1/;
8*54fd6939SJiyong Park
9*54fd6939SJiyong Park/ {
10*54fd6939SJiyong Park	model = "V2F-1XV7 Cortex-A7x1 SMM";
11*54fd6939SJiyong Park	compatible = "arm,vexpress,v2f-1xv7", "arm,vexpress";
12*54fd6939SJiyong Park	interrupt-parent = <&gic>;
13*54fd6939SJiyong Park	#address-cells = <2>;
14*54fd6939SJiyong Park	#size-cells = <2>;
15*54fd6939SJiyong Park
16*54fd6939SJiyong Park	cpus {
17*54fd6939SJiyong Park		#address-cells = <2>;
18*54fd6939SJiyong Park		#size-cells = <0>;
19*54fd6939SJiyong Park
20*54fd6939SJiyong Park		cpu@0 {
21*54fd6939SJiyong Park			device_type = "cpu";
22*54fd6939SJiyong Park			compatible = "arm,cortex-a7";
23*54fd6939SJiyong Park			reg = <0 0>;
24*54fd6939SJiyong Park		};
25*54fd6939SJiyong Park	};
26*54fd6939SJiyong Park
27*54fd6939SJiyong Park	memory@0,80000000 {
28*54fd6939SJiyong Park		device_type = "memory";
29*54fd6939SJiyong Park		reg = <0 0x80000000 0 0x80000000>; /* 2GB @ 2GB */
30*54fd6939SJiyong Park	};
31*54fd6939SJiyong Park
32*54fd6939SJiyong Park	gic: interrupt-controller@2c001000 {
33*54fd6939SJiyong Park		compatible = "arm,cortex-a15-gic";
34*54fd6939SJiyong Park		#interrupt-cells = <3>;
35*54fd6939SJiyong Park		#address-cells = <0>;
36*54fd6939SJiyong Park		interrupt-controller;
37*54fd6939SJiyong Park		reg = <0 0x2c001000 0 0x1000>,
38*54fd6939SJiyong Park		      <0 0x2c002000 0 0x1000>,
39*54fd6939SJiyong Park		      <0 0x2c004000 0 0x2000>,
40*54fd6939SJiyong Park		      <0 0x2c006000 0 0x2000>;
41*54fd6939SJiyong Park		interrupts = <1 9 0xf04>;
42*54fd6939SJiyong Park	};
43*54fd6939SJiyong Park
44*54fd6939SJiyong Park	smbclk: refclk24mhzx2 {
45*54fd6939SJiyong Park		/* Reference 24MHz clock x 2 */
46*54fd6939SJiyong Park		compatible = "fixed-clock";
47*54fd6939SJiyong Park		#clock-cells = <0>;
48*54fd6939SJiyong Park		clock-frequency = <48000000>;
49*54fd6939SJiyong Park		clock-output-names = "smclk";
50*54fd6939SJiyong Park	};
51*54fd6939SJiyong Park
52*54fd6939SJiyong Park	smb {
53*54fd6939SJiyong Park		compatible = "simple-bus";
54*54fd6939SJiyong Park
55*54fd6939SJiyong Park		#address-cells = <2>;
56*54fd6939SJiyong Park		#size-cells = <1>;
57*54fd6939SJiyong Park		ranges = <0 0 0 0x08000000 0x04000000>,
58*54fd6939SJiyong Park			 <1 0 0 0x14000000 0x04000000>,
59*54fd6939SJiyong Park			 <2 0 0 0x18000000 0x04000000>,
60*54fd6939SJiyong Park			 <3 0 0 0x1c000000 0x04000000>,
61*54fd6939SJiyong Park			 <4 0 0 0x0c000000 0x04000000>,
62*54fd6939SJiyong Park			 <5 0 0 0x10000000 0x04000000>;
63*54fd6939SJiyong Park
64*54fd6939SJiyong Park		#interrupt-cells = <1>;
65*54fd6939SJiyong Park		interrupt-map-mask = <0 0 63>;
66*54fd6939SJiyong Park		interrupt-map = <0 0  0 &gic 0  0 4>,
67*54fd6939SJiyong Park				<0 0  1 &gic 0  1 4>,
68*54fd6939SJiyong Park				<0 0  2 &gic 0  2 4>,
69*54fd6939SJiyong Park				<0 0  3 &gic 0  3 4>,
70*54fd6939SJiyong Park				<0 0  4 &gic 0  4 4>,
71*54fd6939SJiyong Park				<0 0  5 &gic 0  5 4>,
72*54fd6939SJiyong Park				<0 0 42 &gic 0 42 4>;
73*54fd6939SJiyong Park
74*54fd6939SJiyong Park		#include "rtsm_ve-motherboard-aarch32.dtsi"
75*54fd6939SJiyong Park	};
76*54fd6939SJiyong Park};
77