blob: edf56f4749e13420dcdad51fe25ba58a2ee18ab3 [file] [log] [blame]
Christian Ruppert2eb95042013-04-11 15:19:40 +02001/*
2 * Abilis Systems TB10X SOC device tree
3 *
4 * Copyright (C) Abilis Systems 2013
5 *
6 * Author: Christian Ruppert <christian.ruppert@abilis.com>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 */
21
Christian Ruppert2eb95042013-04-11 15:19:40 +020022
23/ {
24 compatible = "abilis,arc-tb10x";
25 #address-cells = <1>;
26 #size-cells = <1>;
27
28 cpus {
29 #address-cells = <1>;
30 #size-cells = <0>;
31 cpu@0 {
32 device_type = "cpu";
33 compatible = "snps,arc770d";
34 reg = <0>;
35 };
36 };
37
38 soc100 {
39 #address-cells = <1>;
40 #size-cells = <1>;
41 device_type = "soc";
42 ranges = <0xfe000000 0xfe000000 0x02000000
43 0x000F0000 0x000F0000 0x00010000>;
44 compatible = "abilis,tb10x", "simple-bus";
45
46 pll0: oscillator {
47 compatible = "fixed-clock";
48 #clock-cells = <0>;
49 clock-output-names = "pll0";
50 };
51 cpu_clk: clkdiv_cpu {
Christian Ruppert0dfad772013-04-12 12:36:29 +020052 compatible = "fixed-factor-clock";
Christian Ruppert2eb95042013-04-11 15:19:40 +020053 #clock-cells = <0>;
54 clocks = <&pll0>;
55 clock-output-names = "cpu_clk";
56 };
57 ahb_clk: clkdiv_ahb {
Christian Ruppert0dfad772013-04-12 12:36:29 +020058 compatible = "fixed-factor-clock";
Christian Ruppert2eb95042013-04-11 15:19:40 +020059 #clock-cells = <0>;
60 clocks = <&pll0>;
61 clock-output-names = "ahb_clk";
62 };
63
64 iomux: iomux@FF10601c {
65 #address-cells = <1>;
66 #size-cells = <1>;
67 compatible = "abilis,tb10x-iomux";
68 reg = <0xFF10601c 0x4>;
69 };
70
71 intc: interrupt-controller {
72 compatible = "snps,arc700-intc";
73 interrupt-controller;
74 #interrupt-cells = <1>;
75 };
76 tb10x_ictl: pic@fe002000 {
Christian Ruppert723e2b82013-06-26 16:01:28 +020077 compatible = "abilis,tb10x-ictl";
Christian Ruppert2eb95042013-04-11 15:19:40 +020078 reg = <0xFE002000 0x20>;
79 interrupt-controller;
80 #interrupt-cells = <2>;
81 interrupt-parent = <&intc>;
82 interrupts = <5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
83 20 21 22 23 24 25 26 27 28 29 30 31>;
84 };
85
86 uart@FF100000 {
Christian Ruppert7d192732013-05-10 16:05:50 +020087 compatible = "snps,dw-apb-uart";
Christian Ruppert2eb95042013-04-11 15:19:40 +020088 reg = <0xFF100000 0x100>;
89 clock-frequency = <166666666>;
Christian Ruppert723e2b82013-06-26 16:01:28 +020090 interrupts = <25 8>;
Christian Ruppert2eb95042013-04-11 15:19:40 +020091 reg-shift = <2>;
92 reg-io-width = <4>;
93 interrupt-parent = <&tb10x_ictl>;
94 };
95 ethernet@FE100000 {
96 compatible = "snps,dwmac-3.70a","snps,dwmac";
97 reg = <0xFE100000 0x1058>;
98 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +020099 interrupts = <6 8>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200100 interrupt-names = "macirq";
101 clocks = <&ahb_clk>;
102 clock-names = "stmmaceth";
103 };
104 dma@FE000000 {
105 compatible = "snps,dma-spear1340";
106 reg = <0xFE000000 0x400>;
107 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200108 interrupts = <14 8>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200109 dma-channels = <6>;
110 dma-requests = <0>;
111 dma-masters = <1>;
112 #dma-cells = <3>;
113 chan_allocation_order = <0>;
114 chan_priority = <1>;
115 block_size = <0x7ff>;
116 data_width = <2 0 0 0>;
117 clocks = <&ahb_clk>;
118 clock-names = "hclk";
119 };
120
121 i2c0: i2c@FF120000 {
122 #address-cells = <1>;
123 #size-cells = <0>;
124 compatible = "snps,designware-i2c";
125 reg = <0xFF120000 0x1000>;
126 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200127 interrupts = <12 8>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200128 clocks = <&ahb_clk>;
129 };
130 i2c1: i2c@FF121000 {
131 #address-cells = <1>;
132 #size-cells = <0>;
133 compatible = "snps,designware-i2c";
134 reg = <0xFF121000 0x1000>;
135 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200136 interrupts = <12 8>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200137 clocks = <&ahb_clk>;
138 };
139 i2c2: i2c@FF122000 {
140 #address-cells = <1>;
141 #size-cells = <0>;
142 compatible = "snps,designware-i2c";
143 reg = <0xFF122000 0x1000>;
144 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200145 interrupts = <12 8>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200146 clocks = <&ahb_clk>;
147 };
148 i2c3: i2c@FF123000 {
149 #address-cells = <1>;
150 #size-cells = <0>;
151 compatible = "snps,designware-i2c";
152 reg = <0xFF123000 0x1000>;
153 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200154 interrupts = <12 8>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200155 clocks = <&ahb_clk>;
156 };
157 i2c4: i2c@FF124000 {
158 #address-cells = <1>;
159 #size-cells = <0>;
160 compatible = "snps,designware-i2c";
161 reg = <0xFF124000 0x1000>;
162 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200163 interrupts = <12 8>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200164 clocks = <&ahb_clk>;
165 };
166
167 spi0: spi@0xFE010000 {
168 #address-cells = <1>;
169 #size-cells = <0>;
170 cell-index = <0>;
171 compatible = "abilis,tb100-spi";
172 num-cs = <1>;
173 reg = <0xFE010000 0x20>;
174 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200175 interrupts = <26 8>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200176 clocks = <&ahb_clk>;
177 };
178 spi1: spi@0xFE011000 {
179 #address-cells = <1>;
180 #size-cells = <0>;
181 cell-index = <1>;
Christian Ruppert7d192732013-05-10 16:05:50 +0200182 compatible = "abilis,tb100-spi";
Christian Ruppert2eb95042013-04-11 15:19:40 +0200183 num-cs = <2>;
184 reg = <0xFE011000 0x20>;
185 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200186 interrupts = <10 8>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200187 clocks = <&ahb_clk>;
188 };
189
190 tb10x_tsm: tb10x-tsm@ff316000 {
191 compatible = "abilis,tb100-tsm";
192 reg = <0xff316000 0x400>;
193 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200194 interrupts = <17 8>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200195 output-clkdiv = <4>;
196 global-packet-delay = <0x21>;
197 port-packet-delay = <0>;
198 };
199 tb10x_stream_proc: tb10x-stream-proc {
200 compatible = "abilis,tb100-streamproc";
201 reg = <0xfff00000 0x200>,
202 <0x000f0000 0x10000>,
203 <0xfff00200 0x105>,
204 <0xff10600c 0x1>,
205 <0xfe001018 0x1>;
206 reg-names = "mbox",
207 "sp_iccm",
208 "mbox_irq",
209 "cpuctrl",
210 "a6it_int_force";
211 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200212 interrupts = <20 2>, <19 2>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200213 interrupt-names = "cmd_irq", "event_irq";
214 };
215 tb10x_mdsc0: tb10x-mdscr@FF300000 {
216 compatible = "abilis,tb100-mdscr";
217 reg = <0xFF300000 0x7000>;
218 tb100-mdscr-manage-tsin;
219 };
220 tb10x_mscr0: tb10x-mdscr@FF307000 {
221 compatible = "abilis,tb100-mdscr";
222 reg = <0xFF307000 0x7000>;
223 };
224 tb10x_scr0: tb10x-mdscr@ff30e000 {
225 compatible = "abilis,tb100-mdscr";
226 reg = <0xFF30e000 0x4000>;
227 tb100-mdscr-manage-tsin;
228 };
229 tb10x_scr1: tb10x-mdscr@ff312000 {
230 compatible = "abilis,tb100-mdscr";
231 reg = <0xFF312000 0x4000>;
232 tb100-mdscr-manage-tsin;
233 };
234 tb10x_wfb: tb10x-wfb@ff319000 {
235 compatible = "abilis,tb100-wfb";
236 reg = <0xff319000 0x1000>;
237 interrupt-parent = <&tb10x_ictl>;
Christian Ruppert723e2b82013-06-26 16:01:28 +0200238 interrupts = <16 8>;
Christian Ruppert2eb95042013-04-11 15:19:40 +0200239 };
240 };
241};