blob: 375a2f8eb8784e6583072d0b002973c6e7bb2172 [file] [log] [blame]
Christian Daudt8ac49e02012-11-19 09:46:10 -08001/*
Markus Mayere3b62ff2013-08-02 13:12:21 -07002 * Copyright (C) 2012-2013 Broadcom Corporation
Christian Daudt8ac49e02012-11-19 09:46:10 -08003 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License as
6 * published by the Free Software Foundation version 2.
7 *
8 * This program is distributed "as is" WITHOUT ANY WARRANTY of any
9 * kind, whether express or implied; without even the implied warranty
10 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13
Matt Porter5401cc42013-06-06 01:41:35 -040014#include <dt-bindings/interrupt-controller/arm-gic.h>
15#include <dt-bindings/interrupt-controller/irq.h>
16
Matt Porter74375652013-06-06 01:41:34 -040017#include "skeleton.dtsi"
Christian Daudt8ac49e02012-11-19 09:46:10 -080018
19/ {
20 model = "BCM11351 SoC";
Christian Daudt15e22dd2013-07-30 16:27:10 -070021 compatible = "brcm,bcm11351";
Christian Daudt8ac49e02012-11-19 09:46:10 -080022 interrupt-parent = <&gic>;
23
24 chosen {
25 bootargs = "console=ttyS0,115200n8";
26 };
27
28 gic: interrupt-controller@3ff00100 {
29 compatible = "arm,cortex-a9-gic";
30 #interrupt-cells = <3>;
31 #address-cells = <0>;
32 interrupt-controller;
33 reg = <0x3ff01000 0x1000>,
34 <0x3ff00100 0x100>;
35 };
36
Christian Daudt7f6c62e2013-03-13 15:05:37 -070037 smc@0x3404c000 {
Christian Daudt15e22dd2013-07-30 16:27:10 -070038 compatible = "brcm,bcm11351-smc", "brcm,kona-smc";
Matt Porterd22dc5e2013-06-11 14:45:58 -040039 reg = <0x3404c000 0x400>; /* 1 KiB in SRAM */
Christian Daudt7f6c62e2013-03-13 15:05:37 -070040 };
41
Christian Daudt8ac49e02012-11-19 09:46:10 -080042 uart@3e000000 {
Christian Daudt15e22dd2013-07-30 16:27:10 -070043 compatible = "brcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart";
Christian Daudt8ac49e02012-11-19 09:46:10 -080044 status = "disabled";
45 reg = <0x3e000000 0x1000>;
Tim Kryger740309b2013-12-05 11:20:38 -080046 clocks = <&uartb_clk>;
Matt Porter5401cc42013-06-06 01:41:35 -040047 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
Christian Daudt8ac49e02012-11-19 09:46:10 -080048 reg-shift = <2>;
49 reg-io-width = <4>;
50 };
51
Tim Kryger84491c02013-09-23 10:49:57 -070052 uart@3e001000 {
53 compatible = "brcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart";
54 status = "disabled";
55 reg = <0x3e001000 0x1000>;
Tim Kryger740309b2013-12-05 11:20:38 -080056 clocks = <&uartb2_clk>;
Tim Kryger84491c02013-09-23 10:49:57 -070057 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
58 reg-shift = <2>;
59 reg-io-width = <4>;
60 };
61
62 uart@3e002000 {
63 compatible = "brcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart";
64 status = "disabled";
65 reg = <0x3e002000 0x1000>;
Tim Kryger740309b2013-12-05 11:20:38 -080066 clocks = <&uartb3_clk>;
Tim Kryger84491c02013-09-23 10:49:57 -070067 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
68 reg-shift = <2>;
69 reg-io-width = <4>;
70 };
71
72 uart@3e003000 {
73 compatible = "brcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart";
74 status = "disabled";
75 reg = <0x3e003000 0x1000>;
Tim Kryger740309b2013-12-05 11:20:38 -080076 clocks = <&uartb4_clk>;
Tim Kryger84491c02013-09-23 10:49:57 -070077 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
78 reg-shift = <2>;
79 reg-io-width = <4>;
80 };
81
Christian Daudt8ac49e02012-11-19 09:46:10 -080082 L2: l2-cache {
Christian Daudt15e22dd2013-07-30 16:27:10 -070083 compatible = "brcm,bcm11351-a2-pl310-cache";
Christian Daudt3b656fe2013-05-09 22:21:01 +010084 reg = <0x3ff20000 0x1000>;
85 cache-unified;
86 cache-level = <2>;
Christian Daudt8ac49e02012-11-19 09:46:10 -080087 };
Christian Daudt5f03dc22013-03-13 14:27:28 -070088
Markus Mayere3b62ff2013-08-02 13:12:21 -070089 watchdog@35002f40 {
90 compatible = "brcm,bcm11351-wdt", "brcm,kona-wdt";
91 reg = <0x35002f40 0x6c>;
92 };
93
Christian Daudt5f03dc22013-03-13 14:27:28 -070094 timer@35006000 {
Christian Daudt15e22dd2013-07-30 16:27:10 -070095 compatible = "brcm,kona-timer";
Christian Daudt5f03dc22013-03-13 14:27:28 -070096 reg = <0x35006000 0x1000>;
Matt Porter5401cc42013-06-06 01:41:35 -040097 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
Tim Kryger788db612013-12-05 11:20:44 -080098 clocks = <&hub_timer_clk>;
Christian Daudt5f03dc22013-03-13 14:27:28 -070099 };
100
Markus Mayerd394c7b2013-09-10 11:07:03 -0700101 gpio: gpio@35003000 {
102 compatible = "brcm,bcm11351-gpio", "brcm,kona-gpio";
103 reg = <0x35003000 0x800>;
104 interrupts =
105 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH
106 GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH
107 GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH
108 GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
109 GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH
110 GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
111 #gpio-cells = <2>;
112 #interrupt-cells = <2>;
113 gpio-controller;
114 interrupt-controller;
115 };
116
Christian Daudtd7358f82013-08-07 22:37:47 -0700117 sdio1: sdio@3f180000 {
Christian Daudt15e22dd2013-07-30 16:27:10 -0700118 compatible = "brcm,kona-sdhci";
Christian Daudt2dbfe742013-05-10 00:10:07 -0700119 reg = <0x3f180000 0x10000>;
Matt Porter9c0dae02013-09-19 13:18:26 -0400120 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
Tim Kryger92f5d822013-12-05 11:20:40 -0800121 clocks = <&sdio1_clk>;
Christian Daudt2dbfe742013-05-10 00:10:07 -0700122 status = "disabled";
123 };
124
Christian Daudtd7358f82013-08-07 22:37:47 -0700125 sdio2: sdio@3f190000 {
Christian Daudt15e22dd2013-07-30 16:27:10 -0700126 compatible = "brcm,kona-sdhci";
Christian Daudt2dbfe742013-05-10 00:10:07 -0700127 reg = <0x3f190000 0x10000>;
Matt Porter9c0dae02013-09-19 13:18:26 -0400128 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
Tim Kryger92f5d822013-12-05 11:20:40 -0800129 clocks = <&sdio2_clk>;
Christian Daudt2dbfe742013-05-10 00:10:07 -0700130 status = "disabled";
131 };
132
Christian Daudtd7358f82013-08-07 22:37:47 -0700133 sdio3: sdio@3f1a0000 {
Christian Daudt15e22dd2013-07-30 16:27:10 -0700134 compatible = "brcm,kona-sdhci";
Christian Daudt2dbfe742013-05-10 00:10:07 -0700135 reg = <0x3f1a0000 0x10000>;
Matt Porter9c0dae02013-09-19 13:18:26 -0400136 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
Tim Kryger92f5d822013-12-05 11:20:40 -0800137 clocks = <&sdio3_clk>;
Christian Daudt2dbfe742013-05-10 00:10:07 -0700138 status = "disabled";
139 };
140
Christian Daudtd7358f82013-08-07 22:37:47 -0700141 sdio4: sdio@3f1b0000 {
Christian Daudt15e22dd2013-07-30 16:27:10 -0700142 compatible = "brcm,kona-sdhci";
Christian Daudt2dbfe742013-05-10 00:10:07 -0700143 reg = <0x3f1b0000 0x10000>;
Matt Porter9c0dae02013-09-19 13:18:26 -0400144 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
Tim Kryger92f5d822013-12-05 11:20:40 -0800145 clocks = <&sdio4_clk>;
Christian Daudt2dbfe742013-05-10 00:10:07 -0700146 status = "disabled";
147 };
148
Tim Krygerdfc4334b2013-12-06 15:45:27 -0800149 i2c@3e016000 {
150 compatible = "brcm,bcm11351-i2c", "brcm,kona-i2c";
151 reg = <0x3e016000 0x80>;
152 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
153 #address-cells = <1>;
154 #size-cells = <0>;
155 clocks = <&bsc1_clk>;
156 status = "disabled";
157 };
158
159 i2c@3e017000 {
160 compatible = "brcm,bcm11351-i2c", "brcm,kona-i2c";
161 reg = <0x3e017000 0x80>;
162 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
163 #address-cells = <1>;
164 #size-cells = <0>;
165 clocks = <&bsc2_clk>;
166 status = "disabled";
167 };
168
169 i2c@3e018000 {
170 compatible = "brcm,bcm11351-i2c", "brcm,kona-i2c";
171 reg = <0x3e018000 0x80>;
172 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
173 #address-cells = <1>;
174 #size-cells = <0>;
175 clocks = <&bsc3_clk>;
176 status = "disabled";
177 };
178
179 i2c@3500d000 {
180 compatible = "brcm,bcm11351-i2c", "brcm,kona-i2c";
181 reg = <0x3500d000 0x80>;
182 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
183 #address-cells = <1>;
184 #size-cells = <0>;
185 clocks = <&pmu_bsc_clk>;
186 status = "disabled";
187 };
188
Tim Kryger0bd898b2013-12-05 11:20:37 -0800189 clocks {
190 bsc1_clk: bsc1 {
191 compatible = "fixed-clock";
192 clock-frequency = <13000000>;
193 #clock-cells = <0>;
194 };
195
196 bsc2_clk: bsc2 {
197 compatible = "fixed-clock";
198 clock-frequency = <13000000>;
199 #clock-cells = <0>;
200 };
201
202 bsc3_clk: bsc3 {
203 compatible = "fixed-clock";
204 clock-frequency = <13000000>;
205 #clock-cells = <0>;
206 };
207
208 pmu_bsc_clk: pmu_bsc {
209 compatible = "fixed-clock";
210 clock-frequency = <13000000>;
211 #clock-cells = <0>;
212 };
213
214 hub_timer_clk: hub_timer {
215 compatible = "fixed-clock";
216 clock-frequency = <32768>;
217 #clock-cells = <0>;
218 };
219
220 pwm_clk: pwm {
221 compatible = "fixed-clock";
222 clock-frequency = <26000000>;
223 #clock-cells = <0>;
224 };
225
226 sdio1_clk: sdio1 {
227 compatible = "fixed-clock";
228 clock-frequency = <48000000>;
229 #clock-cells = <0>;
230 };
231
232 sdio2_clk: sdio2 {
233 compatible = "fixed-clock";
234 clock-frequency = <48000000>;
235 #clock-cells = <0>;
236 };
237
238 sdio3_clk: sdio3 {
239 compatible = "fixed-clock";
240 clock-frequency = <48000000>;
241 #clock-cells = <0>;
242 };
243
244 sdio4_clk: sdio4 {
245 compatible = "fixed-clock";
246 clock-frequency = <48000000>;
247 #clock-cells = <0>;
248 };
249
250 tmon_1m_clk: tmon_1m {
251 compatible = "fixed-clock";
252 clock-frequency = <1000000>;
253 #clock-cells = <0>;
254 };
255
256 uartb_clk: uartb {
257 compatible = "fixed-clock";
258 clock-frequency = <13000000>;
259 #clock-cells = <0>;
260 };
261
262 uartb2_clk: uartb2 {
263 compatible = "fixed-clock";
264 clock-frequency = <13000000>;
265 #clock-cells = <0>;
266 };
267
268 uartb3_clk: uartb3 {
269 compatible = "fixed-clock";
270 clock-frequency = <13000000>;
271 #clock-cells = <0>;
272 };
273
274 uartb4_clk: uartb4 {
275 compatible = "fixed-clock";
276 clock-frequency = <13000000>;
277 #clock-cells = <0>;
278 };
279
280 usb_otg_ahb_clk: usb_otg_ahb {
281 compatible = "fixed-clock";
282 clock-frequency = <52000000>;
283 #clock-cells = <0>;
284 };
285 };
Matt Porterd97f7992013-12-19 09:23:10 -0500286
287 usbotg: usb@3f120000 {
288 compatible = "snps,dwc2";
289 reg = <0x3f120000 0x10000>;
290 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
291 clocks = <&usb_otg_ahb_clk>;
292 clock-names = "otg";
293 phys = <&usbphy>;
294 phy-names = "usb2-phy";
295 status = "disabled";
296 };
297
298 usbphy: usb-phy@3f130000 {
299 compatible = "brcm,kona-usb2-phy";
300 reg = <0x3f130000 0x28>;
301 #phy-cells = <0>;
302 status = "disabled";
303 };
Christian Daudt8ac49e02012-11-19 09:46:10 -0800304};