1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0+ OR MIT 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Copyright (C) 2019 Lubomir Rintel <lkundrak@v3.sk> 4*724ba675SRob Herring */ 5*724ba675SRob Herring 6*724ba675SRob Herring#include <dt-bindings/clock/marvell,mmp2.h> 7*724ba675SRob Herring#include <dt-bindings/power/marvell,mmp2.h> 8*724ba675SRob Herring#include <dt-bindings/interrupt-controller/arm-gic.h> 9*724ba675SRob Herring 10*724ba675SRob Herring/ { 11*724ba675SRob Herring #address-cells = <1>; 12*724ba675SRob Herring #size-cells = <1>; 13*724ba675SRob Herring 14*724ba675SRob Herring cpus { 15*724ba675SRob Herring #address-cells = <1>; 16*724ba675SRob Herring #size-cells = <0>; 17*724ba675SRob Herring enable-method = "marvell,mmp3-smp"; 18*724ba675SRob Herring 19*724ba675SRob Herring cpu@0 { 20*724ba675SRob Herring compatible = "marvell,pj4b"; 21*724ba675SRob Herring device_type = "cpu"; 22*724ba675SRob Herring next-level-cache = <&l2>; 23*724ba675SRob Herring reg = <0>; 24*724ba675SRob Herring }; 25*724ba675SRob Herring 26*724ba675SRob Herring cpu@1 { 27*724ba675SRob Herring compatible = "marvell,pj4b"; 28*724ba675SRob Herring device_type = "cpu"; 29*724ba675SRob Herring next-level-cache = <&l2>; 30*724ba675SRob Herring reg = <1>; 31*724ba675SRob Herring }; 32*724ba675SRob Herring }; 33*724ba675SRob Herring 34*724ba675SRob Herring soc { 35*724ba675SRob Herring #address-cells = <1>; 36*724ba675SRob Herring #size-cells = <1>; 37*724ba675SRob Herring compatible = "simple-bus"; 38*724ba675SRob Herring interrupt-parent = <&gic>; 39*724ba675SRob Herring ranges; 40*724ba675SRob Herring 41*724ba675SRob Herring axi@d4200000 { 42*724ba675SRob Herring compatible = "simple-bus"; 43*724ba675SRob Herring #address-cells = <1>; 44*724ba675SRob Herring #size-cells = <1>; 45*724ba675SRob Herring reg = <0xd4200000 0x00200000>; 46*724ba675SRob Herring ranges; 47*724ba675SRob Herring 48*724ba675SRob Herring interrupt-controller@d4282000 { 49*724ba675SRob Herring compatible = "marvell,mmp3-intc"; 50*724ba675SRob Herring interrupt-controller; 51*724ba675SRob Herring #interrupt-cells = <1>; 52*724ba675SRob Herring reg = <0xd4282000 0x1000>, 53*724ba675SRob Herring <0xd4284000 0x100>; 54*724ba675SRob Herring mrvl,intc-nr-irqs = <64>; 55*724ba675SRob Herring }; 56*724ba675SRob Herring 57*724ba675SRob Herring pmic_mux: interrupt-controller@d4282150 { 58*724ba675SRob Herring compatible = "mrvl,mmp2-mux-intc"; 59*724ba675SRob Herring interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 60*724ba675SRob Herring interrupt-controller; 61*724ba675SRob Herring #interrupt-cells = <1>; 62*724ba675SRob Herring reg = <0x150 0x4>, <0x168 0x4>; 63*724ba675SRob Herring reg-names = "mux status", "mux mask"; 64*724ba675SRob Herring mrvl,intc-nr-irqs = <4>; 65*724ba675SRob Herring }; 66*724ba675SRob Herring 67*724ba675SRob Herring rtc_mux: interrupt-controller@d4282154 { 68*724ba675SRob Herring compatible = "mrvl,mmp2-mux-intc"; 69*724ba675SRob Herring interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 70*724ba675SRob Herring interrupt-controller; 71*724ba675SRob Herring #interrupt-cells = <1>; 72*724ba675SRob Herring reg = <0x154 0x4>, <0x16c 0x4>; 73*724ba675SRob Herring reg-names = "mux status", "mux mask"; 74*724ba675SRob Herring mrvl,intc-nr-irqs = <2>; 75*724ba675SRob Herring }; 76*724ba675SRob Herring 77*724ba675SRob Herring hsi3_mux: interrupt-controller@d42821bc { 78*724ba675SRob Herring compatible = "mrvl,mmp2-mux-intc"; 79*724ba675SRob Herring interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 80*724ba675SRob Herring interrupt-controller; 81*724ba675SRob Herring #interrupt-cells = <1>; 82*724ba675SRob Herring reg = <0x1bc 0x4>, <0x1a4 0x4>; 83*724ba675SRob Herring reg-names = "mux status", "mux mask"; 84*724ba675SRob Herring mrvl,intc-nr-irqs = <3>; 85*724ba675SRob Herring }; 86*724ba675SRob Herring 87*724ba675SRob Herring gpu_mux: interrupt-controller@d42821c0 { 88*724ba675SRob Herring compatible = "mrvl,mmp2-mux-intc"; 89*724ba675SRob Herring interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 90*724ba675SRob Herring interrupt-controller; 91*724ba675SRob Herring #interrupt-cells = <1>; 92*724ba675SRob Herring reg = <0x1c0 0x4>, <0x1a8 0x4>; 93*724ba675SRob Herring reg-names = "mux status", "mux mask"; 94*724ba675SRob Herring mrvl,intc-nr-irqs = <3>; 95*724ba675SRob Herring }; 96*724ba675SRob Herring 97*724ba675SRob Herring twsi_mux: interrupt-controller@d4282158 { 98*724ba675SRob Herring compatible = "mrvl,mmp2-mux-intc"; 99*724ba675SRob Herring interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 100*724ba675SRob Herring interrupt-controller; 101*724ba675SRob Herring #interrupt-cells = <1>; 102*724ba675SRob Herring reg = <0x158 0x4>, <0x170 0x4>; 103*724ba675SRob Herring reg-names = "mux status", "mux mask"; 104*724ba675SRob Herring mrvl,intc-nr-irqs = <5>; 105*724ba675SRob Herring }; 106*724ba675SRob Herring 107*724ba675SRob Herring hsi2_mux: interrupt-controller@d42821c4 { 108*724ba675SRob Herring compatible = "mrvl,mmp2-mux-intc"; 109*724ba675SRob Herring interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 110*724ba675SRob Herring interrupt-controller; 111*724ba675SRob Herring #interrupt-cells = <1>; 112*724ba675SRob Herring reg = <0x1c4 0x4>, <0x1ac 0x4>; 113*724ba675SRob Herring reg-names = "mux status", "mux mask"; 114*724ba675SRob Herring mrvl,intc-nr-irqs = <2>; 115*724ba675SRob Herring }; 116*724ba675SRob Herring 117*724ba675SRob Herring dxo_mux: interrupt-controller@d42821c8 { 118*724ba675SRob Herring compatible = "mrvl,mmp2-mux-intc"; 119*724ba675SRob Herring interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 120*724ba675SRob Herring interrupt-controller; 121*724ba675SRob Herring #interrupt-cells = <1>; 122*724ba675SRob Herring reg = <0x1c8 0x4>, <0x1b0 0x4>; 123*724ba675SRob Herring reg-names = "mux status", "mux mask"; 124*724ba675SRob Herring mrvl,intc-nr-irqs = <2>; 125*724ba675SRob Herring }; 126*724ba675SRob Herring 127*724ba675SRob Herring misc1_mux: interrupt-controller@d428215c { 128*724ba675SRob Herring compatible = "mrvl,mmp2-mux-intc"; 129*724ba675SRob Herring interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 130*724ba675SRob Herring interrupt-controller; 131*724ba675SRob Herring #interrupt-cells = <1>; 132*724ba675SRob Herring reg = <0x15c 0x4>, <0x174 0x4>; 133*724ba675SRob Herring reg-names = "mux status", "mux mask"; 134*724ba675SRob Herring mrvl,intc-nr-irqs = <31>; 135*724ba675SRob Herring }; 136*724ba675SRob Herring 137*724ba675SRob Herring ci_mux: interrupt-controller@d42821cc { 138*724ba675SRob Herring compatible = "mrvl,mmp2-mux-intc"; 139*724ba675SRob Herring interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 140*724ba675SRob Herring interrupt-controller; 141*724ba675SRob Herring #interrupt-cells = <1>; 142*724ba675SRob Herring reg = <0x1cc 0x4>, <0x1b4 0x4>; 143*724ba675SRob Herring reg-names = "mux status", "mux mask"; 144*724ba675SRob Herring mrvl,intc-nr-irqs = <2>; 145*724ba675SRob Herring }; 146*724ba675SRob Herring 147*724ba675SRob Herring ssp_mux: interrupt-controller@d4282160 { 148*724ba675SRob Herring compatible = "mrvl,mmp2-mux-intc"; 149*724ba675SRob Herring interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 150*724ba675SRob Herring interrupt-controller; 151*724ba675SRob Herring #interrupt-cells = <1>; 152*724ba675SRob Herring reg = <0x160 0x4>, <0x178 0x4>; 153*724ba675SRob Herring reg-names = "mux status", "mux mask"; 154*724ba675SRob Herring mrvl,intc-nr-irqs = <2>; 155*724ba675SRob Herring }; 156*724ba675SRob Herring 157*724ba675SRob Herring hsi1_mux: interrupt-controller@d4282184 { 158*724ba675SRob Herring compatible = "mrvl,mmp2-mux-intc"; 159*724ba675SRob Herring interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 160*724ba675SRob Herring interrupt-controller; 161*724ba675SRob Herring #interrupt-cells = <1>; 162*724ba675SRob Herring reg = <0x184 0x4>, <0x17c 0x4>; 163*724ba675SRob Herring reg-names = "mux status", "mux mask"; 164*724ba675SRob Herring mrvl,intc-nr-irqs = <4>; 165*724ba675SRob Herring }; 166*724ba675SRob Herring 167*724ba675SRob Herring misc2_mux: interrupt-controller@d4282188 { 168*724ba675SRob Herring compatible = "mrvl,mmp2-mux-intc"; 169*724ba675SRob Herring interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 170*724ba675SRob Herring interrupt-controller; 171*724ba675SRob Herring #interrupt-cells = <1>; 172*724ba675SRob Herring reg = <0x188 0x4>, <0x180 0x4>; 173*724ba675SRob Herring reg-names = "mux status", "mux mask"; 174*724ba675SRob Herring mrvl,intc-nr-irqs = <20>; 175*724ba675SRob Herring }; 176*724ba675SRob Herring 177*724ba675SRob Herring hsi0_mux: interrupt-controller@d42821d0 { 178*724ba675SRob Herring compatible = "mrvl,mmp2-mux-intc"; 179*724ba675SRob Herring interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 180*724ba675SRob Herring interrupt-controller; 181*724ba675SRob Herring #interrupt-cells = <1>; 182*724ba675SRob Herring reg = <0x1d0 0x4>, <0x1b8 0x4>; 183*724ba675SRob Herring reg-names = "mux status", "mux mask"; 184*724ba675SRob Herring mrvl,intc-nr-irqs = <5>; 185*724ba675SRob Herring }; 186*724ba675SRob Herring 187*724ba675SRob Herring usb_otg_phy0: usb-phy@d4207000 { 188*724ba675SRob Herring compatible = "marvell,mmp3-usb-phy"; 189*724ba675SRob Herring reg = <0xd4207000 0x40>; 190*724ba675SRob Herring #phy-cells = <0>; 191*724ba675SRob Herring status = "disabled"; 192*724ba675SRob Herring }; 193*724ba675SRob Herring 194*724ba675SRob Herring usb_otg0: usb@d4208000 { 195*724ba675SRob Herring compatible = "marvell,pxau2o-ehci"; 196*724ba675SRob Herring reg = <0xd4208000 0x200>; 197*724ba675SRob Herring interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 198*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_USB>; 199*724ba675SRob Herring clock-names = "USBCLK"; 200*724ba675SRob Herring phys = <&usb_otg_phy0>; 201*724ba675SRob Herring phy-names = "usb"; 202*724ba675SRob Herring status = "disabled"; 203*724ba675SRob Herring }; 204*724ba675SRob Herring 205*724ba675SRob Herring hsic_phy0: usb-phy@f0001800 { 206*724ba675SRob Herring compatible = "marvell,mmp3-hsic-phy"; 207*724ba675SRob Herring reg = <0xf0001800 0x40>; 208*724ba675SRob Herring #phy-cells = <0>; 209*724ba675SRob Herring status = "disabled"; 210*724ba675SRob Herring }; 211*724ba675SRob Herring 212*724ba675SRob Herring hsic0: usb@f0001000 { 213*724ba675SRob Herring compatible = "marvell,pxau2o-ehci"; 214*724ba675SRob Herring reg = <0xf0001000 0x200>; 215*724ba675SRob Herring interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 216*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_USBHSIC0>; 217*724ba675SRob Herring clock-names = "USBCLK"; 218*724ba675SRob Herring phys = <&hsic_phy0>; 219*724ba675SRob Herring phy-names = "usb"; 220*724ba675SRob Herring phy_type = "hsic"; 221*724ba675SRob Herring #address-cells = <0x01>; 222*724ba675SRob Herring #size-cells = <0x00>; 223*724ba675SRob Herring status = "disabled"; 224*724ba675SRob Herring }; 225*724ba675SRob Herring 226*724ba675SRob Herring hsic_phy1: usb-phy@f0002800 { 227*724ba675SRob Herring compatible = "marvell,mmp3-hsic-phy"; 228*724ba675SRob Herring reg = <0xf0002800 0x40>; 229*724ba675SRob Herring #phy-cells = <0>; 230*724ba675SRob Herring status = "disabled"; 231*724ba675SRob Herring }; 232*724ba675SRob Herring 233*724ba675SRob Herring hsic1: usb@f0002000 { 234*724ba675SRob Herring compatible = "marvell,pxau2o-ehci"; 235*724ba675SRob Herring reg = <0xf0002000 0x200>; 236*724ba675SRob Herring interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 237*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_USBHSIC1>; 238*724ba675SRob Herring clock-names = "USBCLK"; 239*724ba675SRob Herring phys = <&hsic_phy1>; 240*724ba675SRob Herring phy-names = "usb"; 241*724ba675SRob Herring phy_type = "hsic"; 242*724ba675SRob Herring #address-cells = <0x01>; 243*724ba675SRob Herring #size-cells = <0x00>; 244*724ba675SRob Herring status = "disabled"; 245*724ba675SRob Herring }; 246*724ba675SRob Herring 247*724ba675SRob Herring mmc1: mmc@d4280000 { 248*724ba675SRob Herring compatible = "mrvl,pxav3-mmc"; 249*724ba675SRob Herring reg = <0xd4280000 0x120>; 250*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_SDH0>; 251*724ba675SRob Herring clock-names = "io"; 252*724ba675SRob Herring interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 253*724ba675SRob Herring status = "disabled"; 254*724ba675SRob Herring }; 255*724ba675SRob Herring 256*724ba675SRob Herring mmc2: mmc@d4280800 { 257*724ba675SRob Herring compatible = "mrvl,pxav3-mmc"; 258*724ba675SRob Herring reg = <0xd4280800 0x120>; 259*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_SDH1>; 260*724ba675SRob Herring clock-names = "io"; 261*724ba675SRob Herring interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 262*724ba675SRob Herring status = "disabled"; 263*724ba675SRob Herring }; 264*724ba675SRob Herring 265*724ba675SRob Herring mmc3: mmc@d4281000 { 266*724ba675SRob Herring compatible = "mrvl,pxav3-mmc"; 267*724ba675SRob Herring reg = <0xd4281000 0x120>; 268*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_SDH2>; 269*724ba675SRob Herring clock-names = "io"; 270*724ba675SRob Herring interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 271*724ba675SRob Herring status = "disabled"; 272*724ba675SRob Herring }; 273*724ba675SRob Herring 274*724ba675SRob Herring mmc4: mmc@d4281800 { 275*724ba675SRob Herring compatible = "mrvl,pxav3-mmc"; 276*724ba675SRob Herring reg = <0xd4281800 0x120>; 277*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_SDH3>; 278*724ba675SRob Herring clock-names = "io"; 279*724ba675SRob Herring interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 280*724ba675SRob Herring status = "disabled"; 281*724ba675SRob Herring }; 282*724ba675SRob Herring 283*724ba675SRob Herring mmc5: mmc@d4217000 { 284*724ba675SRob Herring compatible = "mrvl,pxav3-mmc"; 285*724ba675SRob Herring reg = <0xd4217000 0x120>; 286*724ba675SRob Herring clocks = <&soc_clocks MMP3_CLK_SDH4>; 287*724ba675SRob Herring clock-names = "io"; 288*724ba675SRob Herring interrupt-parent = <&hsi1_mux>; 289*724ba675SRob Herring interrupts = <0>; 290*724ba675SRob Herring status = "disabled"; 291*724ba675SRob Herring }; 292*724ba675SRob Herring 293*724ba675SRob Herring camera0: camera@d420a000 { 294*724ba675SRob Herring compatible = "marvell,mmp2-ccic"; 295*724ba675SRob Herring reg = <0xd420a000 0x800>; 296*724ba675SRob Herring interrupts = <1>; 297*724ba675SRob Herring interrupt-parent = <&ci_mux>; 298*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_CCIC0>; 299*724ba675SRob Herring clock-names = "axi"; 300*724ba675SRob Herring power-domains = <&soc_clocks MMP3_POWER_DOMAIN_CAMERA>; 301*724ba675SRob Herring #clock-cells = <0>; 302*724ba675SRob Herring clock-output-names = "mclk"; 303*724ba675SRob Herring status = "disabled"; 304*724ba675SRob Herring }; 305*724ba675SRob Herring 306*724ba675SRob Herring camera1: camera@d420a800 { 307*724ba675SRob Herring compatible = "marvell,mmp2-ccic"; 308*724ba675SRob Herring reg = <0xd420a800 0x800>; 309*724ba675SRob Herring interrupts = <2>; 310*724ba675SRob Herring interrupt-parent = <&ci_mux>; 311*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_CCIC1>; 312*724ba675SRob Herring clock-names = "axi"; 313*724ba675SRob Herring power-domains = <&soc_clocks MMP3_POWER_DOMAIN_CAMERA>; 314*724ba675SRob Herring #clock-cells = <0>; 315*724ba675SRob Herring clock-output-names = "mclk"; 316*724ba675SRob Herring status = "disabled"; 317*724ba675SRob Herring }; 318*724ba675SRob Herring 319*724ba675SRob Herring gpu_3d: gpu@d420d000 { 320*724ba675SRob Herring compatible = "vivante,gc"; 321*724ba675SRob Herring reg = <0xd420d000 0x2000>; 322*724ba675SRob Herring interrupt-parent = <&gpu_mux>; 323*724ba675SRob Herring interrupts = <0>; 324*724ba675SRob Herring status = "disabled"; 325*724ba675SRob Herring clocks = <&soc_clocks MMP3_CLK_GPU_3D>, 326*724ba675SRob Herring <&soc_clocks MMP3_CLK_GPU_BUS>; 327*724ba675SRob Herring clock-names = "core", "bus"; 328*724ba675SRob Herring power-domains = <&soc_clocks MMP2_POWER_DOMAIN_GPU>; 329*724ba675SRob Herring }; 330*724ba675SRob Herring 331*724ba675SRob Herring gpu_2d: gpu@d420f000 { 332*724ba675SRob Herring compatible = "vivante,gc"; 333*724ba675SRob Herring reg = <0xd420f000 0x2000>; 334*724ba675SRob Herring interrupt-parent = <&gpu_mux>; 335*724ba675SRob Herring interrupts = <2>; 336*724ba675SRob Herring status = "disabled"; 337*724ba675SRob Herring clocks = <&soc_clocks MMP3_CLK_GPU_2D>, 338*724ba675SRob Herring <&soc_clocks MMP3_CLK_GPU_BUS>; 339*724ba675SRob Herring clock-names = "core", "bus"; 340*724ba675SRob Herring power-domains = <&soc_clocks MMP2_POWER_DOMAIN_GPU>; 341*724ba675SRob Herring }; 342*724ba675SRob Herring }; 343*724ba675SRob Herring 344*724ba675SRob Herring apb@d4000000 { 345*724ba675SRob Herring compatible = "simple-bus"; 346*724ba675SRob Herring #address-cells = <1>; 347*724ba675SRob Herring #size-cells = <1>; 348*724ba675SRob Herring reg = <0xd4000000 0x00200000>; 349*724ba675SRob Herring ranges; 350*724ba675SRob Herring 351*724ba675SRob Herring timer: timer@d4014000 { 352*724ba675SRob Herring compatible = "mrvl,mmp-timer"; 353*724ba675SRob Herring reg = <0xd4014000 0x100>; 354*724ba675SRob Herring interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 355*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_TIMER>; 356*724ba675SRob Herring }; 357*724ba675SRob Herring 358*724ba675SRob Herring uart1: serial@d4030000 { 359*724ba675SRob Herring compatible = "mrvl,mmp-uart", "intel,xscale-uart"; 360*724ba675SRob Herring reg = <0xd4030000 0x1000>; 361*724ba675SRob Herring interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 362*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_UART0>; 363*724ba675SRob Herring resets = <&soc_clocks MMP2_CLK_UART0>; 364*724ba675SRob Herring reg-shift = <2>; 365*724ba675SRob Herring status = "disabled"; 366*724ba675SRob Herring }; 367*724ba675SRob Herring 368*724ba675SRob Herring uart2: serial@d4017000 { 369*724ba675SRob Herring compatible = "mrvl,mmp-uart", "intel,xscale-uart"; 370*724ba675SRob Herring reg = <0xd4017000 0x1000>; 371*724ba675SRob Herring interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 372*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_UART1>; 373*724ba675SRob Herring resets = <&soc_clocks MMP2_CLK_UART1>; 374*724ba675SRob Herring reg-shift = <2>; 375*724ba675SRob Herring status = "disabled"; 376*724ba675SRob Herring }; 377*724ba675SRob Herring 378*724ba675SRob Herring uart3: serial@d4018000 { 379*724ba675SRob Herring compatible = "mrvl,mmp-uart", "intel,xscale-uart"; 380*724ba675SRob Herring reg = <0xd4018000 0x1000>; 381*724ba675SRob Herring interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 382*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_UART2>; 383*724ba675SRob Herring resets = <&soc_clocks MMP2_CLK_UART2>; 384*724ba675SRob Herring reg-shift = <2>; 385*724ba675SRob Herring status = "disabled"; 386*724ba675SRob Herring }; 387*724ba675SRob Herring 388*724ba675SRob Herring uart4: serial@d4016000 { 389*724ba675SRob Herring compatible = "mrvl,mmp-uart", "intel,xscale-uart"; 390*724ba675SRob Herring reg = <0xd4016000 0x1000>; 391*724ba675SRob Herring interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 392*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_UART3>; 393*724ba675SRob Herring resets = <&soc_clocks MMP2_CLK_UART3>; 394*724ba675SRob Herring reg-shift = <2>; 395*724ba675SRob Herring status = "disabled"; 396*724ba675SRob Herring }; 397*724ba675SRob Herring 398*724ba675SRob Herring gpio: gpio@d4019000 { 399*724ba675SRob Herring compatible = "marvell,mmp2-gpio"; 400*724ba675SRob Herring #address-cells = <1>; 401*724ba675SRob Herring #size-cells = <1>; 402*724ba675SRob Herring reg = <0xd4019000 0x1000>; 403*724ba675SRob Herring gpio-controller; 404*724ba675SRob Herring #gpio-cells = <2>; 405*724ba675SRob Herring interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 406*724ba675SRob Herring interrupt-names = "gpio_mux"; 407*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_GPIO>; 408*724ba675SRob Herring resets = <&soc_clocks MMP2_CLK_GPIO>; 409*724ba675SRob Herring interrupt-controller; 410*724ba675SRob Herring #interrupt-cells = <2>; 411*724ba675SRob Herring ranges; 412*724ba675SRob Herring 413*724ba675SRob Herring gcb0: gpio@d4019000 { 414*724ba675SRob Herring reg = <0xd4019000 0x4>; 415*724ba675SRob Herring }; 416*724ba675SRob Herring 417*724ba675SRob Herring gcb1: gpio@d4019004 { 418*724ba675SRob Herring reg = <0xd4019004 0x4>; 419*724ba675SRob Herring }; 420*724ba675SRob Herring 421*724ba675SRob Herring gcb2: gpio@d4019008 { 422*724ba675SRob Herring reg = <0xd4019008 0x4>; 423*724ba675SRob Herring }; 424*724ba675SRob Herring 425*724ba675SRob Herring gcb3: gpio@d4019100 { 426*724ba675SRob Herring reg = <0xd4019100 0x4>; 427*724ba675SRob Herring }; 428*724ba675SRob Herring 429*724ba675SRob Herring gcb4: gpio@d4019104 { 430*724ba675SRob Herring reg = <0xd4019104 0x4>; 431*724ba675SRob Herring }; 432*724ba675SRob Herring 433*724ba675SRob Herring gcb5: gpio@d4019108 { 434*724ba675SRob Herring reg = <0xd4019108 0x4>; 435*724ba675SRob Herring }; 436*724ba675SRob Herring }; 437*724ba675SRob Herring 438*724ba675SRob Herring twsi1: i2c@d4011000 { 439*724ba675SRob Herring compatible = "mrvl,mmp-twsi"; 440*724ba675SRob Herring reg = <0xd4011000 0x70>; 441*724ba675SRob Herring interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 442*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_TWSI0>; 443*724ba675SRob Herring resets = <&soc_clocks MMP2_CLK_TWSI0>; 444*724ba675SRob Herring #address-cells = <1>; 445*724ba675SRob Herring #size-cells = <0>; 446*724ba675SRob Herring mrvl,i2c-fast-mode; 447*724ba675SRob Herring status = "disabled"; 448*724ba675SRob Herring }; 449*724ba675SRob Herring 450*724ba675SRob Herring twsi2: i2c@d4031000 { 451*724ba675SRob Herring compatible = "mrvl,mmp-twsi"; 452*724ba675SRob Herring reg = <0xd4031000 0x70>; 453*724ba675SRob Herring interrupt-parent = <&twsi_mux>; 454*724ba675SRob Herring interrupts = <0>; 455*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_TWSI1>; 456*724ba675SRob Herring resets = <&soc_clocks MMP2_CLK_TWSI1>; 457*724ba675SRob Herring #address-cells = <1>; 458*724ba675SRob Herring #size-cells = <0>; 459*724ba675SRob Herring status = "disabled"; 460*724ba675SRob Herring }; 461*724ba675SRob Herring 462*724ba675SRob Herring twsi3: i2c@d4032000 { 463*724ba675SRob Herring compatible = "mrvl,mmp-twsi"; 464*724ba675SRob Herring reg = <0xd4032000 0x70>; 465*724ba675SRob Herring interrupt-parent = <&twsi_mux>; 466*724ba675SRob Herring interrupts = <1>; 467*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_TWSI2>; 468*724ba675SRob Herring resets = <&soc_clocks MMP2_CLK_TWSI2>; 469*724ba675SRob Herring #address-cells = <1>; 470*724ba675SRob Herring #size-cells = <0>; 471*724ba675SRob Herring status = "disabled"; 472*724ba675SRob Herring }; 473*724ba675SRob Herring 474*724ba675SRob Herring twsi4: i2c@d4033000 { 475*724ba675SRob Herring compatible = "mrvl,mmp-twsi"; 476*724ba675SRob Herring reg = <0xd4033000 0x70>; 477*724ba675SRob Herring interrupt-parent = <&twsi_mux>; 478*724ba675SRob Herring interrupts = <2>; 479*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_TWSI3>; 480*724ba675SRob Herring resets = <&soc_clocks MMP2_CLK_TWSI3>; 481*724ba675SRob Herring #address-cells = <1>; 482*724ba675SRob Herring #size-cells = <0>; 483*724ba675SRob Herring status = "disabled"; 484*724ba675SRob Herring }; 485*724ba675SRob Herring 486*724ba675SRob Herring 487*724ba675SRob Herring twsi5: i2c@d4033800 { 488*724ba675SRob Herring compatible = "mrvl,mmp-twsi"; 489*724ba675SRob Herring reg = <0xd4033800 0x70>; 490*724ba675SRob Herring interrupt-parent = <&twsi_mux>; 491*724ba675SRob Herring interrupts = <3>; 492*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_TWSI4>; 493*724ba675SRob Herring resets = <&soc_clocks MMP2_CLK_TWSI4>; 494*724ba675SRob Herring #address-cells = <1>; 495*724ba675SRob Herring #size-cells = <0>; 496*724ba675SRob Herring status = "disabled"; 497*724ba675SRob Herring }; 498*724ba675SRob Herring 499*724ba675SRob Herring twsi6: i2c@d4034000 { 500*724ba675SRob Herring compatible = "mrvl,mmp-twsi"; 501*724ba675SRob Herring reg = <0xd4034000 0x70>; 502*724ba675SRob Herring interrupt-parent = <&twsi_mux>; 503*724ba675SRob Herring interrupts = <4>; 504*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_TWSI5>; 505*724ba675SRob Herring resets = <&soc_clocks MMP2_CLK_TWSI5>; 506*724ba675SRob Herring #address-cells = <1>; 507*724ba675SRob Herring #size-cells = <0>; 508*724ba675SRob Herring status = "disabled"; 509*724ba675SRob Herring }; 510*724ba675SRob Herring 511*724ba675SRob Herring rtc: rtc@d4010000 { 512*724ba675SRob Herring compatible = "mrvl,mmp-rtc"; 513*724ba675SRob Herring reg = <0xd4010000 0x1000>; 514*724ba675SRob Herring interrupts = <1>, <0>; 515*724ba675SRob Herring interrupt-names = "rtc 1Hz", "rtc alarm"; 516*724ba675SRob Herring interrupt-parent = <&rtc_mux>; 517*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_RTC>; 518*724ba675SRob Herring resets = <&soc_clocks MMP2_CLK_RTC>; 519*724ba675SRob Herring status = "disabled"; 520*724ba675SRob Herring }; 521*724ba675SRob Herring 522*724ba675SRob Herring ssp1: spi@d4035000 { 523*724ba675SRob Herring compatible = "marvell,mmp2-ssp"; 524*724ba675SRob Herring reg = <0xd4035000 0x1000>; 525*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_SSP0>; 526*724ba675SRob Herring interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 527*724ba675SRob Herring #address-cells = <1>; 528*724ba675SRob Herring #size-cells = <0>; 529*724ba675SRob Herring status = "disabled"; 530*724ba675SRob Herring }; 531*724ba675SRob Herring 532*724ba675SRob Herring ssp2: spi@d4036000 { 533*724ba675SRob Herring compatible = "marvell,mmp2-ssp"; 534*724ba675SRob Herring reg = <0xd4036000 0x1000>; 535*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_SSP1>; 536*724ba675SRob Herring interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 537*724ba675SRob Herring #address-cells = <1>; 538*724ba675SRob Herring #size-cells = <0>; 539*724ba675SRob Herring status = "disabled"; 540*724ba675SRob Herring }; 541*724ba675SRob Herring 542*724ba675SRob Herring ssp3: spi@d4037000 { 543*724ba675SRob Herring compatible = "marvell,mmp2-ssp"; 544*724ba675SRob Herring reg = <0xd4037000 0x1000>; 545*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_SSP2>; 546*724ba675SRob Herring interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 547*724ba675SRob Herring #address-cells = <1>; 548*724ba675SRob Herring #size-cells = <0>; 549*724ba675SRob Herring status = "disabled"; 550*724ba675SRob Herring }; 551*724ba675SRob Herring 552*724ba675SRob Herring ssp4: spi@d4039000 { 553*724ba675SRob Herring compatible = "marvell,mmp2-ssp"; 554*724ba675SRob Herring reg = <0xd4039000 0x1000>; 555*724ba675SRob Herring clocks = <&soc_clocks MMP2_CLK_SSP3>; 556*724ba675SRob Herring interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 557*724ba675SRob Herring #address-cells = <1>; 558*724ba675SRob Herring #size-cells = <0>; 559*724ba675SRob Herring status = "disabled"; 560*724ba675SRob Herring }; 561*724ba675SRob Herring }; 562*724ba675SRob Herring 563*724ba675SRob Herring l2: cache-controller@d0020000 { 564*724ba675SRob Herring compatible = "marvell,tauros3-cache", "arm,pl310-cache"; 565*724ba675SRob Herring reg = <0xd0020000 0x1000>; 566*724ba675SRob Herring cache-unified; 567*724ba675SRob Herring cache-level = <2>; 568*724ba675SRob Herring }; 569*724ba675SRob Herring 570*724ba675SRob Herring soc_clocks: clocks@d4050000 { 571*724ba675SRob Herring compatible = "marvell,mmp3-clock"; 572*724ba675SRob Herring reg = <0xd4050000 0x2000>, 573*724ba675SRob Herring <0xd4282800 0x400>, 574*724ba675SRob Herring <0xd4015000 0x1000>; 575*724ba675SRob Herring reg-names = "mpmu", "apmu", "apbc"; 576*724ba675SRob Herring #clock-cells = <1>; 577*724ba675SRob Herring #reset-cells = <1>; 578*724ba675SRob Herring #power-domain-cells = <1>; 579*724ba675SRob Herring }; 580*724ba675SRob Herring 581*724ba675SRob Herring snoop-control-unit@e0000000 { 582*724ba675SRob Herring compatible = "arm,arm11mp-scu"; 583*724ba675SRob Herring reg = <0xe0000000 0x100>; 584*724ba675SRob Herring }; 585*724ba675SRob Herring 586*724ba675SRob Herring gic: interrupt-controller@e0001000 { 587*724ba675SRob Herring compatible = "arm,arm11mp-gic"; 588*724ba675SRob Herring interrupt-controller; 589*724ba675SRob Herring #interrupt-cells = <3>; 590*724ba675SRob Herring reg = <0xe0001000 0x1000>, 591*724ba675SRob Herring <0xe0000100 0x100>; 592*724ba675SRob Herring }; 593*724ba675SRob Herring 594*724ba675SRob Herring local-timer@e0000600 { 595*724ba675SRob Herring compatible = "arm,arm11mp-twd-timer"; 596*724ba675SRob Herring interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | 597*724ba675SRob Herring IRQ_TYPE_EDGE_RISING)>; 598*724ba675SRob Herring reg = <0xe0000600 0x20>; 599*724ba675SRob Herring }; 600*724ba675SRob Herring 601*724ba675SRob Herring watchdog@e0000620 { 602*724ba675SRob Herring compatible = "arm,arm11mp-twd-wdt"; 603*724ba675SRob Herring reg = <0xe0000620 0x20>; 604*724ba675SRob Herring interrupts = <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | 605*724ba675SRob Herring IRQ_TYPE_EDGE_RISING)>; 606*724ba675SRob Herring }; 607*724ba675SRob Herring }; 608*724ba675SRob Herring}; 609