2 * Copyright (C) 2012-2013 Broadcom Corporation
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.
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.
14 #include <dt-bindings/interrupt-controller/arm-gic.h>
15 #include <dt-bindings/interrupt-controller/irq.h>
17 #include "dt-bindings/clock/bcm281xx.h"
19 #include "skeleton.dtsi"
22 model = "BCM11351 SoC";
23 compatible = "brcm,bcm11351";
24 interrupt-parent = <&gic>;
27 bootargs = "console=ttyS0,115200n8";
36 compatible = "arm,cortex-a9";
42 compatible = "arm,cortex-a9";
43 enable-method = "brcm,bcm11351-cpu-method";
44 secondary-boot-reg = <0x3500417c>;
49 gic: interrupt-controller@3ff00100 {
50 compatible = "arm,cortex-a9-gic";
51 #interrupt-cells = <3>;
54 reg = <0x3ff01000 0x1000>,
59 compatible = "brcm,bcm11351-smc", "brcm,kona-smc";
60 reg = <0x3404c000 0x400>; /* 1 KiB in SRAM */
64 compatible = "brcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart";
66 reg = <0x3e000000 0x1000>;
67 clocks = <&slave_ccu BCM281XX_SLAVE_CCU_UARTB>;
68 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
74 compatible = "brcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart";
76 reg = <0x3e001000 0x1000>;
77 clocks = <&slave_ccu BCM281XX_SLAVE_CCU_UARTB2>;
78 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
84 compatible = "brcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart";
86 reg = <0x3e002000 0x1000>;
87 clocks = <&slave_ccu BCM281XX_SLAVE_CCU_UARTB3>;
88 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
94 compatible = "brcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart";
96 reg = <0x3e003000 0x1000>;
97 clocks = <&slave_ccu BCM281XX_SLAVE_CCU_UARTB4>;
98 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
104 compatible = "brcm,bcm11351-a2-pl310-cache";
105 reg = <0x3ff20000 0x1000>;
111 compatible = "brcm,bcm11351-wdt", "brcm,kona-wdt";
112 reg = <0x35002f40 0x6c>;
116 compatible = "brcm,kona-timer";
117 reg = <0x35006000 0x1000>;
118 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
119 clocks = <&aon_ccu BCM281XX_AON_CCU_HUB_TIMER>;
122 gpio: gpio@35003000 {
123 compatible = "brcm,bcm11351-gpio", "brcm,kona-gpio";
124 reg = <0x35003000 0x800>;
126 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH
127 GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH
128 GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH
129 GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
130 GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH
131 GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
133 #interrupt-cells = <2>;
135 interrupt-controller;
138 sdio1: sdio@3f180000 {
139 compatible = "brcm,kona-sdhci";
140 reg = <0x3f180000 0x10000>;
141 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
142 clocks = <&master_ccu BCM281XX_MASTER_CCU_SDIO1>;
146 sdio2: sdio@3f190000 {
147 compatible = "brcm,kona-sdhci";
148 reg = <0x3f190000 0x10000>;
149 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
150 clocks = <&master_ccu BCM281XX_MASTER_CCU_SDIO2>;
154 sdio3: sdio@3f1a0000 {
155 compatible = "brcm,kona-sdhci";
156 reg = <0x3f1a0000 0x10000>;
157 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
158 clocks = <&master_ccu BCM281XX_MASTER_CCU_SDIO3>;
162 sdio4: sdio@3f1b0000 {
163 compatible = "brcm,kona-sdhci";
164 reg = <0x3f1b0000 0x10000>;
165 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
166 clocks = <&master_ccu BCM281XX_MASTER_CCU_SDIO4>;
171 compatible = "brcm,bcm11351-pinctrl";
172 reg = <0x35004800 0x430>;
176 compatible = "brcm,bcm11351-i2c", "brcm,kona-i2c";
177 reg = <0x3e016000 0x80>;
178 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
179 #address-cells = <1>;
181 clocks = <&slave_ccu BCM281XX_SLAVE_CCU_BSC1>;
186 compatible = "brcm,bcm11351-i2c", "brcm,kona-i2c";
187 reg = <0x3e017000 0x80>;
188 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
189 #address-cells = <1>;
191 clocks = <&slave_ccu BCM281XX_SLAVE_CCU_BSC2>;
196 compatible = "brcm,bcm11351-i2c", "brcm,kona-i2c";
197 reg = <0x3e018000 0x80>;
198 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
199 #address-cells = <1>;
201 clocks = <&slave_ccu BCM281XX_SLAVE_CCU_BSC3>;
206 compatible = "brcm,bcm11351-i2c", "brcm,kona-i2c";
207 reg = <0x3500d000 0x80>;
208 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
209 #address-cells = <1>;
211 clocks = <&aon_ccu BCM281XX_AON_CCU_PMU_BSC>;
216 compatible = "brcm,bcm11351-pwm", "brcm,kona-pwm";
217 reg = <0x3e01a000 0xcc>;
218 clocks = <&slave_ccu BCM281XX_SLAVE_CCU_PWM>;
224 #address-cells = <1>;
229 compatible = "brcm,bcm11351-root-ccu";
230 reg = <0x35001000 0x0f00>;
232 clock-output-names = "frac_1m";
236 compatible = "brcm,bcm11351-hub-ccu";
237 reg = <0x34000000 0x0f00>;
239 clock-output-names = "tmon_1m";
243 compatible = "brcm,bcm11351-aon-ccu";
244 reg = <0x35002000 0x0f00>;
246 clock-output-names = "hub_timer",
251 master_ccu: master_ccu {
252 compatible = "brcm,bcm11351-master-ccu";
253 reg = <0x3f001000 0x0f00>;
255 clock-output-names = "sdio1",
264 slave_ccu: slave_ccu {
265 compatible = "brcm,bcm11351-slave-ccu";
266 reg = <0x3e011000 0x0f00>;
268 clock-output-names = "uartb",
282 compatible = "fixed-clock";
283 clock-frequency = <1000000>;
286 ref_32k_clk: ref_32k {
288 compatible = "fixed-clock";
289 clock-frequency = <32768>;
292 bbl_32k_clk: bbl_32k {
294 compatible = "fixed-clock";
295 clock-frequency = <32768>;
298 ref_13m_clk: ref_13m {
300 compatible = "fixed-clock";
301 clock-frequency = <13000000>;
304 var_13m_clk: var_13m {
306 compatible = "fixed-clock";
307 clock-frequency = <13000000>;
310 dft_19_5m_clk: dft_19_5m {
312 compatible = "fixed-clock";
313 clock-frequency = <19500000>;
316 ref_crystal_clk: ref_crystal {
318 compatible = "fixed-clock";
319 clock-frequency = <26000000>;
322 ref_cx40_clk: ref_cx40 {
324 compatible = "fixed-clock";
325 clock-frequency = <40000000>;
328 ref_52m_clk: ref_52m {
330 compatible = "fixed-clock";
331 clock-frequency = <52000000>;
334 var_52m_clk: var_52m {
336 compatible = "fixed-clock";
337 clock-frequency = <52000000>;
340 usb_otg_ahb_clk: usb_otg_ahb {
341 compatible = "fixed-clock";
342 clock-frequency = <52000000>;
346 ref_96m_clk: ref_96m {
348 compatible = "fixed-clock";
349 clock-frequency = <96000000>;
352 var_96m_clk: var_96m {
354 compatible = "fixed-clock";
355 clock-frequency = <96000000>;
358 ref_104m_clk: ref_104m {
360 compatible = "fixed-clock";
361 clock-frequency = <104000000>;
364 var_104m_clk: var_104m {
366 compatible = "fixed-clock";
367 clock-frequency = <104000000>;
370 ref_156m_clk: ref_156m {
372 compatible = "fixed-clock";
373 clock-frequency = <156000000>;
376 var_156m_clk: var_156m {
378 compatible = "fixed-clock";
379 clock-frequency = <156000000>;
382 ref_208m_clk: ref_208m {
384 compatible = "fixed-clock";
385 clock-frequency = <208000000>;
388 var_208m_clk: var_208m {
390 compatible = "fixed-clock";
391 clock-frequency = <208000000>;
394 ref_312m_clk: ref_312m {
396 compatible = "fixed-clock";
397 clock-frequency = <312000000>;
400 var_312m_clk: var_312m {
402 compatible = "fixed-clock";
403 clock-frequency = <312000000>;
407 usbotg: usb@3f120000 {
408 compatible = "snps,dwc2";
409 reg = <0x3f120000 0x10000>;
410 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
411 clocks = <&usb_otg_ahb_clk>;
414 phy-names = "usb2-phy";
418 usbphy: usb-phy@3f130000 {
419 compatible = "brcm,kona-usb2-phy";
420 reg = <0x3f130000 0x28>;