blob: b99e48803e53c9a043836c64e5acb98a1b400f90 [file] [log] [blame]
Joe.C0c3fb202014-11-11 15:53:43 +08001/*
2 * Copyright (c) 2014 MediaTek Inc.
3 * Author: Joe.C <yingjoe.chen@mediatek.com>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 */
14
James Liao3cc17a52015-07-07 14:45:10 +020015#include <dt-bindings/clock/mt8135-clk.h>
Joe.C0c3fb202014-11-11 15:53:43 +080016#include <dt-bindings/interrupt-controller/irq.h>
17#include <dt-bindings/interrupt-controller/arm-gic.h>
18#include "skeleton64.dtsi"
Hongzhou Yangcfb11672015-05-01 14:49:30 +080019#include "mt8135-pinfunc.h"
Joe.C0c3fb202014-11-11 15:53:43 +080020
21/ {
22 compatible = "mediatek,mt8135";
Yingjoe Chene0bed072014-11-25 09:04:00 +010023 interrupt-parent = <&sysirq>;
Joe.C0c3fb202014-11-11 15:53:43 +080024
25 cpu-map {
26 cluster0 {
27 core0 {
28 cpu = <&cpu0>;
29 };
30 core1 {
31 cpu = <&cpu1>;
32 };
33 };
34
35 cluster1 {
36 core0 {
37 cpu = <&cpu2>;
38 };
39 core1 {
40 cpu = <&cpu3>;
41 };
42 };
43 };
44
45 cpus {
46 #address-cells = <1>;
47 #size-cells = <0>;
48
49 cpu0: cpu@0 {
50 device_type = "cpu";
51 compatible = "arm,cortex-a7";
52 reg = <0x000>;
53 };
54
55 cpu1: cpu@1 {
56 device_type = "cpu";
57 compatible = "arm,cortex-a7";
58 reg = <0x001>;
59 };
60
61 cpu2: cpu@100 {
62 device_type = "cpu";
63 compatible = "arm,cortex-a15";
64 reg = <0x100>;
65 };
66
67 cpu3: cpu@101 {
68 device_type = "cpu";
69 compatible = "arm,cortex-a15";
70 reg = <0x101>;
71 };
72 };
73
74 clocks {
75 #address-cells = <2>;
76 #size-cells = <2>;
77 compatible = "simple-bus";
78 ranges;
79
80 system_clk: dummy13m {
81 compatible = "fixed-clock";
82 clock-frequency = <13000000>;
83 #clock-cells = <0>;
84 };
85
86 rtc_clk: dummy32k {
87 compatible = "fixed-clock";
88 clock-frequency = <32000>;
89 #clock-cells = <0>;
90 };
Eddie Huang07149472014-10-22 15:12:00 +020091
92 uart_clk: dummy26m {
93 compatible = "fixed-clock";
94 clock-frequency = <26000000>;
95 #clock-cells = <0>;
96 };
97
James Liao3cc17a52015-07-07 14:45:10 +020098 clk26m: clk26m {
99 compatible = "fixed-clock";
100 #clock-cells = <0>;
101 clock-frequency = <26000000>;
102 };
Joe.C0c3fb202014-11-11 15:53:43 +0800103 };
104
105 soc {
106 #address-cells = <2>;
107 #size-cells = <2>;
108 compatible = "simple-bus";
109 ranges;
110
James Liao3cc17a52015-07-07 14:45:10 +0200111 topckgen: topckgen@10000000 {
112 compatible = "mediatek,mt8135-topckgen";
113 reg = <0 0x10000000 0 0x1000>;
114 #clock-cells = <1>;
115 };
116
117 infracfg: infracfg@10001000 {
118 #reset-cells = <1>;
119 #clock-cells = <1>;
120 compatible = "mediatek,mt8135-infracfg", "syscon";
121 reg = <0 0x10001000 0 0x1000>;
122 };
123
124 pericfg: pericfg@10003000 {
125 #reset-cells = <1>;
126 #clock-cells = <1>;
127 compatible = "mediatek,mt8135-pericfg", "syscon";
128 reg = <0 0x10003000 0 0x1000>;
129 };
130
Hongzhou Yangcfb11672015-05-01 14:49:30 +0800131 /*
132 * Pinctrl access register at 0x10005000 and 0x1020c000 through
133 * regmap. Register 0x1000b000 is used by EINT.
134 */
135 pio: pinctrl@10005000 {
136 compatible = "mediatek,mt8135-pinctrl";
137 reg = <0 0x1000b000 0 0x1000>;
138 mediatek,pctl-regmap = <&syscfg_pctl_a &syscfg_pctl_b>;
139 pins-are-numbered;
140 gpio-controller;
141 #gpio-cells = <2>;
142 interrupt-controller;
143 #interrupt-cells = <2>;
144 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
145 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
146 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
147 };
148
149 syscfg_pctl_a: syscfg_pctl_a@10005000 {
150 compatible = "mediatek,mt8135-pctl-a-syscfg", "syscon";
151 reg = <0 0x10005000 0 0x1000>;
152 };
153
Joe.C0c3fb202014-11-11 15:53:43 +0800154 timer: timer@10008000 {
155 compatible = "mediatek,mt8135-timer",
156 "mediatek,mt6577-timer";
157 reg = <0 0x10008000 0 0x80>;
Yingjoe Chene0bed072014-11-25 09:04:00 +0100158 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_LOW>;
Joe.C0c3fb202014-11-11 15:53:43 +0800159 clocks = <&system_clk>, <&rtc_clk>;
160 clock-names = "system-clk", "rtc-clk";
161 };
162
Yingjoe Chene0bed072014-11-25 09:04:00 +0100163 sysirq: interrupt-controller@10200030 {
164 compatible = "mediatek,mt8135-sysirq",
165 "mediatek,mt6577-sysirq";
166 interrupt-controller;
167 #interrupt-cells = <3>;
168 interrupt-parent = <&gic>;
169 reg = <0 0x10200030 0 0x1c>;
170 };
171
James Liao3cc17a52015-07-07 14:45:10 +0200172 apmixedsys: apmixedsys@10209000 {
173 compatible = "mediatek,mt8135-apmixedsys";
174 reg = <0 0x10209000 0 0x1000>;
175 #clock-cells = <1>;
176 };
177
Hongzhou Yangcfb11672015-05-01 14:49:30 +0800178 syscfg_pctl_b: syscfg_pctl_b@1020c000 {
179 compatible = "mediatek,mt8135-pctl-b-syscfg", "syscon";
180 reg = <0 0x1020c000 0 0x1000>;
181 };
182
Joe.C0c3fb202014-11-11 15:53:43 +0800183 gic: interrupt-controller@10211000 {
184 compatible = "arm,cortex-a15-gic";
185 interrupt-controller;
186 #interrupt-cells = <3>;
Yingjoe Chene0bed072014-11-25 09:04:00 +0100187 interrupt-parent = <&gic>;
Joe.C0c3fb202014-11-11 15:53:43 +0800188 reg = <0 0x10211000 0 0x1000>,
189 <0 0x10212000 0 0x1000>,
190 <0 0x10214000 0 0x2000>,
191 <0 0x10216000 0 0x2000>;
192 };
Eddie Huang07149472014-10-22 15:12:00 +0200193
194 uart0: serial@11006000 {
195 compatible = "mediatek,mt8135-uart","mediatek,mt6577-uart";
196 reg = <0 0x11006000 0 0x400>;
197 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>;
198 clocks = <&uart_clk>;
199 status = "disabled";
200 };
201
202 uart1: serial@11007000 {
203 compatible = "mediatek,mt8135-uart","mediatek,mt6577-uart";
204 reg = <0 0x11007000 0 0x400>;
205 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_LOW>;
206 clocks = <&uart_clk>;
207 status = "disabled";
208 };
209
210 uart2: serial@11008000 {
211 compatible = "mediatek,mt8135-uart","mediatek,mt6577-uart";
212 reg = <0 0x11008000 0 0x400>;
213 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_LOW>;
214 clocks = <&uart_clk>;
215 status = "disabled";
216 };
217
218 uart3: serial@11009000 {
219 compatible = "mediatek,mt8135-uart","mediatek,mt6577-uart";
220 reg = <0 0x11009000 0 0x400>;
221 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_LOW>;
222 clocks = <&uart_clk>;
223 status = "disabled";
224 };
225
Joe.C0c3fb202014-11-11 15:53:43 +0800226 };
227};