1279377Simp/*
2279377Simp * Copyright (c) 2014 MundoReader S.L.
3279377Simp * Author: Matthias Brugger <matthias.bgg@gmail.com>
4279377Simp *
5279377Simp * This program is free software; you can redistribute it and/or modify
6279377Simp * it under the terms of the GNU General Public License as published by
7279377Simp * the Free Software Foundation; either version 2 of the License, or
8279377Simp * (at your option) any later version.
9279377Simp *
10279377Simp * This program is distributed in the hope that it will be useful,
11279377Simp * but WITHOUT ANY WARRANTY; without even the implied warranty of
12279377Simp * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13279377Simp * GNU General Public License for more details.
14279377Simp */
15279377Simp
16279377Simp#include <dt-bindings/interrupt-controller/irq.h>
17279377Simp#include <dt-bindings/interrupt-controller/arm-gic.h>
18279377Simp#include "skeleton.dtsi"
19279377Simp
20279377Simp/ {
21279377Simp	compatible = "mediatek,mt6589";
22279377Simp	interrupt-parent = <&sysirq>;
23279377Simp
24279377Simp	cpus {
25279377Simp		#address-cells = <1>;
26279377Simp		#size-cells = <0>;
27279377Simp
28279377Simp		cpu@0 {
29279377Simp			device_type = "cpu";
30279377Simp			compatible = "arm,cortex-a7";
31279377Simp			reg = <0x0>;
32279377Simp		};
33279377Simp		cpu@1 {
34279377Simp			device_type = "cpu";
35279377Simp			compatible = "arm,cortex-a7";
36279377Simp			reg = <0x1>;
37279377Simp		};
38279377Simp		cpu@2 {
39279377Simp			device_type = "cpu";
40279377Simp			compatible = "arm,cortex-a7";
41279377Simp			reg = <0x2>;
42279377Simp		};
43279377Simp		cpu@3 {
44279377Simp			device_type = "cpu";
45279377Simp			compatible = "arm,cortex-a7";
46279377Simp			reg = <0x3>;
47279377Simp		};
48279377Simp
49279377Simp	};
50279377Simp
51279377Simp	clocks {
52279377Simp		#address-cells = <1>;
53279377Simp		#size-cells = <1>;
54279377Simp		compatible = "simple-bus";
55279377Simp		ranges;
56279377Simp
57279377Simp		system_clk: dummy13m {
58279377Simp			compatible = "fixed-clock";
59279377Simp			clock-frequency = <13000000>;
60279377Simp			#clock-cells = <0>;
61279377Simp		};
62279377Simp
63279377Simp		rtc_clk: dummy32k {
64279377Simp			compatible = "fixed-clock";
65279377Simp			clock-frequency = <32000>;
66279377Simp			#clock-cells = <0>;
67279377Simp		};
68279377Simp
69279377Simp		uart_clk: dummy26m {
70279377Simp			compatible = "fixed-clock";
71279377Simp			clock-frequency = <26000000>;
72279377Simp			#clock-cells = <0>;
73279377Simp		};
74279377Simp	};
75279377Simp
76279377Simp	soc {
77279377Simp		#address-cells = <1>;
78279377Simp		#size-cells = <1>;
79279377Simp		compatible = "simple-bus";
80279377Simp		ranges;
81279377Simp
82279377Simp		timer: timer@10008000 {
83279377Simp			compatible = "mediatek,mt6577-timer";
84279377Simp			reg = <0x10008000 0x80>;
85279377Simp			interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_LOW>;
86279377Simp			clocks = <&system_clk>, <&rtc_clk>;
87279377Simp			clock-names = "system-clk", "rtc-clk";
88279377Simp		};
89279377Simp
90279377Simp		sysirq: interrupt-controller@10200100 {
91279377Simp			compatible = "mediatek,mt6589-sysirq",
92279377Simp				     "mediatek,mt6577-sysirq";
93279377Simp			interrupt-controller;
94279377Simp			#interrupt-cells = <3>;
95279377Simp			interrupt-parent = <&gic>;
96279377Simp			reg = <0x10200100 0x1c>;
97279377Simp		};
98279377Simp
99279377Simp		gic: interrupt-controller@10211000 {
100279377Simp			compatible = "arm,cortex-a7-gic";
101279377Simp			interrupt-controller;
102279377Simp			#interrupt-cells = <3>;
103279377Simp			interrupt-parent = <&gic>;
104279377Simp			reg = <0x10211000 0x1000>,
105279377Simp			      <0x10212000 0x1000>,
106279377Simp			      <0x10214000 0x2000>,
107279377Simp			      <0x10216000 0x2000>;
108279377Simp		};
109279377Simp
110279377Simp		uart0: serial@11006000 {
111279377Simp			compatible = "mediatek,mt6577-uart";
112279377Simp			reg = <0x11006000 0x400>;
113279377Simp			interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_LOW>;
114279377Simp			clocks = <&uart_clk>;
115279377Simp			status = "disabled";
116279377Simp		};
117279377Simp
118279377Simp		uart1: serial@11007000 {
119279377Simp			compatible = "mediatek,mt6577-uart";
120279377Simp			reg = <0x11007000 0x400>;
121279377Simp			interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_LOW>;
122279377Simp			clocks = <&uart_clk>;
123279377Simp			status = "disabled";
124279377Simp		};
125279377Simp
126279377Simp		uart2: serial@11008000 {
127279377Simp			compatible = "mediatek,mt6577-uart";
128279377Simp			reg = <0x11008000 0x400>;
129279377Simp			interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_LOW>;
130279377Simp			clocks = <&uart_clk>;
131279377Simp			status = "disabled";
132279377Simp		};
133279377Simp
134279377Simp		uart3: serial@11009000 {
135279377Simp			compatible = "mediatek,mt6577-uart";
136279377Simp			reg = <0x11009000 0x400>;
137279377Simp			interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_LOW>;
138279377Simp			clocks = <&uart_clk>;
139279377Simp			status = "disabled";
140279377Simp		};
141295436Sandrew
142295436Sandrew		wdt: watchdog@010000000 {
143295436Sandrew			compatible = "mediatek,mt6589-wdt";
144295436Sandrew			reg = <0x10000000 0x44>;
145295436Sandrew		};
146279377Simp	};
147279377Simp};
148