xref: /rk3399_ARM-atf/fdts/a5ds.dts (revision ab3b00fbfd0afc94a4b7afd95001043636dbc1d1)
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>;
25*ab3b00fbSVishnu Banavath		enable-method = "psci";
2600c7d5acSUsama Arif		cpu@0 {
2700c7d5acSUsama Arif			device_type = "cpu";
2800c7d5acSUsama Arif			compatible = "arm,cortex-a5";
2900c7d5acSUsama Arif			reg = <0>;
3079c6c342SVishnu Banavath			next-level-cache = <&L2>;
3100c7d5acSUsama Arif		};
32ec885bacSUsama Arif		cpu@1 {
33ec885bacSUsama Arif			device_type = "cpu";
34ec885bacSUsama Arif			compatible = "arm,cortex-a5";
35ec885bacSUsama Arif			reg = <1>;
3679c6c342SVishnu Banavath			next-level-cache = <&L2>;
37ec885bacSUsama Arif		};
38ec885bacSUsama Arif		cpu@2 {
39ec885bacSUsama Arif			device_type = "cpu";
40ec885bacSUsama Arif			compatible = "arm,cortex-a5";
41ec885bacSUsama Arif			reg = <2>;
4279c6c342SVishnu Banavath			next-level-cache = <&L2>;
43ec885bacSUsama Arif		};
44ec885bacSUsama Arif		cpu@3 {
45ec885bacSUsama Arif			device_type = "cpu";
46ec885bacSUsama Arif			compatible = "arm,cortex-a5";
47ec885bacSUsama Arif			reg = <3>;
4879c6c342SVishnu Banavath			next-level-cache = <&L2>;
49ec885bacSUsama Arif		};
5000c7d5acSUsama Arif	};
5100c7d5acSUsama Arif
5200c7d5acSUsama Arif	memory@80000000 {
5300c7d5acSUsama Arif		device_type = "memory";
5400c7d5acSUsama Arif		reg = <0x80000000 0x7F000000>;
5500c7d5acSUsama Arif	};
5600c7d5acSUsama Arif
5779c6c342SVishnu Banavath	L2: cache-controller@1C010000 {
5879c6c342SVishnu Banavath		compatible = "arm,pl310-cache";
5979c6c342SVishnu Banavath		reg = <0x1C010000 0x1000>;
6079c6c342SVishnu Banavath		interrupts = <0 84 4>;
6179c6c342SVishnu Banavath		cache-level = <2>;
6279c6c342SVishnu Banavath		cache-unified;
6379c6c342SVishnu Banavath		arm,data-latency = <1 1 1>;
6479c6c342SVishnu Banavath		arm,tag-latency = <1 1 1>;
6579c6c342SVishnu Banavath	};
6679c6c342SVishnu Banavath
6700c7d5acSUsama Arif	refclk100mhz: refclk100mhz {
6800c7d5acSUsama Arif		compatible = "fixed-clock";
6900c7d5acSUsama Arif		#clock-cells = <0>;
7000c7d5acSUsama Arif		clock-frequency = <100000000>;
7100c7d5acSUsama Arif		clock-output-names = "apb_pclk";
7200c7d5acSUsama Arif	};
7300c7d5acSUsama Arif
7400c7d5acSUsama Arif	smbclk: refclk24mhzx2 {
7500c7d5acSUsama Arif		compatible = "fixed-clock";
7600c7d5acSUsama Arif		#clock-cells = <0>;
7700c7d5acSUsama Arif		clock-frequency = <48000000>;
7800c7d5acSUsama Arif		clock-output-names = "smclk";
7900c7d5acSUsama Arif	};
8000c7d5acSUsama Arif
8100c7d5acSUsama Arif
8200c7d5acSUsama Arif	rtc@1a220000 {
8300c7d5acSUsama Arif		compatible = "arm,pl031", "arm,primecell";
8400c7d5acSUsama Arif		reg = <0x1a220000 0x1000>;
8500c7d5acSUsama Arif		clocks = <&refclk100mhz>;
8600c7d5acSUsama Arif		interrupts = <0 6 0xf04>;
8700c7d5acSUsama Arif		clock-names = "apb_pclk";
8800c7d5acSUsama Arif	};
8900c7d5acSUsama Arif
9000c7d5acSUsama Arif	gic: interrupt-controller@1c001000 {
9100c7d5acSUsama Arif		compatible = "arm,cortex-a9-gic";
9200c7d5acSUsama Arif		#interrupt-cells = <3>;
9300c7d5acSUsama Arif		#address-cells = <0>;
9400c7d5acSUsama Arif		interrupt-controller;
9500c7d5acSUsama Arif		reg = <0x1c001000 0x1000>,
9600c7d5acSUsama Arif			  <0x1c000100 0x100>;
9700c7d5acSUsama Arif		interrupts = <1 9 0xf04>;
9800c7d5acSUsama Arif	};
9900c7d5acSUsama Arif
10000c7d5acSUsama Arif	serial0: uart@1a200000 {
10100c7d5acSUsama Arif		compatible = "arm,pl011", "arm,primecell";
10200c7d5acSUsama Arif		reg = <0x1a200000 0x1000>;
10300c7d5acSUsama Arif		interrupt-parent = <&gic>;
10400c7d5acSUsama Arif		interrupts = <0 8 0xf04>;
10500c7d5acSUsama Arif		clocks = <&refclk100mhz>;
10600c7d5acSUsama Arif		clock-names = "apb_pclk";
10700c7d5acSUsama Arif	};
10800c7d5acSUsama Arif
10900c7d5acSUsama Arif	serial1: uart@1a210000 {
11000c7d5acSUsama Arif		compatible = "arm,pl011", "arm,primecell";
11100c7d5acSUsama Arif		reg = <0x1a210000 0x1000>;
11200c7d5acSUsama Arif		interrupt-parent = <&gic>;
11300c7d5acSUsama Arif		interrupts = <0 9 0xf04>;
11400c7d5acSUsama Arif		clocks = <&refclk100mhz>;
11500c7d5acSUsama Arif		clock-names = "apb_pclk";
11600c7d5acSUsama Arif	};
11700c7d5acSUsama Arif
11800c7d5acSUsama Arif	timer0: timer@1a040000 {
11900c7d5acSUsama Arif		compatible = "arm,armv7-timer-mem";
12000c7d5acSUsama Arif		#address-cells = <1>;
12100c7d5acSUsama Arif		#size-cells = <1>;
12200c7d5acSUsama Arif		ranges;
12300c7d5acSUsama Arif		reg = <0x1a040000 0x1000>;
12400c7d5acSUsama Arif		clock-frequency = <50000000>;
12500c7d5acSUsama Arif
12600c7d5acSUsama Arif		frame@1a050000 {
12700c7d5acSUsama Arif			frame-number = <0>;
12800c7d5acSUsama Arif			interrupts = <0 2 0xf04>;
12900c7d5acSUsama Arif			reg = <0x1a050000 0x1000>;
13000c7d5acSUsama Arif		};
13100c7d5acSUsama Arif	};
13200c7d5acSUsama Arif};
133