~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm/boot/dts/broadcom/bcm23550.dtsi

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2  *  BSD LICENSE
  3  *
  4  *  Copyright(c) 2016 Broadcom.  All rights reserved.
  5  *
  6  *  Redistribution and use in source and binary forms, with or without
  7  *  modification, are permitted provided that the following conditions
  8  *  are met:
  9  *
 10  *    * Redistributions of source code must retain the above copyright
 11  *      notice, this list of conditions and the following disclaimer.
 12  *    * Redistributions in binary form must reproduce the above copyright
 13  *      notice, this list of conditions and the following disclaimer in
 14  *      the documentation and/or other materials provided with the
 15  *      distribution.
 16  *    * Neither the name of Broadcom Corporation nor the names of its
 17  *      contributors may be used to endorse or promote products derived
 18  *      from this software without specific prior written permission.
 19  *
 20  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 21  *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 22  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 23  *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 24  *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 25  *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 26  *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 27  *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 28  *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 29  *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 31  */
 32 
 33 /* BCM23550 and BCM21664 have almost identical clocks */
 34 #include <dt-bindings/clock/bcm21664.h>
 35 #include <dt-bindings/interrupt-controller/arm-gic.h>
 36 #include <dt-bindings/interrupt-controller/irq.h>
 37 
 38 / {
 39         #address-cells = <1>;
 40         #size-cells = <1>;
 41         model = "BCM23550 SoC";
 42         compatible = "brcm,bcm23550";
 43         interrupt-parent = <&gic>;
 44 
 45         cpus {
 46                 #address-cells = <1>;
 47                 #size-cells = <0>;
 48 
 49                 cpu0: cpu@0 {
 50                         device_type = "cpu";
 51                         compatible = "arm,cortex-a7";
 52                         reg = <0>;
 53                         clock-frequency = <1000000000>;
 54                 };
 55 
 56                 cpu1: cpu@1 {
 57                         device_type = "cpu";
 58                         compatible = "arm,cortex-a7";
 59                         enable-method = "brcm,bcm23550";
 60                         secondary-boot-reg = <0x35004178>;
 61                         reg = <1>;
 62                         clock-frequency = <1000000000>;
 63                 };
 64 
 65                 cpu2: cpu@2 {
 66                         device_type = "cpu";
 67                         compatible = "arm,cortex-a7";
 68                         enable-method = "brcm,bcm23550";
 69                         secondary-boot-reg = <0x35004178>;
 70                         reg = <2>;
 71                         clock-frequency = <1000000000>;
 72                 };
 73 
 74                 cpu3: cpu@3 {
 75                         device_type = "cpu";
 76                         compatible = "arm,cortex-a7";
 77                         enable-method = "brcm,bcm23550";
 78                         secondary-boot-reg = <0x35004178>;
 79                         reg = <3>;
 80                         clock-frequency = <1000000000>;
 81                 };
 82         };
 83 
 84         /* Hub bus */
 85         hub@34000000 {
 86                 compatible = "simple-bus";
 87                 ranges = <0 0x34000000 0x102f83ac>;
 88                 #address-cells = <1>;
 89                 #size-cells = <1>;
 90 
 91                 smc@4e000 {
 92                         compatible = "brcm,bcm23550-smc", "brcm,kona-smc";
 93                         reg = <0x0004e000 0x400>; /* 1 KiB in SRAM */
 94                 };
 95 
 96                 resetmgr: reset-controller@1001f00 {
 97                         compatible = "brcm,bcm21664-resetmgr";
 98                         reg = <0x01001f00 0x24>;
 99                 };
100 
101                 gpio: gpio@1003000 {
102                         compatible = "brcm,bcm23550-gpio", "brcm,kona-gpio";
103                         reg = <0x01003000 0x524>;
104                         interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
105                                      <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
106                                      <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
107                                      <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
108                         #gpio-cells = <2>;
109                         #interrupt-cells = <2>;
110                         gpio-controller;
111                         interrupt-controller;
112                 };
113 
114                 timer@1006000 {
115                         compatible = "brcm,kona-timer";
116                         reg = <0x01006000 0x1c>;
117                         interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
118                         clocks = <&aon_ccu BCM21664_AON_CCU_HUB_TIMER>;
119                 };
120         };
121 
122         /* Slaves bus */
123         slaves@3e000000 {
124                 compatible = "simple-bus";
125                 ranges = <0 0x3e000000 0x0001c070>;
126                 #address-cells = <1>;
127                 #size-cells = <1>;
128 
129                 uartb: serial@0 {
130                         compatible = "snps,dw-apb-uart";
131                         reg = <0x00000000 0x118>;
132                         clocks = <&slave_ccu BCM21664_SLAVE_CCU_UARTB>;
133                         interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
134                         reg-shift = <2>;
135                         reg-io-width = <4>;
136                         status = "disabled";
137                 };
138 
139                 uartb2: serial@1000 {
140                         compatible = "snps,dw-apb-uart";
141                         reg = <0x00001000 0x118>;
142                         clocks = <&slave_ccu BCM21664_SLAVE_CCU_UARTB2>;
143                         interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
144                         reg-shift = <2>;
145                         reg-io-width = <4>;
146                         status = "disabled";
147                 };
148 
149                 uartb3: serial@2000 {
150                         compatible = "snps,dw-apb-uart";
151                         reg = <0x00002000 0x118>;
152                         clocks = <&slave_ccu BCM21664_SLAVE_CCU_UARTB3>;
153                         interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
154                         reg-shift = <2>;
155                         reg-io-width = <4>;
156                         status = "disabled";
157                 };
158 
159                 bsc1: i2c@16000 {
160                         compatible = "brcm,bcm23550-i2c", "brcm,kona-i2c";
161                         reg = <0x00016000 0x70>;
162                         interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
163                         #address-cells = <1>;
164                         #size-cells = <0>;
165                         clocks = <&slave_ccu BCM21664_SLAVE_CCU_BSC1>;
166                         status = "disabled";
167                 };
168 
169                 bsc2: i2c@17000 {
170                         compatible = "brcm,bcm23550-i2c", "brcm,kona-i2c";
171                         reg = <0x00017000 0x70>;
172                         interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
173                         #address-cells = <1>;
174                         #size-cells = <0>;
175                         clocks = <&slave_ccu BCM21664_SLAVE_CCU_BSC2>;
176                         status = "disabled";
177                 };
178 
179                 bsc3: i2c@18000 {
180                         compatible = "brcm,bcm23550-i2c", "brcm,kona-i2c";
181                         reg = <0x00018000 0x70>;
182                         interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
183                         #address-cells = <1>;
184                         #size-cells = <0>;
185                         clocks = <&slave_ccu BCM21664_SLAVE_CCU_BSC3>;
186                         status = "disabled";
187                 };
188 
189                 bsc4: i2c@1c000 {
190                         compatible = "brcm,bcm23550-i2c", "brcm,kona-i2c";
191                         reg = <0x0001c000 0x70>;
192                         interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
193                         #address-cells = <1>;
194                         #size-cells = <0>;
195                         clocks = <&slave_ccu BCM21664_SLAVE_CCU_BSC4>;
196                         status = "disabled";
197                 };
198         };
199 
200         /* Apps bus */
201         apps@3e300000 {
202                 compatible = "simple-bus";
203                 ranges = <0 0x3e300000 0x01b77000>;
204                 #address-cells = <1>;
205                 #size-cells = <1>;
206 
207                 usbotg: usb@e20000 {
208                         compatible = "snps,dwc2";
209                         reg = <0x00e20000 0x10000>;
210                         interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
211                         clocks = <&usb_otg_ahb_clk>;
212                         clock-names = "otg";
213                         phys = <&usbphy>;
214                         phy-names = "usb2-phy";
215                         status = "disabled";
216                 };
217 
218                 usbphy: usb-phy@e30000 {
219                         compatible = "brcm,kona-usb2-phy";
220                         reg = <0x00e30000 0x28>;
221                         #phy-cells = <0>;
222                         status = "disabled";
223                 };
224 
225                 sdio1: mmc@e80000 {
226                         compatible = "brcm,kona-sdhci";
227                         reg = <0x00e80000 0x801c>;
228                         interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
229                         clocks = <&master_ccu BCM21664_MASTER_CCU_SDIO1>;
230                         status = "disabled";
231                 };
232 
233                 sdio2: mmc@e90000 {
234                         compatible = "brcm,kona-sdhci";
235                         reg = <0x00e90000 0x801c>;
236                         interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
237                         clocks = <&master_ccu BCM21664_MASTER_CCU_SDIO2>;
238                         status = "disabled";
239                 };
240 
241                 sdio3: mmc@ea0000 {
242                         compatible = "brcm,kona-sdhci";
243                         reg = <0x00ea0000 0x801c>;
244                         interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
245                         clocks = <&master_ccu BCM21664_MASTER_CCU_SDIO3>;
246                         status = "disabled";
247                 };
248 
249                 sdio4: mmc@eb0000 {
250                         compatible = "brcm,kona-sdhci";
251                         reg = <0x00eb0000 0x801c>;
252                         interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
253                         clocks = <&master_ccu BCM21664_MASTER_CCU_SDIO4>;
254                         status = "disabled";
255                 };
256 
257                 cdc: cdc@1b0e000 {
258                         compatible = "brcm,bcm23550-cdc";
259                         reg = <0x01b0e000 0x78>;
260                 };
261 
262                 gic: interrupt-controller@1b21000 {
263                         compatible = "arm,cortex-a9-gic";
264                         #interrupt-cells = <3>;
265                         #address-cells = <0>;
266                         interrupt-controller;
267                         reg = <0x01b21000 0x1000>,
268                               <0x01b22000 0x1000>;
269                 };
270         };
271 
272         clocks {
273                 #address-cells = <1>;
274                 #size-cells = <1>;
275                 ranges;
276 
277                 /*
278                  * Fixed clocks are defined before CCUs whose
279                  * clocks may depend on them.
280                  */
281 
282                 ref_32k_clk: ref_32k {
283                         #clock-cells = <0>;
284                         compatible = "fixed-clock";
285                         clock-frequency = <32768>;
286                 };
287 
288                 bbl_32k_clk: bbl_32k {
289                         #clock-cells = <0>;
290                         compatible = "fixed-clock";
291                         clock-frequency = <32768>;
292                 };
293 
294                 ref_13m_clk: ref_13m {
295                         #clock-cells = <0>;
296                         compatible = "fixed-clock";
297                         clock-frequency = <13000000>;
298                 };
299 
300                 var_13m_clk: var_13m {
301                         #clock-cells = <0>;
302                         compatible = "fixed-clock";
303                         clock-frequency = <13000000>;
304                 };
305 
306                 dft_19_5m_clk: dft_19_5m {
307                         #clock-cells = <0>;
308                         compatible = "fixed-clock";
309                         clock-frequency = <19500000>;
310                 };
311 
312                 ref_crystal_clk: ref_crystal {
313                         #clock-cells = <0>;
314                         compatible = "fixed-clock";
315                         clock-frequency = <26000000>;
316                 };
317 
318                 ref_52m_clk: ref_52m {
319                         #clock-cells = <0>;
320                         compatible = "fixed-clock";
321                         clock-frequency = <52000000>;
322                 };
323 
324                 var_52m_clk: var_52m {
325                         #clock-cells = <0>;
326                         compatible = "fixed-clock";
327                         clock-frequency = <52000000>;
328                 };
329 
330                 usb_otg_ahb_clk: usb_otg_ahb {
331                         #clock-cells = <0>;
332                         compatible = "fixed-clock";
333                         clock-frequency = <52000000>;
334                 };
335 
336                 ref_96m_clk: ref_96m {
337                         #clock-cells = <0>;
338                         compatible = "fixed-clock";
339                         clock-frequency = <96000000>;
340                 };
341 
342                 var_96m_clk: var_96m {
343                         #clock-cells = <0>;
344                         compatible = "fixed-clock";
345                         clock-frequency = <96000000>;
346                 };
347 
348                 ref_104m_clk: ref_104m {
349                         #clock-cells = <0>;
350                         compatible = "fixed-clock";
351                         clock-frequency = <104000000>;
352                 };
353 
354                 var_104m_clk: var_104m {
355                         #clock-cells = <0>;
356                         compatible = "fixed-clock";
357                         clock-frequency = <104000000>;
358                 };
359 
360                 ref_156m_clk: ref_156m {
361                         #clock-cells = <0>;
362                         compatible = "fixed-clock";
363                         clock-frequency = <156000000>;
364                 };
365 
366                 var_156m_clk: var_156m {
367                         #clock-cells = <0>;
368                         compatible = "fixed-clock";
369                         clock-frequency = <156000000>;
370                 };
371 
372                 root_ccu: root_ccu@35001000 {
373                         compatible = "brcm,bcm21664-root-ccu";
374                         reg = <0x35001000 0x0f00>;
375                         #clock-cells = <1>;
376                         clock-output-names = "frac_1m";
377                 };
378 
379                 aon_ccu: aon_ccu@35002000 {
380                         compatible = "brcm,bcm21664-aon-ccu";
381                         reg = <0x35002000 0x0f00>;
382                         #clock-cells = <1>;
383                         clock-output-names = "hub_timer";
384                 };
385 
386                 slave_ccu: slave_ccu@3e011000 {
387                         compatible = "brcm,bcm21664-slave-ccu";
388                         reg = <0x3e011000 0x0f00>;
389                         #clock-cells = <1>;
390                         clock-output-names = "uartb",
391                                              "uartb2",
392                                              "uartb3",
393                                              "bsc1",
394                                              "bsc2",
395                                              "bsc3",
396                                              "bsc4";
397                 };
398 
399                 master_ccu: master_ccu@3f001000 {
400                         compatible = "brcm,bcm21664-master-ccu";
401                         reg = <0x3f001000 0x0f00>;
402                         #clock-cells = <1>;
403                         clock-output-names = "sdio1",
404                                              "sdio2",
405                                              "sdio3",
406                                              "sdio4",
407                                              "sdio1_sleep",
408                                              "sdio2_sleep",
409                                              "sdio3_sleep",
410                                              "sdio4_sleep";
411                 };
412         };
413 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php