xref: /arm-trusted-firmware/fdts/a5ds.dts (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu/*
2*91f16700Schasinglulu * Copyright (c) 2019-2020, Arm Limited. All rights reserved.
3*91f16700Schasinglulu *
4*91f16700Schasinglulu * SPDX-License-Identifier: BSD-3-Clause
5*91f16700Schasinglulu */
6*91f16700Schasinglulu
7*91f16700Schasinglulu/dts-v1/;
8*91f16700Schasinglulu
9*91f16700Schasinglulu/ {
10*91f16700Schasinglulu	model = "A5DS";
11*91f16700Schasinglulu	compatible = "arm,A5DS";
12*91f16700Schasinglulu	interrupt-parent = <&gic>;
13*91f16700Schasinglulu	#address-cells = <1>;
14*91f16700Schasinglulu	#size-cells = <1>;
15*91f16700Schasinglulu
16*91f16700Schasinglulu	psci {
17*91f16700Schasinglulu		compatible = "arm,psci-1.0", "arm,psci-0.2", "arm,psci";
18*91f16700Schasinglulu		method = "smc";
19*91f16700Schasinglulu		cpu_on = <0x84000003>;
20*91f16700Schasinglulu	};
21*91f16700Schasinglulu
22*91f16700Schasinglulu	cpus {
23*91f16700Schasinglulu		#address-cells = <1>;
24*91f16700Schasinglulu		#size-cells = <0>;
25*91f16700Schasinglulu		enable-method = "psci";
26*91f16700Schasinglulu		cpu@0 {
27*91f16700Schasinglulu			device_type = "cpu";
28*91f16700Schasinglulu			compatible = "arm,cortex-a5";
29*91f16700Schasinglulu			reg = <0>;
30*91f16700Schasinglulu			next-level-cache = <&L2>;
31*91f16700Schasinglulu		};
32*91f16700Schasinglulu		cpu@1 {
33*91f16700Schasinglulu			device_type = "cpu";
34*91f16700Schasinglulu			compatible = "arm,cortex-a5";
35*91f16700Schasinglulu			reg = <1>;
36*91f16700Schasinglulu			next-level-cache = <&L2>;
37*91f16700Schasinglulu		};
38*91f16700Schasinglulu		cpu@2 {
39*91f16700Schasinglulu			device_type = "cpu";
40*91f16700Schasinglulu			compatible = "arm,cortex-a5";
41*91f16700Schasinglulu			reg = <2>;
42*91f16700Schasinglulu			next-level-cache = <&L2>;
43*91f16700Schasinglulu		};
44*91f16700Schasinglulu		cpu@3 {
45*91f16700Schasinglulu			device_type = "cpu";
46*91f16700Schasinglulu			compatible = "arm,cortex-a5";
47*91f16700Schasinglulu			reg = <3>;
48*91f16700Schasinglulu			next-level-cache = <&L2>;
49*91f16700Schasinglulu		};
50*91f16700Schasinglulu	};
51*91f16700Schasinglulu
52*91f16700Schasinglulu	memory@80000000 {
53*91f16700Schasinglulu		device_type = "memory";
54*91f16700Schasinglulu		reg = <0x80000000 0x7F000000>;
55*91f16700Schasinglulu	};
56*91f16700Schasinglulu
57*91f16700Schasinglulu	L2: cache-controller@1C010000 {
58*91f16700Schasinglulu		compatible = "arm,pl310-cache";
59*91f16700Schasinglulu		reg = <0x1C010000 0x1000>;
60*91f16700Schasinglulu		interrupts = <0 84 4>;
61*91f16700Schasinglulu		cache-level = <2>;
62*91f16700Schasinglulu		cache-unified;
63*91f16700Schasinglulu		arm,data-latency = <1 1 1>;
64*91f16700Schasinglulu		arm,tag-latency = <1 1 1>;
65*91f16700Schasinglulu	};
66*91f16700Schasinglulu
67*91f16700Schasinglulu	refclk7500khz: refclk7500khz {
68*91f16700Schasinglulu		compatible = "fixed-clock";
69*91f16700Schasinglulu		#clock-cells = <0>;
70*91f16700Schasinglulu		clock-frequency = <7500000>;
71*91f16700Schasinglulu		clock-output-names = "apb_pclk";
72*91f16700Schasinglulu	};
73*91f16700Schasinglulu
74*91f16700Schasinglulu	refclk24mhz: refclk24mhz {
75*91f16700Schasinglulu		compatible = "fixed-clock";
76*91f16700Schasinglulu		#clock-cells = <0>;
77*91f16700Schasinglulu		clock-frequency = <24000000>;
78*91f16700Schasinglulu		clock-output-names = "apb_pclk";
79*91f16700Schasinglulu	};
80*91f16700Schasinglulu
81*91f16700Schasinglulu	smbclk: refclk24mhzx2 {
82*91f16700Schasinglulu		compatible = "fixed-clock";
83*91f16700Schasinglulu		#clock-cells = <0>;
84*91f16700Schasinglulu		clock-frequency = <48000000>;
85*91f16700Schasinglulu		clock-output-names = "smclk";
86*91f16700Schasinglulu	};
87*91f16700Schasinglulu
88*91f16700Schasinglulu
89*91f16700Schasinglulu	rtc@1a220000 {
90*91f16700Schasinglulu		compatible = "arm,pl031", "arm,primecell";
91*91f16700Schasinglulu		reg = <0x1a220000 0x1000>;
92*91f16700Schasinglulu		clocks = <&refclk24mhz>;
93*91f16700Schasinglulu		interrupts = <0 6 0xf04>;
94*91f16700Schasinglulu		clock-names = "apb_pclk";
95*91f16700Schasinglulu	};
96*91f16700Schasinglulu
97*91f16700Schasinglulu	gic: interrupt-controller@1c001000 {
98*91f16700Schasinglulu		compatible = "arm,cortex-a9-gic";
99*91f16700Schasinglulu		#interrupt-cells = <3>;
100*91f16700Schasinglulu		#address-cells = <0>;
101*91f16700Schasinglulu		interrupt-controller;
102*91f16700Schasinglulu		reg = <0x1c001000 0x1000>,
103*91f16700Schasinglulu			  <0x1c000100 0x100>;
104*91f16700Schasinglulu		interrupts = <1 9 0xf04>;
105*91f16700Schasinglulu	};
106*91f16700Schasinglulu
107*91f16700Schasinglulu	serial0: uart@1a200000 {
108*91f16700Schasinglulu		compatible = "arm,pl011", "arm,primecell";
109*91f16700Schasinglulu		reg = <0x1a200000 0x1000>;
110*91f16700Schasinglulu		interrupt-parent = <&gic>;
111*91f16700Schasinglulu		interrupts = <0 8 0xf04>;
112*91f16700Schasinglulu		clocks = <&refclk7500khz>;
113*91f16700Schasinglulu		clock-names = "apb_pclk";
114*91f16700Schasinglulu	};
115*91f16700Schasinglulu
116*91f16700Schasinglulu	serial1: uart@1a210000 {
117*91f16700Schasinglulu		compatible = "arm,pl011", "arm,primecell";
118*91f16700Schasinglulu		reg = <0x1a210000 0x1000>;
119*91f16700Schasinglulu		interrupt-parent = <&gic>;
120*91f16700Schasinglulu		interrupts = <0 9 0xf04>;
121*91f16700Schasinglulu		clocks = <&refclk7500khz>;
122*91f16700Schasinglulu		clock-names = "apb_pclk";
123*91f16700Schasinglulu	};
124*91f16700Schasinglulu
125*91f16700Schasinglulu	timer0: timer@1a040000 {
126*91f16700Schasinglulu		compatible = "arm,armv7-timer-mem";
127*91f16700Schasinglulu		#address-cells = <1>;
128*91f16700Schasinglulu		#size-cells = <1>;
129*91f16700Schasinglulu		ranges;
130*91f16700Schasinglulu		reg = <0x1a040000 0x1000>;
131*91f16700Schasinglulu		clock-frequency = <7500000>;
132*91f16700Schasinglulu
133*91f16700Schasinglulu		frame@1a050000 {
134*91f16700Schasinglulu			frame-number = <0>;
135*91f16700Schasinglulu			interrupts = <0 2 0xf04>;
136*91f16700Schasinglulu			reg = <0x1a050000 0x1000>;
137*91f16700Schasinglulu		};
138*91f16700Schasinglulu	};
139*91f16700Schasinglulu	v2m_fixed_3v3: fixed-regulator-0 {
140*91f16700Schasinglulu		compatible = "regulator-fixed";
141*91f16700Schasinglulu		regulator-name = "3V3";
142*91f16700Schasinglulu		regulator-min-microvolt = <3300000>;
143*91f16700Schasinglulu		regulator-max-microvolt = <3300000>;
144*91f16700Schasinglulu		regulator-always-on;
145*91f16700Schasinglulu	};
146*91f16700Schasinglulu
147*91f16700Schasinglulu	ethernet@4020000 {
148*91f16700Schasinglulu		compatible = "smsc,lan9220", "smsc,lan9115";
149*91f16700Schasinglulu		reg = <0x40200000 0x10000>;
150*91f16700Schasinglulu		interrupt-parent = <&gic>;
151*91f16700Schasinglulu		interrupts = <0 43 0xf04>;
152*91f16700Schasinglulu		reg-io-width = <4>;
153*91f16700Schasinglulu		phy-mode = "mii";
154*91f16700Schasinglulu		smsc,irq-active-high;
155*91f16700Schasinglulu		vdd33a-supply = <&v2m_fixed_3v3>;
156*91f16700Schasinglulu		vddvario-supply = <&v2m_fixed_3v3>;
157*91f16700Schasinglulu       };
158*91f16700Schasinglulu};
159