xref: /aosp_15_r20/external/arm-trusted-firmware/fdts/fvp-ve-Cortex-A5x1.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 = "V2P-CA5s";
11*54fd6939SJiyong Park	compatible = "arm,vexpress,v2p-ca5s", "arm,vexpress";
12*54fd6939SJiyong Park	interrupt-parent = <&gic>;
13*54fd6939SJiyong Park	#address-cells = <1>;
14*54fd6939SJiyong Park	#size-cells = <1>;
15*54fd6939SJiyong Park
16*54fd6939SJiyong Park	cpus {
17*54fd6939SJiyong Park		#address-cells = <1>;
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-a5";
23*54fd6939SJiyong Park			reg = <0>;
24*54fd6939SJiyong Park		};
25*54fd6939SJiyong Park
26*54fd6939SJiyong Park	};
27*54fd6939SJiyong Park
28*54fd6939SJiyong Park	memory@80000000 {
29*54fd6939SJiyong Park		device_type = "memory";
30*54fd6939SJiyong Park		reg = <0x80000000 0x1000000>;
31*54fd6939SJiyong Park	};
32*54fd6939SJiyong Park
33*54fd6939SJiyong Park	hdlcd@2a110000 {
34*54fd6939SJiyong Park		compatible = "arm,hdlcd";
35*54fd6939SJiyong Park		reg = <0x2a110000 0x1000>;
36*54fd6939SJiyong Park		interrupts = <0 85 4>;
37*54fd6939SJiyong Park		clocks = <&oscclk3>;
38*54fd6939SJiyong Park		clock-names = "pxlclk";
39*54fd6939SJiyong Park	};
40*54fd6939SJiyong Park
41*54fd6939SJiyong Park	scu@2c000000 {
42*54fd6939SJiyong Park		compatible = "arm,cortex-a5-scu";
43*54fd6939SJiyong Park		reg = <0x2c000000 0x58>;
44*54fd6939SJiyong Park	};
45*54fd6939SJiyong Park
46*54fd6939SJiyong Park	watchdog@2c000620 {
47*54fd6939SJiyong Park		compatible = "arm,cortex-a5-twd-wdt";
48*54fd6939SJiyong Park		reg = <0x2c000620 0x20>;
49*54fd6939SJiyong Park		interrupts = <1 14 0x304>;
50*54fd6939SJiyong Park	};
51*54fd6939SJiyong Park
52*54fd6939SJiyong Park	gic: interrupt-controller@2c001000 {
53*54fd6939SJiyong Park		compatible = "arm,cortex-a9-gic";
54*54fd6939SJiyong Park		#interrupt-cells = <3>;
55*54fd6939SJiyong Park		#address-cells = <0>;
56*54fd6939SJiyong Park		interrupt-controller;
57*54fd6939SJiyong Park		reg = <0x2c001000 0x1000>,
58*54fd6939SJiyong Park		      <0x2c000100 0x100>;
59*54fd6939SJiyong Park	};
60*54fd6939SJiyong Park
61*54fd6939SJiyong Park	dcc {
62*54fd6939SJiyong Park		compatible = "arm,vexpress,config-bus";
63*54fd6939SJiyong Park		arm,vexpress,config-bridge = <&v2m_sysreg>;
64*54fd6939SJiyong Park
65*54fd6939SJiyong Park		oscclk0: osc@0 {
66*54fd6939SJiyong Park			/* CPU and internal AXI reference clock */
67*54fd6939SJiyong Park			compatible = "arm,vexpress-osc";
68*54fd6939SJiyong Park			arm,vexpress-sysreg,func = <1 0>;
69*54fd6939SJiyong Park			freq-range = <50000000 100000000>;
70*54fd6939SJiyong Park			#clock-cells = <0>;
71*54fd6939SJiyong Park			clock-output-names = "oscclk0";
72*54fd6939SJiyong Park		};
73*54fd6939SJiyong Park
74*54fd6939SJiyong Park		oscclk1: osc@1 {
75*54fd6939SJiyong Park			/* Multiplexed AXI master clock */
76*54fd6939SJiyong Park			compatible = "arm,vexpress-osc";
77*54fd6939SJiyong Park			arm,vexpress-sysreg,func = <1 1>;
78*54fd6939SJiyong Park			freq-range = <5000000 50000000>;
79*54fd6939SJiyong Park			#clock-cells = <0>;
80*54fd6939SJiyong Park			clock-output-names = "oscclk1";
81*54fd6939SJiyong Park		};
82*54fd6939SJiyong Park
83*54fd6939SJiyong Park		osc@2 {
84*54fd6939SJiyong Park			/* DDR2 */
85*54fd6939SJiyong Park			compatible = "arm,vexpress-osc";
86*54fd6939SJiyong Park			arm,vexpress-sysreg,func = <1 2>;
87*54fd6939SJiyong Park			freq-range = <80000000 120000000>;
88*54fd6939SJiyong Park			#clock-cells = <0>;
89*54fd6939SJiyong Park			clock-output-names = "oscclk2";
90*54fd6939SJiyong Park		};
91*54fd6939SJiyong Park
92*54fd6939SJiyong Park		oscclk3: osc@3 {
93*54fd6939SJiyong Park			/* HDLCD */
94*54fd6939SJiyong Park			compatible = "arm,vexpress-osc";
95*54fd6939SJiyong Park			arm,vexpress-sysreg,func = <1 3>;
96*54fd6939SJiyong Park			freq-range = <23750000 165000000>;
97*54fd6939SJiyong Park			#clock-cells = <0>;
98*54fd6939SJiyong Park			clock-output-names = "oscclk3";
99*54fd6939SJiyong Park		};
100*54fd6939SJiyong Park
101*54fd6939SJiyong Park		osc@4 {
102*54fd6939SJiyong Park			/* Test chip gate configuration */
103*54fd6939SJiyong Park			compatible = "arm,vexpress-osc";
104*54fd6939SJiyong Park			arm,vexpress-sysreg,func = <1 4>;
105*54fd6939SJiyong Park			freq-range = <80000000 80000000>;
106*54fd6939SJiyong Park			#clock-cells = <0>;
107*54fd6939SJiyong Park			clock-output-names = "oscclk4";
108*54fd6939SJiyong Park		};
109*54fd6939SJiyong Park
110*54fd6939SJiyong Park		smbclk: osc@5 {
111*54fd6939SJiyong Park			/* SMB clock */
112*54fd6939SJiyong Park			compatible = "arm,vexpress-osc";
113*54fd6939SJiyong Park			arm,vexpress-sysreg,func = <1 5>;
114*54fd6939SJiyong Park			freq-range = <25000000 60000000>;
115*54fd6939SJiyong Park			#clock-cells = <0>;
116*54fd6939SJiyong Park			clock-output-names = "oscclk5";
117*54fd6939SJiyong Park		};
118*54fd6939SJiyong Park	};
119*54fd6939SJiyong Park
120*54fd6939SJiyong Park	smb {
121*54fd6939SJiyong Park		compatible = "simple-bus";
122*54fd6939SJiyong Park
123*54fd6939SJiyong Park		#address-cells = <2>;
124*54fd6939SJiyong Park		#size-cells = <1>;
125*54fd6939SJiyong Park		ranges = <0 0 0x08000000 0x04000000>,
126*54fd6939SJiyong Park			 <1 0 0x14000000 0x04000000>,
127*54fd6939SJiyong Park			 <2 0 0x18000000 0x04000000>,
128*54fd6939SJiyong Park			 <3 0 0x1c000000 0x04000000>,
129*54fd6939SJiyong Park			 <4 0 0x0c000000 0x04000000>,
130*54fd6939SJiyong Park			 <5 0 0x10000000 0x04000000>;
131*54fd6939SJiyong Park
132*54fd6939SJiyong Park		#interrupt-cells = <1>;
133*54fd6939SJiyong Park		interrupt-map-mask = <0 0 63>;
134*54fd6939SJiyong Park		interrupt-map = <0 0  0 &gic 0  0 4>,
135*54fd6939SJiyong Park				<0 0  1 &gic 0  1 4>,
136*54fd6939SJiyong Park				<0 0  2 &gic 0  2 4>,
137*54fd6939SJiyong Park				<0 0  3 &gic 0  3 4>,
138*54fd6939SJiyong Park				<0 0  4 &gic 0  4 4>,
139*54fd6939SJiyong Park				<0 0  5 &gic 0  5 4>,
140*54fd6939SJiyong Park				<0 0 42 &gic 0 42 4>;
141*54fd6939SJiyong Park
142*54fd6939SJiyong Park		#include "rtsm_ve-motherboard-aarch32.dtsi"
143*54fd6939SJiyong Park	};
144*54fd6939SJiyong Park};
145