blob: 9e1c339c44916739bec245b482b37444ec348969 [file] [log] [blame]
John Linnb85a3ef2011-06-20 11:47:27 -06001/*
2 * Copyright (C) 2011 Xilinx
3 *
4 * This software is licensed under the terms of the GNU General Public
5 * License version 2, as published by the Free Software Foundation, and
6 * may be copied, distributed, and modified under those terms.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
Josh Cartwrighte06f1a92012-10-31 12:24:48 -060013/include/ "skeleton.dtsi"
John Linnb85a3ef2011-06-20 11:47:27 -060014
John Linnb85a3ef2011-06-20 11:47:27 -060015/ {
Josh Cartwrighte06f1a92012-10-31 12:24:48 -060016 compatible = "xlnx,zynq-7000";
John Linnb85a3ef2011-06-20 11:47:27 -060017
Michal Simek268a8202013-03-20 13:37:01 +010018 pmu {
19 compatible = "arm,cortex-a9-pmu";
20 interrupts = <0 5 4>, <0 6 4>;
21 interrupt-parent = <&intc>;
22 reg = < 0xf8891000 0x1000 0xf8893000 0x1000 >;
23 };
24
John Linnb85a3ef2011-06-20 11:47:27 -060025 amba {
26 compatible = "simple-bus";
27 #address-cells = <1>;
28 #size-cells = <1>;
Josh Cartwrighte06f1a92012-10-31 12:24:48 -060029 interrupt-parent = <&intc>;
John Linnb85a3ef2011-06-20 11:47:27 -060030 ranges;
31
32 intc: interrupt-controller@f8f01000 {
Josh Cartwrightf447ed22012-10-17 19:46:49 -050033 compatible = "arm,cortex-a9-gic";
34 #interrupt-cells = <3>;
35 #address-cells = <1>;
John Linnb85a3ef2011-06-20 11:47:27 -060036 interrupt-controller;
Josh Cartwrightf447ed22012-10-17 19:46:49 -050037 reg = <0xF8F01000 0x1000>,
38 <0xF8F00100 0x100>;
John Linnb85a3ef2011-06-20 11:47:27 -060039 };
40
Josh Cartwright0fcfdbc2012-10-23 17:34:22 -050041 L2: cache-controller {
42 compatible = "arm,pl310-cache";
43 reg = <0xF8F02000 0x1000>;
44 arm,data-latency = <2 3 2>;
45 arm,tag-latency = <2 3 2>;
46 cache-unified;
47 cache-level = <2>;
48 };
49
John Linnb85a3ef2011-06-20 11:47:27 -060050 uart0: uart@e0000000 {
51 compatible = "xlnx,xuartps";
52 reg = <0xE0000000 0x1000>;
Josh Cartwrightf447ed22012-10-17 19:46:49 -050053 interrupts = <0 27 4>;
Josh Cartwright2326669c2013-01-21 19:57:41 +010054 clocks = <&uart_clk 0>;
John Linnb85a3ef2011-06-20 11:47:27 -060055 };
Josh Cartwright78d67852012-10-31 13:45:17 -060056
57 uart1: uart@e0001000 {
58 compatible = "xlnx,xuartps";
59 reg = <0xE0001000 0x1000>;
60 interrupts = <0 50 4>;
Josh Cartwright2326669c2013-01-21 19:57:41 +010061 clocks = <&uart_clk 1>;
Josh Cartwright78d67852012-10-31 13:45:17 -060062 };
Josh Cartwright0f586fb2012-11-08 12:04:26 -060063
64 slcr: slcr@f8000000 {
65 compatible = "xlnx,zynq-slcr";
66 reg = <0xF8000000 0x1000>;
67
68 clocks {
69 #address-cells = <1>;
70 #size-cells = <0>;
71
72 ps_clk: ps_clk {
73 #clock-cells = <0>;
74 compatible = "fixed-clock";
75 /* clock-frequency set in board-specific file */
76 clock-output-names = "ps_clk";
77 };
78 armpll: armpll {
79 #clock-cells = <0>;
80 compatible = "xlnx,zynq-pll";
81 clocks = <&ps_clk>;
82 reg = <0x100 0x110>;
83 clock-output-names = "armpll";
84 };
85 ddrpll: ddrpll {
86 #clock-cells = <0>;
87 compatible = "xlnx,zynq-pll";
88 clocks = <&ps_clk>;
89 reg = <0x104 0x114>;
90 clock-output-names = "ddrpll";
91 };
92 iopll: iopll {
93 #clock-cells = <0>;
94 compatible = "xlnx,zynq-pll";
95 clocks = <&ps_clk>;
96 reg = <0x108 0x118>;
97 clock-output-names = "iopll";
98 };
99 uart_clk: uart_clk {
100 #clock-cells = <1>;
101 compatible = "xlnx,zynq-periph-clock";
102 clocks = <&iopll &armpll &ddrpll>;
103 reg = <0x154>;
104 clock-output-names = "uart0_ref_clk",
105 "uart1_ref_clk";
106 };
107 cpu_clk: cpu_clk {
108 #clock-cells = <1>;
109 compatible = "xlnx,zynq-cpu-clock";
110 clocks = <&iopll &armpll &ddrpll>;
111 reg = <0x120 0x1C4>;
112 clock-output-names = "cpu_6x4x",
113 "cpu_3x2x",
114 "cpu_2x",
115 "cpu_1x";
116 };
117 };
118 };
Josh Cartwright91dc9852012-10-31 13:56:14 -0600119
120 ttc0: ttc0@f8001000 {
121 #address-cells = <1>;
122 #size-cells = <0>;
123 compatible = "xlnx,ttc";
124 reg = <0xF8001000 0x1000>;
125 clocks = <&cpu_clk 3>;
126 clock-names = "cpu_1x";
127 clock-ranges;
128
129 ttc0_0: ttc0.0 {
130 status = "disabled";
131 reg = <0>;
132 interrupts = <0 10 4>;
133 };
134 ttc0_1: ttc0.1 {
135 status = "disabled";
136 reg = <1>;
137 interrupts = <0 11 4>;
138 };
139 ttc0_2: ttc0.2 {
140 status = "disabled";
141 reg = <2>;
142 interrupts = <0 12 4>;
143 };
144 };
145
146 ttc1: ttc1@f8002000 {
147 #interrupt-parent = <&intc>;
148 #address-cells = <1>;
149 #size-cells = <0>;
150 compatible = "xlnx,ttc";
151 reg = <0xF8002000 0x1000>;
152 clocks = <&cpu_clk 3>;
153 clock-names = "cpu_1x";
154 clock-ranges;
155
156 ttc1_0: ttc1.0 {
157 status = "disabled";
158 reg = <0>;
159 interrupts = <0 37 4>;
160 };
161 ttc1_1: ttc1.1 {
162 status = "disabled";
163 reg = <1>;
164 interrupts = <0 38 4>;
165 };
166 ttc1_2: ttc1.2 {
167 status = "disabled";
168 reg = <2>;
169 interrupts = <0 39 4>;
170 };
171 };
John Linnb85a3ef2011-06-20 11:47:27 -0600172 };
173};