Merge branch 'async-scsi-resume' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux.git] / arch / arm / boot / dts / bcm21664.dtsi
1 /*
2  * Copyright (C) 2014 Broadcom Corporation
3  *
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
14 #include <dt-bindings/interrupt-controller/arm-gic.h>
15 #include <dt-bindings/interrupt-controller/irq.h>
16
17 #include "skeleton.dtsi"
18
19 / {
20         model = "BCM21664 SoC";
21         compatible = "brcm,bcm21664";
22         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
37         smc@0x3404e000 {
38                 compatible = "brcm,bcm21664-smc", "brcm,kona-smc";
39                 reg = <0x3404e000 0x400>; /* 1 KiB in SRAM */
40         };
41
42         uart@3e000000 {
43                 compatible = "brcm,bcm21664-dw-apb-uart", "snps,dw-apb-uart";
44                 status = "disabled";
45                 reg = <0x3e000000 0x118>;
46                 clocks = <&uartb_clk>;
47                 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
48                 reg-shift = <2>;
49                 reg-io-width = <4>;
50         };
51
52         uart@3e001000 {
53                 compatible = "brcm,bcm21664-dw-apb-uart", "snps,dw-apb-uart";
54                 status = "disabled";
55                 reg = <0x3e001000 0x118>;
56                 clocks = <&uartb2_clk>;
57                 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,bcm21664-dw-apb-uart", "snps,dw-apb-uart";
64                 status = "disabled";
65                 reg = <0x3e002000 0x118>;
66                 clocks = <&uartb3_clk>;
67                 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
68                 reg-shift = <2>;
69                 reg-io-width = <4>;
70         };
71
72         L2: l2-cache {
73                 compatible = "arm,pl310-cache";
74                 reg = <0x3ff20000 0x1000>;
75                 cache-unified;
76                 cache-level = <2>;
77         };
78
79         brcm,resetmgr@35001f00 {
80                 compatible = "brcm,bcm21664-resetmgr";
81                 reg = <0x35001f00 0x24>;
82         };
83
84         timer@35006000 {
85                 compatible = "brcm,kona-timer";
86                 reg = <0x35006000 0x1c>;
87                 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
88                 clocks = <&hub_timer_clk>;
89         };
90
91         gpio: gpio@35003000 {
92                 compatible = "brcm,bcm21664-gpio", "brcm,kona-gpio";
93                 reg = <0x35003000 0x524>;
94                 interrupts =
95                        <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH
96                         GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH
97                         GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH
98                         GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
99                 #gpio-cells = <2>;
100                 #interrupt-cells = <2>;
101                 gpio-controller;
102                 interrupt-controller;
103         };
104
105         sdio1: sdio@3f180000 {
106                 compatible = "brcm,kona-sdhci";
107                 reg = <0x3f180000 0x801c>;
108                 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
109                 clocks = <&sdio1_clk>;
110                 status = "disabled";
111         };
112
113         sdio2: sdio@3f190000 {
114                 compatible = "brcm,kona-sdhci";
115                 reg = <0x3f190000 0x801c>;
116                 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
117                 clocks = <&sdio2_clk>;
118                 status = "disabled";
119         };
120
121         sdio3: sdio@3f1a0000 {
122                 compatible = "brcm,kona-sdhci";
123                 reg = <0x3f1a0000 0x801c>;
124                 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
125                 clocks = <&sdio3_clk>;
126                 status = "disabled";
127         };
128
129         sdio4: sdio@3f1b0000 {
130                 compatible = "brcm,kona-sdhci";
131                 reg = <0x3f1b0000 0x801c>;
132                 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
133                 clocks = <&sdio4_clk>;
134                 status = "disabled";
135         };
136
137         i2c@3e016000 {
138                 compatible = "brcm,bcm21664-i2c", "brcm,kona-i2c";
139                 reg = <0x3e016000 0x70>;
140                 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
141                 #address-cells = <1>;
142                 #size-cells = <0>;
143                 clocks = <&bsc1_clk>;
144                 status = "disabled";
145         };
146
147         i2c@3e017000 {
148                 compatible = "brcm,bcm21664-i2c", "brcm,kona-i2c";
149                 reg = <0x3e017000 0x70>;
150                 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
151                 #address-cells = <1>;
152                 #size-cells = <0>;
153                 clocks = <&bsc2_clk>;
154                 status = "disabled";
155         };
156
157         i2c@3e018000 {
158                 compatible = "brcm,bcm21664-i2c", "brcm,kona-i2c";
159                 reg = <0x3e018000 0x70>;
160                 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
161                 #address-cells = <1>;
162                 #size-cells = <0>;
163                 clocks = <&bsc3_clk>;
164                 status = "disabled";
165         };
166
167         i2c@3e01c000 {
168                 compatible = "brcm,bcm21664-i2c", "brcm,kona-i2c";
169                 reg = <0x3e01c000 0x70>;
170                 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
171                 #address-cells = <1>;
172                 #size-cells = <0>;
173                 clocks = <&bsc4_clk>;
174                 status = "disabled";
175         };
176
177         clocks {
178                 bsc1_clk: bsc1 {
179                         compatible = "fixed-clock";
180                         clock-frequency = <13000000>;
181                         #clock-cells = <0>;
182                 };
183
184                 bsc2_clk: bsc2 {
185                         compatible = "fixed-clock";
186                         clock-frequency = <13000000>;
187                         #clock-cells = <0>;
188                 };
189
190                 bsc3_clk: bsc3 {
191                         compatible = "fixed-clock";
192                         clock-frequency = <13000000>;
193                         #clock-cells = <0>;
194                 };
195
196                 bsc4_clk: bsc4 {
197                         compatible = "fixed-clock";
198                         clock-frequency = <13000000>;
199                         #clock-cells = <0>;
200                 };
201
202                 pmu_bsc_clk: pmu_bsc {
203                         compatible = "fixed-clock";
204                         clock-frequency = <13000000>;
205                         #clock-cells = <0>;
206                 };
207
208                 hub_timer_clk: hub_timer {
209                         compatible = "fixed-clock";
210                         clock-frequency = <32768>;
211                         #clock-cells = <0>;
212                 };
213
214                 pwm_clk: pwm {
215                         compatible = "fixed-clock";
216                         clock-frequency = <26000000>;
217                         #clock-cells = <0>;
218                 };
219
220                 sdio1_clk: sdio1 {
221                         compatible = "fixed-clock";
222                         clock-frequency = <48000000>;
223                         #clock-cells = <0>;
224                 };
225
226                 sdio2_clk: sdio2 {
227                         compatible = "fixed-clock";
228                         clock-frequency = <48000000>;
229                         #clock-cells = <0>;
230                 };
231
232                 sdio3_clk: sdio3 {
233                         compatible = "fixed-clock";
234                         clock-frequency = <48000000>;
235                         #clock-cells = <0>;
236                 };
237
238                 sdio4_clk: sdio4 {
239                         compatible = "fixed-clock";
240                         clock-frequency = <48000000>;
241                         #clock-cells = <0>;
242                 };
243
244                 tmon_1m_clk: tmon_1m {
245                         compatible = "fixed-clock";
246                         clock-frequency = <1000000>;
247                         #clock-cells = <0>;
248                 };
249
250                 uartb_clk: uartb {
251                         compatible = "fixed-clock";
252                         clock-frequency = <13000000>;
253                         #clock-cells = <0>;
254                 };
255
256                 uartb2_clk: uartb2 {
257                         compatible = "fixed-clock";
258                         clock-frequency = <13000000>;
259                         #clock-cells = <0>;
260                 };
261
262                 uartb3_clk: uartb3 {
263                         compatible = "fixed-clock";
264                         clock-frequency = <13000000>;
265                         #clock-cells = <0>;
266                 };
267
268                 usb_otg_ahb_clk: usb_otg_ahb {
269                         compatible = "fixed-clock";
270                         clock-frequency = <52000000>;
271                         #clock-cells = <0>;
272                 };
273         };
274
275         usbotg: usb@3f120000 {
276                 compatible = "snps,dwc2";
277                 reg = <0x3f120000 0x10000>;
278                 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
279                 clocks = <&usb_otg_ahb_clk>;
280                 clock-names = "otg";
281                 phys = <&usbphy>;
282                 phy-names = "usb2-phy";
283                 status = "disabled";
284         };
285
286         usbphy: usb-phy@3f130000 {
287                 compatible = "brcm,kona-usb2-phy";
288                 reg = <0x3f130000 0x28>;
289                 #phy-cells = <0>;
290                 status = "disabled";
291         };
292 };