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