Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 // Copyright (C) 2014 Broadcom Corporation
0003 
0004 #include <dt-bindings/interrupt-controller/arm-gic.h>
0005 #include <dt-bindings/interrupt-controller/irq.h>
0006 
0007 #include "dt-bindings/clock/bcm21664.h"
0008 
0009 / {
0010         #address-cells = <1>;
0011         #size-cells = <1>;
0012         model = "BCM21664 SoC";
0013         compatible = "brcm,bcm21664";
0014         interrupt-parent = <&gic>;
0015 
0016         chosen {
0017                 bootargs = "console=ttyS0,115200n8";
0018         };
0019 
0020         cpus {
0021                 #address-cells = <1>;
0022                 #size-cells = <0>;
0023 
0024                 cpu0: cpu@0 {
0025                         device_type = "cpu";
0026                         compatible = "arm,cortex-a9";
0027                         reg = <0>;
0028                 };
0029 
0030                 cpu1: cpu@1 {
0031                         device_type = "cpu";
0032                         compatible = "arm,cortex-a9";
0033                         enable-method = "brcm,bcm11351-cpu-method";
0034                         secondary-boot-reg = <0x35004178>;
0035                         reg = <1>;
0036                 };
0037         };
0038 
0039         gic: interrupt-controller@3ff00100 {
0040                 compatible = "arm,cortex-a9-gic";
0041                 #interrupt-cells = <3>;
0042                 #address-cells = <0>;
0043                 interrupt-controller;
0044                 reg = <0x3ff01000 0x1000>,
0045                       <0x3ff00100 0x100>;
0046         };
0047 
0048         smc@3404e000 {
0049                 compatible = "brcm,bcm21664-smc", "brcm,kona-smc";
0050                 reg = <0x3404e000 0x400>; /* 1 KiB in SRAM */
0051         };
0052 
0053         uart@3e000000 {
0054                 compatible = "brcm,bcm21664-dw-apb-uart", "snps,dw-apb-uart";
0055                 status = "disabled";
0056                 reg = <0x3e000000 0x118>;
0057                 clocks = <&slave_ccu BCM21664_SLAVE_CCU_UARTB>;
0058                 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
0059                 reg-shift = <2>;
0060                 reg-io-width = <4>;
0061         };
0062 
0063         uart@3e001000 {
0064                 compatible = "brcm,bcm21664-dw-apb-uart", "snps,dw-apb-uart";
0065                 status = "disabled";
0066                 reg = <0x3e001000 0x118>;
0067                 clocks = <&slave_ccu BCM21664_SLAVE_CCU_UARTB2>;
0068                 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
0069                 reg-shift = <2>;
0070                 reg-io-width = <4>;
0071         };
0072 
0073         uart@3e002000 {
0074                 compatible = "brcm,bcm21664-dw-apb-uart", "snps,dw-apb-uart";
0075                 status = "disabled";
0076                 reg = <0x3e002000 0x118>;
0077                 clocks = <&slave_ccu BCM21664_SLAVE_CCU_UARTB3>;
0078                 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
0079                 reg-shift = <2>;
0080                 reg-io-width = <4>;
0081         };
0082 
0083         L2: cache-controller@3ff20000 {
0084                 compatible = "arm,pl310-cache";
0085                 reg = <0x3ff20000 0x1000>;
0086                 cache-unified;
0087                 cache-level = <2>;
0088         };
0089 
0090         brcm,resetmgr@35001f00 {
0091                 compatible = "brcm,bcm21664-resetmgr";
0092                 reg = <0x35001f00 0x24>;
0093         };
0094 
0095         timer@35006000 {
0096                 compatible = "brcm,kona-timer";
0097                 reg = <0x35006000 0x1c>;
0098                 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
0099                 clocks = <&aon_ccu BCM21664_AON_CCU_HUB_TIMER>;
0100         };
0101 
0102         gpio: gpio@35003000 {
0103                 compatible = "brcm,bcm21664-gpio", "brcm,kona-gpio";
0104                 reg = <0x35003000 0x524>;
0105                 interrupts =
0106                        <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH
0107                         GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH
0108                         GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH
0109                         GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
0110                 #gpio-cells = <2>;
0111                 #interrupt-cells = <2>;
0112                 gpio-controller;
0113                 interrupt-controller;
0114         };
0115 
0116         sdio1: sdio@3f180000 {
0117                 compatible = "brcm,kona-sdhci";
0118                 reg = <0x3f180000 0x801c>;
0119                 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
0120                 clocks = <&master_ccu BCM21664_MASTER_CCU_SDIO1>;
0121                 status = "disabled";
0122         };
0123 
0124         sdio2: sdio@3f190000 {
0125                 compatible = "brcm,kona-sdhci";
0126                 reg = <0x3f190000 0x801c>;
0127                 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
0128                 clocks = <&master_ccu BCM21664_MASTER_CCU_SDIO2>;
0129                 status = "disabled";
0130         };
0131 
0132         sdio3: sdio@3f1a0000 {
0133                 compatible = "brcm,kona-sdhci";
0134                 reg = <0x3f1a0000 0x801c>;
0135                 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
0136                 clocks = <&master_ccu BCM21664_MASTER_CCU_SDIO3>;
0137                 status = "disabled";
0138         };
0139 
0140         sdio4: sdio@3f1b0000 {
0141                 compatible = "brcm,kona-sdhci";
0142                 reg = <0x3f1b0000 0x801c>;
0143                 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
0144                 clocks = <&master_ccu BCM21664_MASTER_CCU_SDIO4>;
0145                 status = "disabled";
0146         };
0147 
0148         i2c@3e016000 {
0149                 compatible = "brcm,bcm21664-i2c", "brcm,kona-i2c";
0150                 reg = <0x3e016000 0x70>;
0151                 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
0152                 #address-cells = <1>;
0153                 #size-cells = <0>;
0154                 clocks = <&slave_ccu BCM21664_SLAVE_CCU_BSC1>;
0155                 status = "disabled";
0156         };
0157 
0158         i2c@3e017000 {
0159                 compatible = "brcm,bcm21664-i2c", "brcm,kona-i2c";
0160                 reg = <0x3e017000 0x70>;
0161                 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
0162                 #address-cells = <1>;
0163                 #size-cells = <0>;
0164                 clocks = <&slave_ccu BCM21664_SLAVE_CCU_BSC2>;
0165                 status = "disabled";
0166         };
0167 
0168         i2c@3e018000 {
0169                 compatible = "brcm,bcm21664-i2c", "brcm,kona-i2c";
0170                 reg = <0x3e018000 0x70>;
0171                 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
0172                 #address-cells = <1>;
0173                 #size-cells = <0>;
0174                 clocks = <&slave_ccu BCM21664_SLAVE_CCU_BSC3>;
0175                 status = "disabled";
0176         };
0177 
0178         i2c@3e01c000 {
0179                 compatible = "brcm,bcm21664-i2c", "brcm,kona-i2c";
0180                 reg = <0x3e01c000 0x70>;
0181                 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
0182                 #address-cells = <1>;
0183                 #size-cells = <0>;
0184                 clocks = <&slave_ccu BCM21664_SLAVE_CCU_BSC4>;
0185                 status = "disabled";
0186         };
0187 
0188         clocks {
0189                 #address-cells = <1>;
0190                 #size-cells = <1>;
0191                 ranges;
0192 
0193                 /*
0194                  * Fixed clocks are defined before CCUs whose
0195                  * clocks may depend on them.
0196                  */
0197 
0198                 ref_32k_clk: ref_32k {
0199                         #clock-cells = <0>;
0200                         compatible = "fixed-clock";
0201                         clock-frequency = <32768>;
0202                 };
0203 
0204                 bbl_32k_clk: bbl_32k {
0205                         #clock-cells = <0>;
0206                         compatible = "fixed-clock";
0207                         clock-frequency = <32768>;
0208                 };
0209 
0210                 ref_13m_clk: ref_13m {
0211                         #clock-cells = <0>;
0212                         compatible = "fixed-clock";
0213                         clock-frequency = <13000000>;
0214                 };
0215 
0216                 var_13m_clk: var_13m {
0217                         #clock-cells = <0>;
0218                         compatible = "fixed-clock";
0219                         clock-frequency = <13000000>;
0220                 };
0221 
0222                 dft_19_5m_clk: dft_19_5m {
0223                         #clock-cells = <0>;
0224                         compatible = "fixed-clock";
0225                         clock-frequency = <19500000>;
0226                 };
0227 
0228                 ref_crystal_clk: ref_crystal {
0229                         #clock-cells = <0>;
0230                         compatible = "fixed-clock";
0231                         clock-frequency = <26000000>;
0232                 };
0233 
0234                 ref_52m_clk: ref_52m {
0235                         #clock-cells = <0>;
0236                         compatible = "fixed-clock";
0237                         clock-frequency = <52000000>;
0238                 };
0239 
0240                 var_52m_clk: var_52m {
0241                         #clock-cells = <0>;
0242                         compatible = "fixed-clock";
0243                         clock-frequency = <52000000>;
0244                 };
0245 
0246                 usb_otg_ahb_clk: usb_otg_ahb {
0247                         #clock-cells = <0>;
0248                         compatible = "fixed-clock";
0249                         clock-frequency = <52000000>;
0250                 };
0251 
0252                 ref_96m_clk: ref_96m {
0253                         #clock-cells = <0>;
0254                         compatible = "fixed-clock";
0255                         clock-frequency = <96000000>;
0256                 };
0257 
0258                 var_96m_clk: var_96m {
0259                         #clock-cells = <0>;
0260                         compatible = "fixed-clock";
0261                         clock-frequency = <96000000>;
0262                 };
0263 
0264                 ref_104m_clk: ref_104m {
0265                         #clock-cells = <0>;
0266                         compatible = "fixed-clock";
0267                         clock-frequency = <104000000>;
0268                 };
0269 
0270                 var_104m_clk: var_104m {
0271                         #clock-cells = <0>;
0272                         compatible = "fixed-clock";
0273                         clock-frequency = <104000000>;
0274                 };
0275 
0276                 ref_156m_clk: ref_156m {
0277                         #clock-cells = <0>;
0278                         compatible = "fixed-clock";
0279                         clock-frequency = <156000000>;
0280                 };
0281 
0282                 var_156m_clk: var_156m {
0283                         #clock-cells = <0>;
0284                         compatible = "fixed-clock";
0285                         clock-frequency = <156000000>;
0286                 };
0287 
0288                 root_ccu: root_ccu@35001000 {
0289                         compatible = BCM21664_DT_ROOT_CCU_COMPAT;
0290                         reg = <0x35001000 0x0f00>;
0291                         #clock-cells = <1>;
0292                         clock-output-names = "frac_1m";
0293                 };
0294 
0295                 aon_ccu: aon_ccu@35002000 {
0296                         compatible = BCM21664_DT_AON_CCU_COMPAT;
0297                         reg = <0x35002000 0x0f00>;
0298                         #clock-cells = <1>;
0299                         clock-output-names = "hub_timer";
0300                 };
0301 
0302                 master_ccu: master_ccu@3f001000 {
0303                         compatible = BCM21664_DT_MASTER_CCU_COMPAT;
0304                         reg = <0x3f001000 0x0f00>;
0305                         #clock-cells = <1>;
0306                         clock-output-names = "sdio1",
0307                                              "sdio2",
0308                                              "sdio3",
0309                                              "sdio4",
0310                                              "sdio1_sleep",
0311                                              "sdio2_sleep",
0312                                              "sdio3_sleep",
0313                                              "sdio4_sleep";
0314                 };
0315 
0316                 slave_ccu: slave_ccu@3e011000 {
0317                         compatible = BCM21664_DT_SLAVE_CCU_COMPAT;
0318                         reg = <0x3e011000 0x0f00>;
0319                         #clock-cells = <1>;
0320                         clock-output-names = "uartb",
0321                                              "uartb2",
0322                                              "uartb3",
0323                                              "bsc1",
0324                                              "bsc2",
0325                                              "bsc3",
0326                                              "bsc4";
0327                 };
0328         };
0329 
0330         usbotg: usb@3f120000 {
0331                 compatible = "snps,dwc2";
0332                 reg = <0x3f120000 0x10000>;
0333                 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
0334                 clocks = <&usb_otg_ahb_clk>;
0335                 clock-names = "otg";
0336                 phys = <&usbphy>;
0337                 phy-names = "usb2-phy";
0338                 status = "disabled";
0339         };
0340 
0341         usbphy: usb-phy@3f130000 {
0342                 compatible = "brcm,kona-usb2-phy";
0343                 reg = <0x3f130000 0x28>;
0344                 #phy-cells = <0>;
0345                 status = "disabled";
0346         };
0347 };