Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0+ OR MIT
0002 /*
0003  *  Copyright (C) 2019 Lubomir Rintel <lkundrak@v3.sk>
0004  */
0005 
0006 #include <dt-bindings/clock/marvell,mmp2.h>
0007 #include <dt-bindings/power/marvell,mmp2.h>
0008 #include <dt-bindings/interrupt-controller/arm-gic.h>
0009 
0010 / {
0011         #address-cells = <1>;
0012         #size-cells = <1>;
0013 
0014         cpus {
0015                 #address-cells = <1>;
0016                 #size-cells = <0>;
0017                 enable-method = "marvell,mmp3-smp";
0018 
0019                 cpu@0 {
0020                         compatible = "marvell,pj4b";
0021                         device_type = "cpu";
0022                         next-level-cache = <&l2>;
0023                         reg = <0>;
0024                 };
0025 
0026                 cpu@1 {
0027                         compatible = "marvell,pj4b";
0028                         device_type = "cpu";
0029                         next-level-cache = <&l2>;
0030                         reg = <1>;
0031                 };
0032         };
0033 
0034         soc {
0035                 #address-cells = <1>;
0036                 #size-cells = <1>;
0037                 compatible = "simple-bus";
0038                 interrupt-parent = <&gic>;
0039                 ranges;
0040 
0041                 axi@d4200000 {
0042                         compatible = "simple-bus";
0043                         #address-cells = <1>;
0044                         #size-cells = <1>;
0045                         reg = <0xd4200000 0x00200000>;
0046                         ranges;
0047 
0048                         interrupt-controller@d4282000 {
0049                                 compatible = "marvell,mmp3-intc";
0050                                 interrupt-controller;
0051                                 #interrupt-cells = <1>;
0052                                 reg = <0xd4282000 0x1000>,
0053                                       <0xd4284000 0x100>;
0054                                 mrvl,intc-nr-irqs = <64>;
0055                         };
0056 
0057                         pmic_mux: interrupt-controller@d4282150 {
0058                                 compatible = "mrvl,mmp2-mux-intc";
0059                                 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
0060                                 interrupt-controller;
0061                                 #interrupt-cells = <1>;
0062                                 reg = <0x150 0x4>, <0x168 0x4>;
0063                                 reg-names = "mux status", "mux mask";
0064                                 mrvl,intc-nr-irqs = <4>;
0065                         };
0066 
0067                         rtc_mux: interrupt-controller@d4282154 {
0068                                 compatible = "mrvl,mmp2-mux-intc";
0069                                 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
0070                                 interrupt-controller;
0071                                 #interrupt-cells = <1>;
0072                                 reg = <0x154 0x4>, <0x16c 0x4>;
0073                                 reg-names = "mux status", "mux mask";
0074                                 mrvl,intc-nr-irqs = <2>;
0075                         };
0076 
0077                         hsi3_mux: interrupt-controller@d42821bc {
0078                                 compatible = "mrvl,mmp2-mux-intc";
0079                                 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
0080                                 interrupt-controller;
0081                                 #interrupt-cells = <1>;
0082                                 reg = <0x1bc 0x4>, <0x1a4 0x4>;
0083                                 reg-names = "mux status", "mux mask";
0084                                 mrvl,intc-nr-irqs = <3>;
0085                         };
0086 
0087                         gpu_mux: interrupt-controller@d42821c0 {
0088                                 compatible = "mrvl,mmp2-mux-intc";
0089                                 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
0090                                 interrupt-controller;
0091                                 #interrupt-cells = <1>;
0092                                 reg = <0x1c0 0x4>, <0x1a8 0x4>;
0093                                 reg-names = "mux status", "mux mask";
0094                                 mrvl,intc-nr-irqs = <3>;
0095                         };
0096 
0097                         twsi_mux: interrupt-controller@d4282158 {
0098                                 compatible = "mrvl,mmp2-mux-intc";
0099                                 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
0100                                 interrupt-controller;
0101                                 #interrupt-cells = <1>;
0102                                 reg = <0x158 0x4>, <0x170 0x4>;
0103                                 reg-names = "mux status", "mux mask";
0104                                 mrvl,intc-nr-irqs = <5>;
0105                         };
0106 
0107                         hsi2_mux: interrupt-controller@d42821c4 {
0108                                 compatible = "mrvl,mmp2-mux-intc";
0109                                 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
0110                                 interrupt-controller;
0111                                 #interrupt-cells = <1>;
0112                                 reg = <0x1c4 0x4>, <0x1ac 0x4>;
0113                                 reg-names = "mux status", "mux mask";
0114                                 mrvl,intc-nr-irqs = <2>;
0115                         };
0116 
0117                         dxo_mux: interrupt-controller@d42821c8 {
0118                                 compatible = "mrvl,mmp2-mux-intc";
0119                                 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
0120                                 interrupt-controller;
0121                                 #interrupt-cells = <1>;
0122                                 reg = <0x1c8 0x4>, <0x1b0 0x4>;
0123                                 reg-names = "mux status", "mux mask";
0124                                 mrvl,intc-nr-irqs = <2>;
0125                         };
0126 
0127                         misc1_mux: interrupt-controller@d428215c {
0128                                 compatible = "mrvl,mmp2-mux-intc";
0129                                 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
0130                                 interrupt-controller;
0131                                 #interrupt-cells = <1>;
0132                                 reg = <0x15c 0x4>, <0x174 0x4>;
0133                                 reg-names = "mux status", "mux mask";
0134                                 mrvl,intc-nr-irqs = <31>;
0135                         };
0136 
0137                         ci_mux: interrupt-controller@d42821cc {
0138                                 compatible = "mrvl,mmp2-mux-intc";
0139                                 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
0140                                 interrupt-controller;
0141                                 #interrupt-cells = <1>;
0142                                 reg = <0x1cc 0x4>, <0x1b4 0x4>;
0143                                 reg-names = "mux status", "mux mask";
0144                                 mrvl,intc-nr-irqs = <2>;
0145                         };
0146 
0147                         ssp_mux: interrupt-controller@d4282160 {
0148                                 compatible = "mrvl,mmp2-mux-intc";
0149                                 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
0150                                 interrupt-controller;
0151                                 #interrupt-cells = <1>;
0152                                 reg = <0x160 0x4>, <0x178 0x4>;
0153                                 reg-names = "mux status", "mux mask";
0154                                 mrvl,intc-nr-irqs = <2>;
0155                         };
0156 
0157                         hsi1_mux: interrupt-controller@d4282184 {
0158                                 compatible = "mrvl,mmp2-mux-intc";
0159                                 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
0160                                 interrupt-controller;
0161                                 #interrupt-cells = <1>;
0162                                 reg = <0x184 0x4>, <0x17c 0x4>;
0163                                 reg-names = "mux status", "mux mask";
0164                                 mrvl,intc-nr-irqs = <4>;
0165                         };
0166 
0167                         misc2_mux: interrupt-controller@d4282188 {
0168                                 compatible = "mrvl,mmp2-mux-intc";
0169                                 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
0170                                 interrupt-controller;
0171                                 #interrupt-cells = <1>;
0172                                 reg = <0x188 0x4>, <0x180 0x4>;
0173                                 reg-names = "mux status", "mux mask";
0174                                 mrvl,intc-nr-irqs = <20>;
0175                         };
0176 
0177                         hsi0_mux: interrupt-controller@d42821d0 {
0178                                 compatible = "mrvl,mmp2-mux-intc";
0179                                 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
0180                                 interrupt-controller;
0181                                 #interrupt-cells = <1>;
0182                                 reg = <0x1d0 0x4>, <0x1b8 0x4>;
0183                                 reg-names = "mux status", "mux mask";
0184                                 mrvl,intc-nr-irqs = <5>;
0185                         };
0186 
0187                         usb_otg_phy0: usb-phy@d4207000 {
0188                                 compatible = "marvell,mmp3-usb-phy";
0189                                 reg = <0xd4207000 0x40>;
0190                                 #phy-cells = <0>;
0191                                 status = "disabled";
0192                         };
0193 
0194                         usb_otg0: usb@d4208000 {
0195                                 compatible = "marvell,pxau2o-ehci";
0196                                 reg = <0xd4208000 0x200>;
0197                                 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
0198                                 clocks = <&soc_clocks MMP2_CLK_USB>;
0199                                 clock-names = "USBCLK";
0200                                 phys = <&usb_otg_phy0>;
0201                                 phy-names = "usb";
0202                                 status = "disabled";
0203                         };
0204 
0205                         hsic_phy0: usb-phy@f0001800 {
0206                                 compatible = "marvell,mmp3-hsic-phy";
0207                                 reg = <0xf0001800 0x40>;
0208                                 #phy-cells = <0>;
0209                                 status = "disabled";
0210                         };
0211 
0212                         hsic0: usb@f0001000 {
0213                                 compatible = "marvell,pxau2o-ehci";
0214                                 reg = <0xf0001000 0x200>;
0215                                 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
0216                                 clocks = <&soc_clocks MMP2_CLK_USBHSIC0>;
0217                                 clock-names = "USBCLK";
0218                                 phys = <&hsic_phy0>;
0219                                 phy-names = "usb";
0220                                 phy_type = "hsic";
0221                                 #address-cells = <0x01>;
0222                                 #size-cells = <0x00>;
0223                                 status = "disabled";
0224                         };
0225 
0226                         hsic_phy1: usb-phy@f0002800 {
0227                                 compatible = "marvell,mmp3-hsic-phy";
0228                                 reg = <0xf0002800 0x40>;
0229                                 #phy-cells = <0>;
0230                                 status = "disabled";
0231                         };
0232 
0233                         hsic1: usb@f0002000 {
0234                                 compatible = "marvell,pxau2o-ehci";
0235                                 reg = <0xf0002000 0x200>;
0236                                 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
0237                                 clocks = <&soc_clocks MMP2_CLK_USBHSIC1>;
0238                                 clock-names = "USBCLK";
0239                                 phys = <&hsic_phy1>;
0240                                 phy-names = "usb";
0241                                 phy_type = "hsic";
0242                                 #address-cells = <0x01>;
0243                                 #size-cells = <0x00>;
0244                                 status = "disabled";
0245                         };
0246 
0247                         mmc1: mmc@d4280000 {
0248                                 compatible = "mrvl,pxav3-mmc";
0249                                 reg = <0xd4280000 0x120>;
0250                                 clocks = <&soc_clocks MMP2_CLK_SDH0>;
0251                                 clock-names = "io";
0252                                 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
0253                                 status = "disabled";
0254                         };
0255 
0256                         mmc2: mmc@d4280800 {
0257                                 compatible = "mrvl,pxav3-mmc";
0258                                 reg = <0xd4280800 0x120>;
0259                                 clocks = <&soc_clocks MMP2_CLK_SDH1>;
0260                                 clock-names = "io";
0261                                 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
0262                                 status = "disabled";
0263                         };
0264 
0265                         mmc3: mmc@d4281000 {
0266                                 compatible = "mrvl,pxav3-mmc";
0267                                 reg = <0xd4281000 0x120>;
0268                                 clocks = <&soc_clocks MMP2_CLK_SDH2>;
0269                                 clock-names = "io";
0270                                 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
0271                                 status = "disabled";
0272                         };
0273 
0274                         mmc4: mmc@d4281800 {
0275                                 compatible = "mrvl,pxav3-mmc";
0276                                 reg = <0xd4281800 0x120>;
0277                                 clocks = <&soc_clocks MMP2_CLK_SDH3>;
0278                                 clock-names = "io";
0279                                 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
0280                                 status = "disabled";
0281                         };
0282 
0283                         mmc5: mmc@d4217000 {
0284                                 compatible = "mrvl,pxav3-mmc";
0285                                 reg = <0xd4217000 0x120>;
0286                                 clocks = <&soc_clocks MMP3_CLK_SDH4>;
0287                                 clock-names = "io";
0288                                 interrupt-parent = <&hsi1_mux>;
0289                                 interrupts = <0>;
0290                                 status = "disabled";
0291                         };
0292 
0293                         camera0: camera@d420a000 {
0294                                 compatible = "marvell,mmp2-ccic";
0295                                 reg = <0xd420a000 0x800>;
0296                                 interrupts = <1>;
0297                                 interrupt-parent = <&ci_mux>;
0298                                 clocks = <&soc_clocks MMP2_CLK_CCIC0>;
0299                                 clock-names = "axi";
0300                                 power-domains = <&soc_clocks MMP3_POWER_DOMAIN_CAMERA>;
0301                                 #clock-cells = <0>;
0302                                 clock-output-names = "mclk";
0303                                 status = "disabled";
0304                         };
0305 
0306                         camera1: camera@d420a800 {
0307                                 compatible = "marvell,mmp2-ccic";
0308                                 reg = <0xd420a800 0x800>;
0309                                 interrupts = <2>;
0310                                 interrupt-parent = <&ci_mux>;
0311                                 clocks = <&soc_clocks MMP2_CLK_CCIC1>;
0312                                 clock-names = "axi";
0313                                 power-domains = <&soc_clocks MMP3_POWER_DOMAIN_CAMERA>;
0314                                 #clock-cells = <0>;
0315                                 clock-output-names = "mclk";
0316                                 status = "disabled";
0317                         };
0318 
0319                         gpu_3d: gpu@d420d000 {
0320                                 compatible = "vivante,gc";
0321                                 reg = <0xd420d000 0x2000>;
0322                                 interrupt-parent = <&gpu_mux>;
0323                                 interrupts = <0>;
0324                                 status = "disabled";
0325                                 clocks = <&soc_clocks MMP3_CLK_GPU_3D>,
0326                                          <&soc_clocks MMP3_CLK_GPU_BUS>;
0327                                 clock-names = "core", "bus";
0328                                 power-domains = <&soc_clocks MMP2_POWER_DOMAIN_GPU>;
0329                         };
0330 
0331                         gpu_2d: gpu@d420f000 {
0332                                 compatible = "vivante,gc";
0333                                 reg = <0xd420f000 0x2000>;
0334                                 interrupt-parent = <&gpu_mux>;
0335                                 interrupts = <2>;
0336                                 status = "disabled";
0337                                 clocks = <&soc_clocks MMP3_CLK_GPU_2D>,
0338                                          <&soc_clocks MMP3_CLK_GPU_BUS>;
0339                                 clock-names = "core", "bus";
0340                                 power-domains = <&soc_clocks MMP2_POWER_DOMAIN_GPU>;
0341                         };
0342                 };
0343 
0344                 apb@d4000000 {
0345                         compatible = "simple-bus";
0346                         #address-cells = <1>;
0347                         #size-cells = <1>;
0348                         reg = <0xd4000000 0x00200000>;
0349                         ranges;
0350 
0351                         timer: timer@d4014000 {
0352                                 compatible = "mrvl,mmp-timer";
0353                                 reg = <0xd4014000 0x100>;
0354                                 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
0355                                 clocks = <&soc_clocks MMP2_CLK_TIMER>;
0356                         };
0357 
0358                         uart1: serial@d4030000 {
0359                                 compatible = "mrvl,mmp-uart", "intel,xscale-uart";
0360                                 reg = <0xd4030000 0x1000>;
0361                                 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
0362                                 clocks = <&soc_clocks MMP2_CLK_UART0>;
0363                                 resets = <&soc_clocks MMP2_CLK_UART0>;
0364                                 reg-shift = <2>;
0365                                 status = "disabled";
0366                         };
0367 
0368                         uart2: serial@d4017000 {
0369                                 compatible = "mrvl,mmp-uart", "intel,xscale-uart";
0370                                 reg = <0xd4017000 0x1000>;
0371                                 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
0372                                 clocks = <&soc_clocks MMP2_CLK_UART1>;
0373                                 resets = <&soc_clocks MMP2_CLK_UART1>;
0374                                 reg-shift = <2>;
0375                                 status = "disabled";
0376                         };
0377 
0378                         uart3: serial@d4018000 {
0379                                 compatible = "mrvl,mmp-uart", "intel,xscale-uart";
0380                                 reg = <0xd4018000 0x1000>;
0381                                 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
0382                                 clocks = <&soc_clocks MMP2_CLK_UART2>;
0383                                 resets = <&soc_clocks MMP2_CLK_UART2>;
0384                                 reg-shift = <2>;
0385                                 status = "disabled";
0386                         };
0387 
0388                         uart4: serial@d4016000 {
0389                                 compatible = "mrvl,mmp-uart", "intel,xscale-uart";
0390                                 reg = <0xd4016000 0x1000>;
0391                                 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
0392                                 clocks = <&soc_clocks MMP2_CLK_UART3>;
0393                                 resets = <&soc_clocks MMP2_CLK_UART3>;
0394                                 reg-shift = <2>;
0395                                 status = "disabled";
0396                         };
0397 
0398                         gpio: gpio@d4019000 {
0399                                 compatible = "marvell,mmp2-gpio";
0400                                 #address-cells = <1>;
0401                                 #size-cells = <1>;
0402                                 reg = <0xd4019000 0x1000>;
0403                                 gpio-controller;
0404                                 #gpio-cells = <2>;
0405                                 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
0406                                 interrupt-names = "gpio_mux";
0407                                 clocks = <&soc_clocks MMP2_CLK_GPIO>;
0408                                 resets = <&soc_clocks MMP2_CLK_GPIO>;
0409                                 interrupt-controller;
0410                                 #interrupt-cells = <2>;
0411                                 ranges;
0412 
0413                                 gcb0: gpio@d4019000 {
0414                                         reg = <0xd4019000 0x4>;
0415                                 };
0416 
0417                                 gcb1: gpio@d4019004 {
0418                                         reg = <0xd4019004 0x4>;
0419                                 };
0420 
0421                                 gcb2: gpio@d4019008 {
0422                                         reg = <0xd4019008 0x4>;
0423                                 };
0424 
0425                                 gcb3: gpio@d4019100 {
0426                                         reg = <0xd4019100 0x4>;
0427                                 };
0428 
0429                                 gcb4: gpio@d4019104 {
0430                                         reg = <0xd4019104 0x4>;
0431                                 };
0432 
0433                                 gcb5: gpio@d4019108 {
0434                                         reg = <0xd4019108 0x4>;
0435                                 };
0436                         };
0437 
0438                         twsi1: i2c@d4011000 {
0439                                 compatible = "mrvl,mmp-twsi";
0440                                 reg = <0xd4011000 0x70>;
0441                                 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
0442                                 clocks = <&soc_clocks MMP2_CLK_TWSI0>;
0443                                 resets = <&soc_clocks MMP2_CLK_TWSI0>;
0444                                 #address-cells = <1>;
0445                                 #size-cells = <0>;
0446                                 mrvl,i2c-fast-mode;
0447                                 status = "disabled";
0448                         };
0449 
0450                         twsi2: i2c@d4031000 {
0451                                 compatible = "mrvl,mmp-twsi";
0452                                 reg = <0xd4031000 0x70>;
0453                                 interrupt-parent = <&twsi_mux>;
0454                                 interrupts = <0>;
0455                                 clocks = <&soc_clocks MMP2_CLK_TWSI1>;
0456                                 resets = <&soc_clocks MMP2_CLK_TWSI1>;
0457                                 #address-cells = <1>;
0458                                 #size-cells = <0>;
0459                                 status = "disabled";
0460                         };
0461 
0462                         twsi3: i2c@d4032000 {
0463                                 compatible = "mrvl,mmp-twsi";
0464                                 reg = <0xd4032000 0x70>;
0465                                 interrupt-parent = <&twsi_mux>;
0466                                 interrupts = <1>;
0467                                 clocks = <&soc_clocks MMP2_CLK_TWSI2>;
0468                                 resets = <&soc_clocks MMP2_CLK_TWSI2>;
0469                                 #address-cells = <1>;
0470                                 #size-cells = <0>;
0471                                 status = "disabled";
0472                         };
0473 
0474                         twsi4: i2c@d4033000 {
0475                                 compatible = "mrvl,mmp-twsi";
0476                                 reg = <0xd4033000 0x70>;
0477                                 interrupt-parent = <&twsi_mux>;
0478                                 interrupts = <2>;
0479                                 clocks = <&soc_clocks MMP2_CLK_TWSI3>;
0480                                 resets = <&soc_clocks MMP2_CLK_TWSI3>;
0481                                 #address-cells = <1>;
0482                                 #size-cells = <0>;
0483                                 status = "disabled";
0484                         };
0485 
0486 
0487                         twsi5: i2c@d4033800 {
0488                                 compatible = "mrvl,mmp-twsi";
0489                                 reg = <0xd4033800 0x70>;
0490                                 interrupt-parent = <&twsi_mux>;
0491                                 interrupts = <3>;
0492                                 clocks = <&soc_clocks MMP2_CLK_TWSI4>;
0493                                 resets = <&soc_clocks MMP2_CLK_TWSI4>;
0494                                 #address-cells = <1>;
0495                                 #size-cells = <0>;
0496                                 status = "disabled";
0497                         };
0498 
0499                         twsi6: i2c@d4034000 {
0500                                 compatible = "mrvl,mmp-twsi";
0501                                 reg = <0xd4034000 0x70>;
0502                                 interrupt-parent = <&twsi_mux>;
0503                                 interrupts = <4>;
0504                                 clocks = <&soc_clocks MMP2_CLK_TWSI5>;
0505                                 resets = <&soc_clocks MMP2_CLK_TWSI5>;
0506                                 #address-cells = <1>;
0507                                 #size-cells = <0>;
0508                                 status = "disabled";
0509                         };
0510 
0511                         rtc: rtc@d4010000 {
0512                                 compatible = "mrvl,mmp-rtc";
0513                                 reg = <0xd4010000 0x1000>;
0514                                 interrupts = <1>, <0>;
0515                                 interrupt-names = "rtc 1Hz", "rtc alarm";
0516                                 interrupt-parent = <&rtc_mux>;
0517                                 clocks = <&soc_clocks MMP2_CLK_RTC>;
0518                                 resets = <&soc_clocks MMP2_CLK_RTC>;
0519                                 status = "disabled";
0520                         };
0521 
0522                         ssp1: spi@d4035000 {
0523                                 compatible = "marvell,mmp2-ssp";
0524                                 reg = <0xd4035000 0x1000>;
0525                                 clocks = <&soc_clocks MMP2_CLK_SSP0>;
0526                                 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
0527                                 #address-cells = <1>;
0528                                 #size-cells = <0>;
0529                                 status = "disabled";
0530                         };
0531 
0532                         ssp2: spi@d4036000 {
0533                                 compatible = "marvell,mmp2-ssp";
0534                                 reg = <0xd4036000 0x1000>;
0535                                 clocks = <&soc_clocks MMP2_CLK_SSP1>;
0536                                 interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
0537                                 #address-cells = <1>;
0538                                 #size-cells = <0>;
0539                                 status = "disabled";
0540                         };
0541 
0542                         ssp3: spi@d4037000 {
0543                                 compatible = "marvell,mmp2-ssp";
0544                                 reg = <0xd4037000 0x1000>;
0545                                 clocks = <&soc_clocks MMP2_CLK_SSP2>;
0546                                 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
0547                                 #address-cells = <1>;
0548                                 #size-cells = <0>;
0549                                 status = "disabled";
0550                         };
0551 
0552                         ssp4: spi@d4039000 {
0553                                 compatible = "marvell,mmp2-ssp";
0554                                 reg = <0xd4039000 0x1000>;
0555                                 clocks = <&soc_clocks MMP2_CLK_SSP3>;
0556                                 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
0557                                 #address-cells = <1>;
0558                                 #size-cells = <0>;
0559                                 status = "disabled";
0560                         };
0561                 };
0562 
0563                 l2: cache-controller@d0020000 {
0564                         compatible = "marvell,tauros3-cache", "arm,pl310-cache";
0565                         reg = <0xd0020000 0x1000>;
0566                         cache-unified;
0567                         cache-level = <2>;
0568                 };
0569 
0570                 soc_clocks: clocks@d4050000 {
0571                         compatible = "marvell,mmp3-clock";
0572                         reg = <0xd4050000 0x2000>,
0573                               <0xd4282800 0x400>,
0574                               <0xd4015000 0x1000>;
0575                         reg-names = "mpmu", "apmu", "apbc";
0576                         #clock-cells = <1>;
0577                         #reset-cells = <1>;
0578                         #power-domain-cells = <1>;
0579                 };
0580 
0581                 snoop-control-unit@e0000000 {
0582                         compatible = "arm,arm11mp-scu";
0583                         reg = <0xe0000000 0x100>;
0584                 };
0585 
0586                 gic: interrupt-controller@e0001000 {
0587                         compatible = "arm,arm11mp-gic";
0588                         interrupt-controller;
0589                         #interrupt-cells = <3>;
0590                         reg = <0xe0001000 0x1000>,
0591                               <0xe0000100 0x100>;
0592                 };
0593 
0594                 local-timer@e0000600 {
0595                         compatible = "arm,arm11mp-twd-timer";
0596                         interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) |
0597                                                   IRQ_TYPE_EDGE_RISING)>;
0598                         reg = <0xe0000600 0x20>;
0599                 };
0600 
0601                 watchdog@e0000620 {
0602                         compatible = "arm,arm11mp-twd-wdt";
0603                         reg = <0xe0000620 0x20>;
0604                         interrupts = <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) |
0605                                                   IRQ_TYPE_EDGE_RISING)>;
0606                 };
0607         };
0608 };