xref: /rk3399_ARM-atf/fdts/a5ds.dts (revision 79c6c342e0abb1de2306ca51fc72794143413a07)
100c7d5acSUsama Arif/*
200c7d5acSUsama Arif * Copyright (c) 2019, Arm Limited. All rights reserved.
300c7d5acSUsama Arif *
400c7d5acSUsama Arif * SPDX-License-Identifier: BSD-3-Clause
500c7d5acSUsama Arif */
600c7d5acSUsama Arif
700c7d5acSUsama Arif/dts-v1/;
800c7d5acSUsama Arif
900c7d5acSUsama Arif/ {
1000c7d5acSUsama Arif	model = "A5DS";
1100c7d5acSUsama Arif	compatible = "arm,A5DS";
1200c7d5acSUsama Arif	interrupt-parent = <&gic>;
1300c7d5acSUsama Arif	#address-cells = <1>;
1400c7d5acSUsama Arif	#size-cells = <1>;
15ec885bacSUsama Arif
16ec885bacSUsama Arif	psci {
17ec885bacSUsama Arif		compatible = "arm,psci-1.0", "arm,psci-0.2", "arm,psci";
18ec885bacSUsama Arif		method = "smc";
19ec885bacSUsama Arif		cpu_on = <0x84000003>;
20ec885bacSUsama Arif	};
21ec885bacSUsama Arif
2200c7d5acSUsama Arif	cpus {
2300c7d5acSUsama Arif		#address-cells = <1>;
2400c7d5acSUsama Arif		#size-cells = <0>;
2500c7d5acSUsama Arif		cpu@0 {
2600c7d5acSUsama Arif			device_type = "cpu";
2700c7d5acSUsama Arif			compatible = "arm,cortex-a5";
28ec885bacSUsama Arif			enable-method = "psci";
2900c7d5acSUsama Arif			reg = <0>;
30*79c6c342SVishnu Banavath			next-level-cache = <&L2>;
3100c7d5acSUsama Arif		};
32ec885bacSUsama Arif		cpu@1 {
33ec885bacSUsama Arif			device_type = "cpu";
34ec885bacSUsama Arif			compatible = "arm,cortex-a5";
35ec885bacSUsama Arif			enable-method = "psci";
36ec885bacSUsama Arif			reg = <1>;
37*79c6c342SVishnu Banavath			next-level-cache = <&L2>;
38ec885bacSUsama Arif		};
39ec885bacSUsama Arif		cpu@2 {
40ec885bacSUsama Arif			device_type = "cpu";
41ec885bacSUsama Arif			compatible = "arm,cortex-a5";
42ec885bacSUsama Arif			enable-method = "psci";
43ec885bacSUsama Arif			reg = <2>;
44*79c6c342SVishnu Banavath			next-level-cache = <&L2>;
45ec885bacSUsama Arif		};
46ec885bacSUsama Arif		cpu@3 {
47ec885bacSUsama Arif			device_type = "cpu";
48ec885bacSUsama Arif			compatible = "arm,cortex-a5";
49ec885bacSUsama Arif			enable-method = "psci";
50ec885bacSUsama Arif			reg = <3>;
51*79c6c342SVishnu Banavath			next-level-cache = <&L2>;
52ec885bacSUsama Arif		};
5300c7d5acSUsama Arif	};
5400c7d5acSUsama Arif
5500c7d5acSUsama Arif	memory@80000000 {
5600c7d5acSUsama Arif		device_type = "memory";
5700c7d5acSUsama Arif		reg = <0x80000000 0x7F000000>;
5800c7d5acSUsama Arif	};
5900c7d5acSUsama Arif
60*79c6c342SVishnu Banavath	L2: cache-controller@1C010000 {
61*79c6c342SVishnu Banavath		compatible = "arm,pl310-cache";
62*79c6c342SVishnu Banavath		reg = <0x1C010000 0x1000>;
63*79c6c342SVishnu Banavath		interrupts = <0 84 4>;
64*79c6c342SVishnu Banavath		cache-level = <2>;
65*79c6c342SVishnu Banavath		cache-unified;
66*79c6c342SVishnu Banavath		arm,data-latency = <1 1 1>;
67*79c6c342SVishnu Banavath		arm,tag-latency = <1 1 1>;
68*79c6c342SVishnu Banavath	};
69*79c6c342SVishnu Banavath
7000c7d5acSUsama Arif	refclk100mhz: refclk100mhz {
7100c7d5acSUsama Arif		compatible = "fixed-clock";
7200c7d5acSUsama Arif		#clock-cells = <0>;
7300c7d5acSUsama Arif		clock-frequency = <100000000>;
7400c7d5acSUsama Arif		clock-output-names = "apb_pclk";
7500c7d5acSUsama Arif	};
7600c7d5acSUsama Arif
7700c7d5acSUsama Arif	smbclk: refclk24mhzx2 {
7800c7d5acSUsama Arif		compatible = "fixed-clock";
7900c7d5acSUsama Arif		#clock-cells = <0>;
8000c7d5acSUsama Arif		clock-frequency = <48000000>;
8100c7d5acSUsama Arif		clock-output-names = "smclk";
8200c7d5acSUsama Arif	};
8300c7d5acSUsama Arif
8400c7d5acSUsama Arif
8500c7d5acSUsama Arif	rtc@1a220000 {
8600c7d5acSUsama Arif		compatible = "arm,pl031", "arm,primecell";
8700c7d5acSUsama Arif		reg = <0x1a220000 0x1000>;
8800c7d5acSUsama Arif		clocks = <&refclk100mhz>;
8900c7d5acSUsama Arif		interrupts = <0 6 0xf04>;
9000c7d5acSUsama Arif		clock-names = "apb_pclk";
9100c7d5acSUsama Arif	};
9200c7d5acSUsama Arif
9300c7d5acSUsama Arif	gic: interrupt-controller@1c001000 {
9400c7d5acSUsama Arif		compatible = "arm,cortex-a9-gic";
9500c7d5acSUsama Arif		#interrupt-cells = <3>;
9600c7d5acSUsama Arif		#address-cells = <0>;
9700c7d5acSUsama Arif		interrupt-controller;
9800c7d5acSUsama Arif		reg = <0x1c001000 0x1000>,
9900c7d5acSUsama Arif			  <0x1c000100 0x100>;
10000c7d5acSUsama Arif		interrupts = <1 9 0xf04>;
10100c7d5acSUsama Arif	};
10200c7d5acSUsama Arif
10300c7d5acSUsama Arif	serial0: uart@1a200000 {
10400c7d5acSUsama Arif		compatible = "arm,pl011", "arm,primecell";
10500c7d5acSUsama Arif		reg = <0x1a200000 0x1000>;
10600c7d5acSUsama Arif		interrupt-parent = <&gic>;
10700c7d5acSUsama Arif		interrupts = <0 8 0xf04>;
10800c7d5acSUsama Arif		clocks = <&refclk100mhz>;
10900c7d5acSUsama Arif		clock-names = "apb_pclk";
11000c7d5acSUsama Arif	};
11100c7d5acSUsama Arif
11200c7d5acSUsama Arif	serial1: uart@1a210000 {
11300c7d5acSUsama Arif		compatible = "arm,pl011", "arm,primecell";
11400c7d5acSUsama Arif		reg = <0x1a210000 0x1000>;
11500c7d5acSUsama Arif		interrupt-parent = <&gic>;
11600c7d5acSUsama Arif		interrupts = <0 9 0xf04>;
11700c7d5acSUsama Arif		clocks = <&refclk100mhz>;
11800c7d5acSUsama Arif		clock-names = "apb_pclk";
11900c7d5acSUsama Arif	};
12000c7d5acSUsama Arif
12100c7d5acSUsama Arif	timer0: timer@1a040000 {
12200c7d5acSUsama Arif		compatible = "arm,armv7-timer-mem";
12300c7d5acSUsama Arif		#address-cells = <1>;
12400c7d5acSUsama Arif		#size-cells = <1>;
12500c7d5acSUsama Arif		ranges;
12600c7d5acSUsama Arif		reg = <0x1a040000 0x1000>;
12700c7d5acSUsama Arif		clock-frequency = <50000000>;
12800c7d5acSUsama Arif
12900c7d5acSUsama Arif		frame@1a050000 {
13000c7d5acSUsama Arif			frame-number = <0>;
13100c7d5acSUsama Arif			interrupts = <0 2 0xf04>;
13200c7d5acSUsama Arif			reg = <0x1a050000 0x1000>;
13300c7d5acSUsama Arif		};
13400c7d5acSUsama Arif	};
13500c7d5acSUsama Arif};
136