1bdf2cbb2Syt.shen@mediatek.com/*
2bdf2cbb2Syt.shen@mediatek.com * Copyright (c) 2017 MediaTek Inc.
3bdf2cbb2Syt.shen@mediatek.com * Author: YT Shen <yt.shen@mediatek.com>
4bdf2cbb2Syt.shen@mediatek.com *
5bdf2cbb2Syt.shen@mediatek.com * SPDX-License-Identifier: (GPL-2.0 OR MIT)
6bdf2cbb2Syt.shen@mediatek.com */
7bdf2cbb2Syt.shen@mediatek.com
8bdf2cbb2Syt.shen@mediatek.com#include <dt-bindings/interrupt-controller/irq.h>
9bdf2cbb2Syt.shen@mediatek.com#include <dt-bindings/interrupt-controller/arm-gic.h>
10bdf2cbb2Syt.shen@mediatek.com
11bdf2cbb2Syt.shen@mediatek.com/ {
12bdf2cbb2Syt.shen@mediatek.com	compatible = "mediatek,mt2712";
13bdf2cbb2Syt.shen@mediatek.com	interrupt-parent = <&sysirq>;
14bdf2cbb2Syt.shen@mediatek.com	#address-cells = <2>;
15bdf2cbb2Syt.shen@mediatek.com	#size-cells = <2>;
16bdf2cbb2Syt.shen@mediatek.com
17bdf2cbb2Syt.shen@mediatek.com	cpus {
18bdf2cbb2Syt.shen@mediatek.com		#address-cells = <1>;
19bdf2cbb2Syt.shen@mediatek.com		#size-cells = <0>;
20bdf2cbb2Syt.shen@mediatek.com
21bdf2cbb2Syt.shen@mediatek.com		cpu-map {
22bdf2cbb2Syt.shen@mediatek.com			cluster0 {
23bdf2cbb2Syt.shen@mediatek.com				core0 {
24bdf2cbb2Syt.shen@mediatek.com					cpu = <&cpu0>;
25bdf2cbb2Syt.shen@mediatek.com				};
26bdf2cbb2Syt.shen@mediatek.com				core1 {
27bdf2cbb2Syt.shen@mediatek.com					cpu = <&cpu1>;
28bdf2cbb2Syt.shen@mediatek.com				};
29bdf2cbb2Syt.shen@mediatek.com			};
30bdf2cbb2Syt.shen@mediatek.com
31bdf2cbb2Syt.shen@mediatek.com			cluster1 {
32bdf2cbb2Syt.shen@mediatek.com				core0 {
33bdf2cbb2Syt.shen@mediatek.com					cpu = <&cpu2>;
34bdf2cbb2Syt.shen@mediatek.com				};
35bdf2cbb2Syt.shen@mediatek.com			};
36bdf2cbb2Syt.shen@mediatek.com		};
37bdf2cbb2Syt.shen@mediatek.com
38bdf2cbb2Syt.shen@mediatek.com		cpu0: cpu@0 {
39bdf2cbb2Syt.shen@mediatek.com			device_type = "cpu";
40bdf2cbb2Syt.shen@mediatek.com			compatible = "arm,cortex-a35";
41bdf2cbb2Syt.shen@mediatek.com			reg = <0x000>;
42bdf2cbb2Syt.shen@mediatek.com		};
43bdf2cbb2Syt.shen@mediatek.com
44bdf2cbb2Syt.shen@mediatek.com		cpu1: cpu@1 {
45bdf2cbb2Syt.shen@mediatek.com			device_type = "cpu";
46bdf2cbb2Syt.shen@mediatek.com			compatible = "arm,cortex-a35";
47bdf2cbb2Syt.shen@mediatek.com			reg = <0x001>;
48bdf2cbb2Syt.shen@mediatek.com			enable-method = "psci";
49bdf2cbb2Syt.shen@mediatek.com		};
50bdf2cbb2Syt.shen@mediatek.com
51bdf2cbb2Syt.shen@mediatek.com		cpu2: cpu@200 {
52bdf2cbb2Syt.shen@mediatek.com			device_type = "cpu";
53bdf2cbb2Syt.shen@mediatek.com			compatible = "arm,cortex-a72";
54bdf2cbb2Syt.shen@mediatek.com			reg = <0x200>;
55bdf2cbb2Syt.shen@mediatek.com			enable-method = "psci";
56bdf2cbb2Syt.shen@mediatek.com		};
57bdf2cbb2Syt.shen@mediatek.com	};
58bdf2cbb2Syt.shen@mediatek.com
59bdf2cbb2Syt.shen@mediatek.com	psci {
60bdf2cbb2Syt.shen@mediatek.com		compatible = "arm,psci-0.2";
61bdf2cbb2Syt.shen@mediatek.com		method = "smc";
62bdf2cbb2Syt.shen@mediatek.com	};
63bdf2cbb2Syt.shen@mediatek.com
64bdf2cbb2Syt.shen@mediatek.com	baud_clk: dummy26m {
65bdf2cbb2Syt.shen@mediatek.com		compatible = "fixed-clock";
66bdf2cbb2Syt.shen@mediatek.com		clock-frequency = <26000000>;
67bdf2cbb2Syt.shen@mediatek.com		#clock-cells = <0>;
68bdf2cbb2Syt.shen@mediatek.com	};
69bdf2cbb2Syt.shen@mediatek.com
70bdf2cbb2Syt.shen@mediatek.com	sys_clk: dummyclk {
71bdf2cbb2Syt.shen@mediatek.com		compatible = "fixed-clock";
72bdf2cbb2Syt.shen@mediatek.com		clock-frequency = <26000000>;
73bdf2cbb2Syt.shen@mediatek.com		#clock-cells = <0>;
74bdf2cbb2Syt.shen@mediatek.com	};
75bdf2cbb2Syt.shen@mediatek.com
76bdf2cbb2Syt.shen@mediatek.com	timer {
77bdf2cbb2Syt.shen@mediatek.com		compatible = "arm,armv8-timer";
78bdf2cbb2Syt.shen@mediatek.com		interrupt-parent = <&gic>;
79bdf2cbb2Syt.shen@mediatek.com		interrupts = <GIC_PPI 13
80bdf2cbb2Syt.shen@mediatek.com			      (GIC_CPU_MASK_RAW(0x13) | IRQ_TYPE_LEVEL_LOW)>,
81bdf2cbb2Syt.shen@mediatek.com			     <GIC_PPI 14
82bdf2cbb2Syt.shen@mediatek.com			      (GIC_CPU_MASK_RAW(0x13) | IRQ_TYPE_LEVEL_LOW)>,
83bdf2cbb2Syt.shen@mediatek.com			     <GIC_PPI 11
84bdf2cbb2Syt.shen@mediatek.com			      (GIC_CPU_MASK_RAW(0x13) | IRQ_TYPE_LEVEL_LOW)>,
85bdf2cbb2Syt.shen@mediatek.com			     <GIC_PPI 10
86bdf2cbb2Syt.shen@mediatek.com			      (GIC_CPU_MASK_RAW(0x13) | IRQ_TYPE_LEVEL_LOW)>;
87bdf2cbb2Syt.shen@mediatek.com	};
88bdf2cbb2Syt.shen@mediatek.com
89bdf2cbb2Syt.shen@mediatek.com	uart5: serial@1000f000 {
90bdf2cbb2Syt.shen@mediatek.com		compatible = "mediatek,mt2712-uart",
91bdf2cbb2Syt.shen@mediatek.com			     "mediatek,mt6577-uart";
92bdf2cbb2Syt.shen@mediatek.com		reg = <0 0x1000f000 0 0x400>;
93bdf2cbb2Syt.shen@mediatek.com		interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_LOW>;
94bdf2cbb2Syt.shen@mediatek.com		clocks = <&baud_clk>, <&sys_clk>;
95bdf2cbb2Syt.shen@mediatek.com		clock-names = "baud", "bus";
96bdf2cbb2Syt.shen@mediatek.com		status = "disabled";
97bdf2cbb2Syt.shen@mediatek.com	};
98bdf2cbb2Syt.shen@mediatek.com
99bdf2cbb2Syt.shen@mediatek.com	sysirq: interrupt-controller@10220a80 {
100bdf2cbb2Syt.shen@mediatek.com		compatible = "mediatek,mt2712-sysirq",
101bdf2cbb2Syt.shen@mediatek.com			     "mediatek,mt6577-sysirq";
102bdf2cbb2Syt.shen@mediatek.com		interrupt-controller;
103bdf2cbb2Syt.shen@mediatek.com		#interrupt-cells = <3>;
104bdf2cbb2Syt.shen@mediatek.com		interrupt-parent = <&gic>;
105bdf2cbb2Syt.shen@mediatek.com		reg = <0 0x10220a80 0 0x40>;
106bdf2cbb2Syt.shen@mediatek.com	};
107bdf2cbb2Syt.shen@mediatek.com
108bdf2cbb2Syt.shen@mediatek.com	gic: interrupt-controller@10510000 {
109bdf2cbb2Syt.shen@mediatek.com		compatible = "arm,gic-400";
110bdf2cbb2Syt.shen@mediatek.com		#interrupt-cells = <3>;
111bdf2cbb2Syt.shen@mediatek.com		interrupt-parent = <&gic>;
112bdf2cbb2Syt.shen@mediatek.com		interrupt-controller;
113bdf2cbb2Syt.shen@mediatek.com		reg = <0 0x10510000 0 0x10000>,
114bdf2cbb2Syt.shen@mediatek.com		      <0 0x10520000 0 0x20000>,
115bdf2cbb2Syt.shen@mediatek.com		      <0 0x10540000 0 0x20000>,
116bdf2cbb2Syt.shen@mediatek.com		      <0 0x10560000 0 0x20000>;
117bdf2cbb2Syt.shen@mediatek.com		interrupts = <GIC_PPI 9
118bdf2cbb2Syt.shen@mediatek.com			 (GIC_CPU_MASK_RAW(0x13) | IRQ_TYPE_LEVEL_HIGH)>;
119bdf2cbb2Syt.shen@mediatek.com	};
120bdf2cbb2Syt.shen@mediatek.com
121bdf2cbb2Syt.shen@mediatek.com	uart0: serial@11002000 {
122bdf2cbb2Syt.shen@mediatek.com		compatible = "mediatek,mt2712-uart",
123bdf2cbb2Syt.shen@mediatek.com			     "mediatek,mt6577-uart";
124bdf2cbb2Syt.shen@mediatek.com		reg = <0 0x11002000 0 0x400>;
125bdf2cbb2Syt.shen@mediatek.com		interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>;
126bdf2cbb2Syt.shen@mediatek.com		clocks = <&baud_clk>, <&sys_clk>;
127bdf2cbb2Syt.shen@mediatek.com		clock-names = "baud", "bus";
128bdf2cbb2Syt.shen@mediatek.com		status = "disabled";
129bdf2cbb2Syt.shen@mediatek.com	};
130bdf2cbb2Syt.shen@mediatek.com
131bdf2cbb2Syt.shen@mediatek.com	uart1: serial@11003000 {
132bdf2cbb2Syt.shen@mediatek.com		compatible = "mediatek,mt2712-uart",
133bdf2cbb2Syt.shen@mediatek.com			     "mediatek,mt6577-uart";
134bdf2cbb2Syt.shen@mediatek.com		reg = <0 0x11003000 0 0x400>;
135bdf2cbb2Syt.shen@mediatek.com		interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>;
136bdf2cbb2Syt.shen@mediatek.com		clocks = <&baud_clk>, <&sys_clk>;
137bdf2cbb2Syt.shen@mediatek.com		clock-names = "baud", "bus";
138bdf2cbb2Syt.shen@mediatek.com		status = "disabled";
139bdf2cbb2Syt.shen@mediatek.com	};
140bdf2cbb2Syt.shen@mediatek.com
141bdf2cbb2Syt.shen@mediatek.com	uart2: serial@11004000 {
142bdf2cbb2Syt.shen@mediatek.com		compatible = "mediatek,mt2712-uart",
143bdf2cbb2Syt.shen@mediatek.com			     "mediatek,mt6577-uart";
144bdf2cbb2Syt.shen@mediatek.com		reg = <0 0x11004000 0 0x400>;
145bdf2cbb2Syt.shen@mediatek.com		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_LOW>;
146bdf2cbb2Syt.shen@mediatek.com		clocks = <&baud_clk>, <&sys_clk>;
147bdf2cbb2Syt.shen@mediatek.com		clock-names = "baud", "bus";
148bdf2cbb2Syt.shen@mediatek.com		status = "disabled";
149bdf2cbb2Syt.shen@mediatek.com	};
150bdf2cbb2Syt.shen@mediatek.com
151bdf2cbb2Syt.shen@mediatek.com	uart3: serial@11005000 {
152bdf2cbb2Syt.shen@mediatek.com		compatible = "mediatek,mt2712-uart",
153bdf2cbb2Syt.shen@mediatek.com			     "mediatek,mt6577-uart";
154bdf2cbb2Syt.shen@mediatek.com		reg = <0 0x11005000 0 0x400>;
155bdf2cbb2Syt.shen@mediatek.com		interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_LOW>;
156bdf2cbb2Syt.shen@mediatek.com		clocks = <&baud_clk>, <&sys_clk>;
157bdf2cbb2Syt.shen@mediatek.com		clock-names = "baud", "bus";
158bdf2cbb2Syt.shen@mediatek.com		status = "disabled";
159bdf2cbb2Syt.shen@mediatek.com	};
160bdf2cbb2Syt.shen@mediatek.com
161bdf2cbb2Syt.shen@mediatek.com	uart4: serial@11019000 {
162bdf2cbb2Syt.shen@mediatek.com		compatible = "mediatek,mt2712-uart",
163bdf2cbb2Syt.shen@mediatek.com			     "mediatek,mt6577-uart";
164bdf2cbb2Syt.shen@mediatek.com		reg = <0 0x11019000 0 0x400>;
165bdf2cbb2Syt.shen@mediatek.com		interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_LOW>;
166bdf2cbb2Syt.shen@mediatek.com		clocks = <&baud_clk>, <&sys_clk>;
167bdf2cbb2Syt.shen@mediatek.com		clock-names = "baud", "bus";
168bdf2cbb2Syt.shen@mediatek.com		status = "disabled";
169bdf2cbb2Syt.shen@mediatek.com	};
170bdf2cbb2Syt.shen@mediatek.com};
171bdf2cbb2Syt.shen@mediatek.com
172