1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * Copyright (C) 2014 Antoine Ténart <antoine.tenart@free-electrons.com> 4*f126890aSEmmanuel Vadot */ 5*f126890aSEmmanuel Vadot 6*f126890aSEmmanuel Vadot#include <dt-bindings/clock/berlin2q.h> 7*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 8*f126890aSEmmanuel Vadot 9*f126890aSEmmanuel Vadot/ { 10*f126890aSEmmanuel Vadot model = "Marvell Armada 1500 pro (BG2-Q) SoC"; 11*f126890aSEmmanuel Vadot compatible = "marvell,berlin2q", "marvell,berlin"; 12*f126890aSEmmanuel Vadot #address-cells = <1>; 13*f126890aSEmmanuel Vadot #size-cells = <1>; 14*f126890aSEmmanuel Vadot 15*f126890aSEmmanuel Vadot aliases { 16*f126890aSEmmanuel Vadot serial0 = &uart0; 17*f126890aSEmmanuel Vadot serial1 = &uart1; 18*f126890aSEmmanuel Vadot }; 19*f126890aSEmmanuel Vadot 20*f126890aSEmmanuel Vadot cpus { 21*f126890aSEmmanuel Vadot #address-cells = <1>; 22*f126890aSEmmanuel Vadot #size-cells = <0>; 23*f126890aSEmmanuel Vadot enable-method = "marvell,berlin-smp"; 24*f126890aSEmmanuel Vadot 25*f126890aSEmmanuel Vadot cpu0: cpu@0 { 26*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 27*f126890aSEmmanuel Vadot device_type = "cpu"; 28*f126890aSEmmanuel Vadot next-level-cache = <&l2>; 29*f126890aSEmmanuel Vadot reg = <0>; 30*f126890aSEmmanuel Vadot 31*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CPU>; 32*f126890aSEmmanuel Vadot clock-latency = <100000>; 33*f126890aSEmmanuel Vadot /* Can be modified by the bootloader */ 34*f126890aSEmmanuel Vadot operating-points = < 35*f126890aSEmmanuel Vadot /* kHz uV */ 36*f126890aSEmmanuel Vadot 1200000 1200000 37*f126890aSEmmanuel Vadot 1000000 1200000 38*f126890aSEmmanuel Vadot 800000 1200000 39*f126890aSEmmanuel Vadot 600000 1200000 40*f126890aSEmmanuel Vadot >; 41*f126890aSEmmanuel Vadot }; 42*f126890aSEmmanuel Vadot 43*f126890aSEmmanuel Vadot cpu1: cpu@1 { 44*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 45*f126890aSEmmanuel Vadot device_type = "cpu"; 46*f126890aSEmmanuel Vadot next-level-cache = <&l2>; 47*f126890aSEmmanuel Vadot reg = <1>; 48*f126890aSEmmanuel Vadot 49*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CPU>; 50*f126890aSEmmanuel Vadot clock-latency = <100000>; 51*f126890aSEmmanuel Vadot /* Can be modified by the bootloader */ 52*f126890aSEmmanuel Vadot operating-points = < 53*f126890aSEmmanuel Vadot /* kHz uV */ 54*f126890aSEmmanuel Vadot 1200000 1200000 55*f126890aSEmmanuel Vadot 1000000 1200000 56*f126890aSEmmanuel Vadot 800000 1200000 57*f126890aSEmmanuel Vadot 600000 1200000 58*f126890aSEmmanuel Vadot >; 59*f126890aSEmmanuel Vadot }; 60*f126890aSEmmanuel Vadot 61*f126890aSEmmanuel Vadot cpu2: cpu@2 { 62*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 63*f126890aSEmmanuel Vadot device_type = "cpu"; 64*f126890aSEmmanuel Vadot next-level-cache = <&l2>; 65*f126890aSEmmanuel Vadot reg = <2>; 66*f126890aSEmmanuel Vadot 67*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CPU>; 68*f126890aSEmmanuel Vadot clock-latency = <100000>; 69*f126890aSEmmanuel Vadot /* Can be modified by the bootloader */ 70*f126890aSEmmanuel Vadot operating-points = < 71*f126890aSEmmanuel Vadot /* kHz uV */ 72*f126890aSEmmanuel Vadot 1200000 1200000 73*f126890aSEmmanuel Vadot 1000000 1200000 74*f126890aSEmmanuel Vadot 800000 1200000 75*f126890aSEmmanuel Vadot 600000 1200000 76*f126890aSEmmanuel Vadot >; 77*f126890aSEmmanuel Vadot }; 78*f126890aSEmmanuel Vadot 79*f126890aSEmmanuel Vadot cpu3: cpu@3 { 80*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 81*f126890aSEmmanuel Vadot device_type = "cpu"; 82*f126890aSEmmanuel Vadot next-level-cache = <&l2>; 83*f126890aSEmmanuel Vadot reg = <3>; 84*f126890aSEmmanuel Vadot 85*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CPU>; 86*f126890aSEmmanuel Vadot clock-latency = <100000>; 87*f126890aSEmmanuel Vadot /* Can be modified by the bootloader */ 88*f126890aSEmmanuel Vadot operating-points = < 89*f126890aSEmmanuel Vadot /* kHz uV */ 90*f126890aSEmmanuel Vadot 1200000 1200000 91*f126890aSEmmanuel Vadot 1000000 1200000 92*f126890aSEmmanuel Vadot 800000 1200000 93*f126890aSEmmanuel Vadot 600000 1200000 94*f126890aSEmmanuel Vadot >; 95*f126890aSEmmanuel Vadot }; 96*f126890aSEmmanuel Vadot }; 97*f126890aSEmmanuel Vadot 98*f126890aSEmmanuel Vadot pmu { 99*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-pmu"; 100*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 101*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>, 102*f126890aSEmmanuel Vadot <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>, 103*f126890aSEmmanuel Vadot <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 104*f126890aSEmmanuel Vadot <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 105*f126890aSEmmanuel Vadot interrupt-affinity = <&cpu0>, 106*f126890aSEmmanuel Vadot <&cpu1>, 107*f126890aSEmmanuel Vadot <&cpu2>, 108*f126890aSEmmanuel Vadot <&cpu3>; 109*f126890aSEmmanuel Vadot }; 110*f126890aSEmmanuel Vadot 111*f126890aSEmmanuel Vadot refclk: oscillator { 112*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 113*f126890aSEmmanuel Vadot #clock-cells = <0>; 114*f126890aSEmmanuel Vadot clock-frequency = <25000000>; 115*f126890aSEmmanuel Vadot }; 116*f126890aSEmmanuel Vadot 117*f126890aSEmmanuel Vadot soc@f7000000 { 118*f126890aSEmmanuel Vadot compatible = "simple-bus"; 119*f126890aSEmmanuel Vadot #address-cells = <1>; 120*f126890aSEmmanuel Vadot #size-cells = <1>; 121*f126890aSEmmanuel Vadot 122*f126890aSEmmanuel Vadot ranges = <0 0xf7000000 0x1000000>; 123*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 124*f126890aSEmmanuel Vadot 125*f126890aSEmmanuel Vadot sdhci0: mmc@ab0000 { 126*f126890aSEmmanuel Vadot compatible = "mrvl,pxav3-mmc"; 127*f126890aSEmmanuel Vadot reg = <0xab0000 0x200>; 128*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_SDIO1XIN>, <&chip_clk CLKID_SDIO>; 129*f126890aSEmmanuel Vadot clock-names = "io", "core"; 130*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 131*f126890aSEmmanuel Vadot status = "disabled"; 132*f126890aSEmmanuel Vadot }; 133*f126890aSEmmanuel Vadot 134*f126890aSEmmanuel Vadot sdhci1: mmc@ab0800 { 135*f126890aSEmmanuel Vadot compatible = "mrvl,pxav3-mmc"; 136*f126890aSEmmanuel Vadot reg = <0xab0800 0x200>; 137*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_SDIO1XIN>, <&chip_clk CLKID_SDIO>; 138*f126890aSEmmanuel Vadot clock-names = "io", "core"; 139*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 140*f126890aSEmmanuel Vadot status = "disabled"; 141*f126890aSEmmanuel Vadot }; 142*f126890aSEmmanuel Vadot 143*f126890aSEmmanuel Vadot sdhci2: mmc@ab1000 { 144*f126890aSEmmanuel Vadot compatible = "mrvl,pxav3-mmc"; 145*f126890aSEmmanuel Vadot reg = <0xab1000 0x200>; 146*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 147*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_NFC_ECC>, <&chip_clk CLKID_SDIO>; 148*f126890aSEmmanuel Vadot clock-names = "io", "core"; 149*f126890aSEmmanuel Vadot status = "disabled"; 150*f126890aSEmmanuel Vadot }; 151*f126890aSEmmanuel Vadot 152*f126890aSEmmanuel Vadot l2: cache-controller@ac0000 { 153*f126890aSEmmanuel Vadot compatible = "arm,pl310-cache"; 154*f126890aSEmmanuel Vadot reg = <0xac0000 0x1000>; 155*f126890aSEmmanuel Vadot cache-unified; 156*f126890aSEmmanuel Vadot cache-level = <2>; 157*f126890aSEmmanuel Vadot arm,data-latency = <2 2 2>; 158*f126890aSEmmanuel Vadot arm,tag-latency = <2 2 2>; 159*f126890aSEmmanuel Vadot }; 160*f126890aSEmmanuel Vadot 161*f126890aSEmmanuel Vadot scu: snoop-control-unit@ad0000 { 162*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-scu"; 163*f126890aSEmmanuel Vadot reg = <0xad0000 0x58>; 164*f126890aSEmmanuel Vadot }; 165*f126890aSEmmanuel Vadot 166*f126890aSEmmanuel Vadot local-timer@ad0600 { 167*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-twd-timer"; 168*f126890aSEmmanuel Vadot reg = <0xad0600 0x20>; 169*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_TWD>; 170*f126890aSEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; 171*f126890aSEmmanuel Vadot }; 172*f126890aSEmmanuel Vadot 173*f126890aSEmmanuel Vadot gic: interrupt-controller@ad1000 { 174*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-gic"; 175*f126890aSEmmanuel Vadot reg = <0xad1000 0x1000>, <0xad0100 0x100>; 176*f126890aSEmmanuel Vadot interrupt-controller; 177*f126890aSEmmanuel Vadot #interrupt-cells = <3>; 178*f126890aSEmmanuel Vadot }; 179*f126890aSEmmanuel Vadot 180*f126890aSEmmanuel Vadot usb_phy2: phy@a2f400 { 181*f126890aSEmmanuel Vadot compatible = "marvell,berlin2cd-usb-phy"; 182*f126890aSEmmanuel Vadot reg = <0xa2f400 0x128>; 183*f126890aSEmmanuel Vadot #phy-cells = <0>; 184*f126890aSEmmanuel Vadot resets = <&chip_rst 0x104 14>; 185*f126890aSEmmanuel Vadot status = "disabled"; 186*f126890aSEmmanuel Vadot }; 187*f126890aSEmmanuel Vadot 188*f126890aSEmmanuel Vadot usb2: usb@a30000 { 189*f126890aSEmmanuel Vadot compatible = "chipidea,usb2"; 190*f126890aSEmmanuel Vadot reg = <0xa30000 0x10000>; 191*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 192*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_USB2>; 193*f126890aSEmmanuel Vadot phys = <&usb_phy2>; 194*f126890aSEmmanuel Vadot phy-names = "usb-phy"; 195*f126890aSEmmanuel Vadot status = "disabled"; 196*f126890aSEmmanuel Vadot }; 197*f126890aSEmmanuel Vadot 198*f126890aSEmmanuel Vadot usb_phy0: phy@b74000 { 199*f126890aSEmmanuel Vadot compatible = "marvell,berlin2cd-usb-phy"; 200*f126890aSEmmanuel Vadot reg = <0xb74000 0x128>; 201*f126890aSEmmanuel Vadot #phy-cells = <0>; 202*f126890aSEmmanuel Vadot resets = <&chip_rst 0x104 12>; 203*f126890aSEmmanuel Vadot status = "disabled"; 204*f126890aSEmmanuel Vadot }; 205*f126890aSEmmanuel Vadot 206*f126890aSEmmanuel Vadot usb_phy1: phy@b78000 { 207*f126890aSEmmanuel Vadot compatible = "marvell,berlin2cd-usb-phy"; 208*f126890aSEmmanuel Vadot reg = <0xb78000 0x128>; 209*f126890aSEmmanuel Vadot #phy-cells = <0>; 210*f126890aSEmmanuel Vadot resets = <&chip_rst 0x104 13>; 211*f126890aSEmmanuel Vadot status = "disabled"; 212*f126890aSEmmanuel Vadot }; 213*f126890aSEmmanuel Vadot 214*f126890aSEmmanuel Vadot eth0: ethernet@b90000 { 215*f126890aSEmmanuel Vadot compatible = "marvell,pxa168-eth"; 216*f126890aSEmmanuel Vadot reg = <0xb90000 0x10000>; 217*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_GETH0>; 218*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 219*f126890aSEmmanuel Vadot /* set by bootloader */ 220*f126890aSEmmanuel Vadot local-mac-address = [00 00 00 00 00 00]; 221*f126890aSEmmanuel Vadot #address-cells = <1>; 222*f126890aSEmmanuel Vadot #size-cells = <0>; 223*f126890aSEmmanuel Vadot phy-connection-type = "mii"; 224*f126890aSEmmanuel Vadot phy-handle = <ðphy0>; 225*f126890aSEmmanuel Vadot status = "disabled"; 226*f126890aSEmmanuel Vadot 227*f126890aSEmmanuel Vadot ethphy0: ethernet-phy@0 { 228*f126890aSEmmanuel Vadot reg = <0>; 229*f126890aSEmmanuel Vadot }; 230*f126890aSEmmanuel Vadot }; 231*f126890aSEmmanuel Vadot 232*f126890aSEmmanuel Vadot cpu-ctrl@dd0000 { 233*f126890aSEmmanuel Vadot compatible = "marvell,berlin-cpu-ctrl"; 234*f126890aSEmmanuel Vadot reg = <0xdd0000 0x10000>; 235*f126890aSEmmanuel Vadot }; 236*f126890aSEmmanuel Vadot 237*f126890aSEmmanuel Vadot apb@e80000 { 238*f126890aSEmmanuel Vadot compatible = "simple-bus"; 239*f126890aSEmmanuel Vadot #address-cells = <1>; 240*f126890aSEmmanuel Vadot #size-cells = <1>; 241*f126890aSEmmanuel Vadot 242*f126890aSEmmanuel Vadot ranges = <0 0xe80000 0x10000>; 243*f126890aSEmmanuel Vadot interrupt-parent = <&aic>; 244*f126890aSEmmanuel Vadot 245*f126890aSEmmanuel Vadot gpio0: gpio@400 { 246*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 247*f126890aSEmmanuel Vadot reg = <0x0400 0x400>; 248*f126890aSEmmanuel Vadot #address-cells = <1>; 249*f126890aSEmmanuel Vadot #size-cells = <0>; 250*f126890aSEmmanuel Vadot 251*f126890aSEmmanuel Vadot porta: gpio-port@0 { 252*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 253*f126890aSEmmanuel Vadot gpio-controller; 254*f126890aSEmmanuel Vadot #gpio-cells = <2>; 255*f126890aSEmmanuel Vadot ngpios = <32>; 256*f126890aSEmmanuel Vadot reg = <0>; 257*f126890aSEmmanuel Vadot interrupt-controller; 258*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 259*f126890aSEmmanuel Vadot interrupts = <0>; 260*f126890aSEmmanuel Vadot }; 261*f126890aSEmmanuel Vadot }; 262*f126890aSEmmanuel Vadot 263*f126890aSEmmanuel Vadot gpio1: gpio@800 { 264*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 265*f126890aSEmmanuel Vadot reg = <0x0800 0x400>; 266*f126890aSEmmanuel Vadot #address-cells = <1>; 267*f126890aSEmmanuel Vadot #size-cells = <0>; 268*f126890aSEmmanuel Vadot 269*f126890aSEmmanuel Vadot portb: gpio-port@1 { 270*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 271*f126890aSEmmanuel Vadot gpio-controller; 272*f126890aSEmmanuel Vadot #gpio-cells = <2>; 273*f126890aSEmmanuel Vadot ngpios = <32>; 274*f126890aSEmmanuel Vadot reg = <0>; 275*f126890aSEmmanuel Vadot interrupt-controller; 276*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 277*f126890aSEmmanuel Vadot interrupts = <1>; 278*f126890aSEmmanuel Vadot }; 279*f126890aSEmmanuel Vadot }; 280*f126890aSEmmanuel Vadot 281*f126890aSEmmanuel Vadot gpio2: gpio@c00 { 282*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 283*f126890aSEmmanuel Vadot reg = <0x0c00 0x400>; 284*f126890aSEmmanuel Vadot #address-cells = <1>; 285*f126890aSEmmanuel Vadot #size-cells = <0>; 286*f126890aSEmmanuel Vadot 287*f126890aSEmmanuel Vadot portc: gpio-port@2 { 288*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 289*f126890aSEmmanuel Vadot gpio-controller; 290*f126890aSEmmanuel Vadot #gpio-cells = <2>; 291*f126890aSEmmanuel Vadot ngpios = <32>; 292*f126890aSEmmanuel Vadot reg = <0>; 293*f126890aSEmmanuel Vadot interrupt-controller; 294*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 295*f126890aSEmmanuel Vadot interrupts = <2>; 296*f126890aSEmmanuel Vadot }; 297*f126890aSEmmanuel Vadot }; 298*f126890aSEmmanuel Vadot 299*f126890aSEmmanuel Vadot gpio3: gpio@1000 { 300*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 301*f126890aSEmmanuel Vadot reg = <0x1000 0x400>; 302*f126890aSEmmanuel Vadot #address-cells = <1>; 303*f126890aSEmmanuel Vadot #size-cells = <0>; 304*f126890aSEmmanuel Vadot 305*f126890aSEmmanuel Vadot portd: gpio-port@3 { 306*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 307*f126890aSEmmanuel Vadot gpio-controller; 308*f126890aSEmmanuel Vadot #gpio-cells = <2>; 309*f126890aSEmmanuel Vadot ngpios = <32>; 310*f126890aSEmmanuel Vadot reg = <0>; 311*f126890aSEmmanuel Vadot interrupt-controller; 312*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 313*f126890aSEmmanuel Vadot interrupts = <3>; 314*f126890aSEmmanuel Vadot }; 315*f126890aSEmmanuel Vadot }; 316*f126890aSEmmanuel Vadot 317*f126890aSEmmanuel Vadot i2c0: i2c@1400 { 318*f126890aSEmmanuel Vadot compatible = "snps,designware-i2c"; 319*f126890aSEmmanuel Vadot #address-cells = <1>; 320*f126890aSEmmanuel Vadot #size-cells = <0>; 321*f126890aSEmmanuel Vadot reg = <0x1400 0x100>; 322*f126890aSEmmanuel Vadot interrupts = <4>; 323*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CFG>; 324*f126890aSEmmanuel Vadot pinctrl-0 = <&twsi0_pmux>; 325*f126890aSEmmanuel Vadot pinctrl-names = "default"; 326*f126890aSEmmanuel Vadot status = "disabled"; 327*f126890aSEmmanuel Vadot }; 328*f126890aSEmmanuel Vadot 329*f126890aSEmmanuel Vadot i2c1: i2c@1800 { 330*f126890aSEmmanuel Vadot compatible = "snps,designware-i2c"; 331*f126890aSEmmanuel Vadot #address-cells = <1>; 332*f126890aSEmmanuel Vadot #size-cells = <0>; 333*f126890aSEmmanuel Vadot reg = <0x1800 0x100>; 334*f126890aSEmmanuel Vadot interrupts = <5>; 335*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CFG>; 336*f126890aSEmmanuel Vadot pinctrl-0 = <&twsi1_pmux>; 337*f126890aSEmmanuel Vadot pinctrl-names = "default"; 338*f126890aSEmmanuel Vadot status = "disabled"; 339*f126890aSEmmanuel Vadot }; 340*f126890aSEmmanuel Vadot 341*f126890aSEmmanuel Vadot timer0: timer@2c00 { 342*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 343*f126890aSEmmanuel Vadot reg = <0x2c00 0x14>; 344*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CFG>; 345*f126890aSEmmanuel Vadot clock-names = "timer"; 346*f126890aSEmmanuel Vadot interrupts = <8>; 347*f126890aSEmmanuel Vadot }; 348*f126890aSEmmanuel Vadot 349*f126890aSEmmanuel Vadot timer1: timer@2c14 { 350*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 351*f126890aSEmmanuel Vadot reg = <0x2c14 0x14>; 352*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CFG>; 353*f126890aSEmmanuel Vadot clock-names = "timer"; 354*f126890aSEmmanuel Vadot }; 355*f126890aSEmmanuel Vadot 356*f126890aSEmmanuel Vadot timer2: timer@2c28 { 357*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 358*f126890aSEmmanuel Vadot reg = <0x2c28 0x14>; 359*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CFG>; 360*f126890aSEmmanuel Vadot clock-names = "timer"; 361*f126890aSEmmanuel Vadot status = "disabled"; 362*f126890aSEmmanuel Vadot }; 363*f126890aSEmmanuel Vadot 364*f126890aSEmmanuel Vadot timer3: timer@2c3c { 365*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 366*f126890aSEmmanuel Vadot reg = <0x2c3c 0x14>; 367*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CFG>; 368*f126890aSEmmanuel Vadot clock-names = "timer"; 369*f126890aSEmmanuel Vadot status = "disabled"; 370*f126890aSEmmanuel Vadot }; 371*f126890aSEmmanuel Vadot 372*f126890aSEmmanuel Vadot timer4: timer@2c50 { 373*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 374*f126890aSEmmanuel Vadot reg = <0x2c50 0x14>; 375*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CFG>; 376*f126890aSEmmanuel Vadot clock-names = "timer"; 377*f126890aSEmmanuel Vadot status = "disabled"; 378*f126890aSEmmanuel Vadot }; 379*f126890aSEmmanuel Vadot 380*f126890aSEmmanuel Vadot timer5: timer@2c64 { 381*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 382*f126890aSEmmanuel Vadot reg = <0x2c64 0x14>; 383*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CFG>; 384*f126890aSEmmanuel Vadot clock-names = "timer"; 385*f126890aSEmmanuel Vadot status = "disabled"; 386*f126890aSEmmanuel Vadot }; 387*f126890aSEmmanuel Vadot 388*f126890aSEmmanuel Vadot timer6: timer@2c78 { 389*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 390*f126890aSEmmanuel Vadot reg = <0x2c78 0x14>; 391*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CFG>; 392*f126890aSEmmanuel Vadot clock-names = "timer"; 393*f126890aSEmmanuel Vadot status = "disabled"; 394*f126890aSEmmanuel Vadot }; 395*f126890aSEmmanuel Vadot 396*f126890aSEmmanuel Vadot timer7: timer@2c8c { 397*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 398*f126890aSEmmanuel Vadot reg = <0x2c8c 0x14>; 399*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CFG>; 400*f126890aSEmmanuel Vadot clock-names = "timer"; 401*f126890aSEmmanuel Vadot status = "disabled"; 402*f126890aSEmmanuel Vadot }; 403*f126890aSEmmanuel Vadot 404*f126890aSEmmanuel Vadot aic: interrupt-controller@3800 { 405*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-ictl"; 406*f126890aSEmmanuel Vadot reg = <0x3800 0x30>; 407*f126890aSEmmanuel Vadot interrupt-controller; 408*f126890aSEmmanuel Vadot #interrupt-cells = <1>; 409*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 410*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 411*f126890aSEmmanuel Vadot }; 412*f126890aSEmmanuel Vadot }; 413*f126890aSEmmanuel Vadot 414*f126890aSEmmanuel Vadot chip: chip-control@ea0000 { 415*f126890aSEmmanuel Vadot compatible = "simple-mfd", "syscon"; 416*f126890aSEmmanuel Vadot reg = <0xea0000 0x400>, <0xdd0170 0x10>; 417*f126890aSEmmanuel Vadot 418*f126890aSEmmanuel Vadot chip_clk: clock { 419*f126890aSEmmanuel Vadot compatible = "marvell,berlin2q-clk"; 420*f126890aSEmmanuel Vadot #clock-cells = <1>; 421*f126890aSEmmanuel Vadot clocks = <&refclk>; 422*f126890aSEmmanuel Vadot clock-names = "refclk"; 423*f126890aSEmmanuel Vadot }; 424*f126890aSEmmanuel Vadot 425*f126890aSEmmanuel Vadot soc_pinctrl: pin-controller { 426*f126890aSEmmanuel Vadot compatible = "marvell,berlin2q-soc-pinctrl"; 427*f126890aSEmmanuel Vadot 428*f126890aSEmmanuel Vadot sd1_pmux: sd1-pmux { 429*f126890aSEmmanuel Vadot groups = "G31"; 430*f126890aSEmmanuel Vadot function = "sd1"; 431*f126890aSEmmanuel Vadot }; 432*f126890aSEmmanuel Vadot 433*f126890aSEmmanuel Vadot twsi0_pmux: twsi0-pmux { 434*f126890aSEmmanuel Vadot groups = "G6"; 435*f126890aSEmmanuel Vadot function = "twsi0"; 436*f126890aSEmmanuel Vadot }; 437*f126890aSEmmanuel Vadot 438*f126890aSEmmanuel Vadot twsi1_pmux: twsi1-pmux { 439*f126890aSEmmanuel Vadot groups = "G7"; 440*f126890aSEmmanuel Vadot function = "twsi1"; 441*f126890aSEmmanuel Vadot }; 442*f126890aSEmmanuel Vadot }; 443*f126890aSEmmanuel Vadot 444*f126890aSEmmanuel Vadot chip_rst: reset { 445*f126890aSEmmanuel Vadot compatible = "marvell,berlin2-reset"; 446*f126890aSEmmanuel Vadot #reset-cells = <2>; 447*f126890aSEmmanuel Vadot }; 448*f126890aSEmmanuel Vadot }; 449*f126890aSEmmanuel Vadot 450*f126890aSEmmanuel Vadot ahci: sata@e90000 { 451*f126890aSEmmanuel Vadot compatible = "marvell,berlin2q-ahci", "generic-ahci"; 452*f126890aSEmmanuel Vadot reg = <0xe90000 0x1000>; 453*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 454*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_SATA>; 455*f126890aSEmmanuel Vadot #address-cells = <1>; 456*f126890aSEmmanuel Vadot #size-cells = <0>; 457*f126890aSEmmanuel Vadot 458*f126890aSEmmanuel Vadot sata0: sata-port@0 { 459*f126890aSEmmanuel Vadot reg = <0>; 460*f126890aSEmmanuel Vadot phys = <&sata_phy 0>; 461*f126890aSEmmanuel Vadot status = "disabled"; 462*f126890aSEmmanuel Vadot }; 463*f126890aSEmmanuel Vadot 464*f126890aSEmmanuel Vadot sata1: sata-port@1 { 465*f126890aSEmmanuel Vadot reg = <1>; 466*f126890aSEmmanuel Vadot phys = <&sata_phy 1>; 467*f126890aSEmmanuel Vadot status = "disabled"; 468*f126890aSEmmanuel Vadot }; 469*f126890aSEmmanuel Vadot }; 470*f126890aSEmmanuel Vadot 471*f126890aSEmmanuel Vadot sata_phy: phy@e900a0 { 472*f126890aSEmmanuel Vadot compatible = "marvell,berlin2q-sata-phy"; 473*f126890aSEmmanuel Vadot reg = <0xe900a0 0x200>; 474*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_SATA>; 475*f126890aSEmmanuel Vadot #address-cells = <1>; 476*f126890aSEmmanuel Vadot #size-cells = <0>; 477*f126890aSEmmanuel Vadot #phy-cells = <1>; 478*f126890aSEmmanuel Vadot status = "disabled"; 479*f126890aSEmmanuel Vadot 480*f126890aSEmmanuel Vadot sata-phy@0 { 481*f126890aSEmmanuel Vadot reg = <0>; 482*f126890aSEmmanuel Vadot }; 483*f126890aSEmmanuel Vadot 484*f126890aSEmmanuel Vadot sata-phy@1 { 485*f126890aSEmmanuel Vadot reg = <1>; 486*f126890aSEmmanuel Vadot }; 487*f126890aSEmmanuel Vadot }; 488*f126890aSEmmanuel Vadot 489*f126890aSEmmanuel Vadot usb0: usb@ed0000 { 490*f126890aSEmmanuel Vadot compatible = "chipidea,usb2"; 491*f126890aSEmmanuel Vadot reg = <0xed0000 0x10000>; 492*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 493*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_USB0>; 494*f126890aSEmmanuel Vadot phys = <&usb_phy0>; 495*f126890aSEmmanuel Vadot phy-names = "usb-phy"; 496*f126890aSEmmanuel Vadot status = "disabled"; 497*f126890aSEmmanuel Vadot }; 498*f126890aSEmmanuel Vadot 499*f126890aSEmmanuel Vadot usb1: usb@ee0000 { 500*f126890aSEmmanuel Vadot compatible = "chipidea,usb2"; 501*f126890aSEmmanuel Vadot reg = <0xee0000 0x10000>; 502*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 503*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_USB1>; 504*f126890aSEmmanuel Vadot phys = <&usb_phy1>; 505*f126890aSEmmanuel Vadot phy-names = "usb-phy"; 506*f126890aSEmmanuel Vadot status = "disabled"; 507*f126890aSEmmanuel Vadot }; 508*f126890aSEmmanuel Vadot 509*f126890aSEmmanuel Vadot pwm: pwm@f20000 { 510*f126890aSEmmanuel Vadot compatible = "marvell,berlin-pwm"; 511*f126890aSEmmanuel Vadot reg = <0xf20000 0x40>; 512*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CFG>; 513*f126890aSEmmanuel Vadot #pwm-cells = <3>; 514*f126890aSEmmanuel Vadot }; 515*f126890aSEmmanuel Vadot 516*f126890aSEmmanuel Vadot apb@fc0000 { 517*f126890aSEmmanuel Vadot compatible = "simple-bus"; 518*f126890aSEmmanuel Vadot #address-cells = <1>; 519*f126890aSEmmanuel Vadot #size-cells = <1>; 520*f126890aSEmmanuel Vadot 521*f126890aSEmmanuel Vadot ranges = <0 0xfc0000 0x10000>; 522*f126890aSEmmanuel Vadot interrupt-parent = <&sic>; 523*f126890aSEmmanuel Vadot 524*f126890aSEmmanuel Vadot wdt0: watchdog@1000 { 525*f126890aSEmmanuel Vadot compatible = "snps,dw-wdt"; 526*f126890aSEmmanuel Vadot reg = <0x1000 0x100>; 527*f126890aSEmmanuel Vadot clocks = <&refclk>; 528*f126890aSEmmanuel Vadot interrupts = <0>; 529*f126890aSEmmanuel Vadot }; 530*f126890aSEmmanuel Vadot 531*f126890aSEmmanuel Vadot wdt1: watchdog@2000 { 532*f126890aSEmmanuel Vadot compatible = "snps,dw-wdt"; 533*f126890aSEmmanuel Vadot reg = <0x2000 0x100>; 534*f126890aSEmmanuel Vadot clocks = <&refclk>; 535*f126890aSEmmanuel Vadot interrupts = <1>; 536*f126890aSEmmanuel Vadot }; 537*f126890aSEmmanuel Vadot 538*f126890aSEmmanuel Vadot wdt2: watchdog@3000 { 539*f126890aSEmmanuel Vadot compatible = "snps,dw-wdt"; 540*f126890aSEmmanuel Vadot reg = <0x3000 0x100>; 541*f126890aSEmmanuel Vadot clocks = <&refclk>; 542*f126890aSEmmanuel Vadot interrupts = <2>; 543*f126890aSEmmanuel Vadot }; 544*f126890aSEmmanuel Vadot 545*f126890aSEmmanuel Vadot sm_gpio1: gpio@5000 { 546*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 547*f126890aSEmmanuel Vadot reg = <0x5000 0x400>; 548*f126890aSEmmanuel Vadot #address-cells = <1>; 549*f126890aSEmmanuel Vadot #size-cells = <0>; 550*f126890aSEmmanuel Vadot 551*f126890aSEmmanuel Vadot portf: gpio-port@5 { 552*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 553*f126890aSEmmanuel Vadot gpio-controller; 554*f126890aSEmmanuel Vadot #gpio-cells = <2>; 555*f126890aSEmmanuel Vadot ngpios = <32>; 556*f126890aSEmmanuel Vadot reg = <0>; 557*f126890aSEmmanuel Vadot }; 558*f126890aSEmmanuel Vadot }; 559*f126890aSEmmanuel Vadot 560*f126890aSEmmanuel Vadot i2c2: i2c@7000 { 561*f126890aSEmmanuel Vadot compatible = "snps,designware-i2c"; 562*f126890aSEmmanuel Vadot #address-cells = <1>; 563*f126890aSEmmanuel Vadot #size-cells = <0>; 564*f126890aSEmmanuel Vadot reg = <0x7000 0x100>; 565*f126890aSEmmanuel Vadot interrupts = <6>; 566*f126890aSEmmanuel Vadot clocks = <&refclk>; 567*f126890aSEmmanuel Vadot pinctrl-0 = <&twsi2_pmux>; 568*f126890aSEmmanuel Vadot pinctrl-names = "default"; 569*f126890aSEmmanuel Vadot status = "disabled"; 570*f126890aSEmmanuel Vadot }; 571*f126890aSEmmanuel Vadot 572*f126890aSEmmanuel Vadot i2c3: i2c@8000 { 573*f126890aSEmmanuel Vadot compatible = "snps,designware-i2c"; 574*f126890aSEmmanuel Vadot #address-cells = <1>; 575*f126890aSEmmanuel Vadot #size-cells = <0>; 576*f126890aSEmmanuel Vadot reg = <0x8000 0x100>; 577*f126890aSEmmanuel Vadot interrupts = <7>; 578*f126890aSEmmanuel Vadot clocks = <&refclk>; 579*f126890aSEmmanuel Vadot pinctrl-0 = <&twsi3_pmux>; 580*f126890aSEmmanuel Vadot pinctrl-names = "default"; 581*f126890aSEmmanuel Vadot status = "disabled"; 582*f126890aSEmmanuel Vadot }; 583*f126890aSEmmanuel Vadot 584*f126890aSEmmanuel Vadot uart0: serial@9000 { 585*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 586*f126890aSEmmanuel Vadot reg = <0x9000 0x100>; 587*f126890aSEmmanuel Vadot interrupts = <8>; 588*f126890aSEmmanuel Vadot clocks = <&refclk>; 589*f126890aSEmmanuel Vadot reg-shift = <2>; 590*f126890aSEmmanuel Vadot pinctrl-0 = <&uart0_pmux>; 591*f126890aSEmmanuel Vadot pinctrl-names = "default"; 592*f126890aSEmmanuel Vadot status = "disabled"; 593*f126890aSEmmanuel Vadot }; 594*f126890aSEmmanuel Vadot 595*f126890aSEmmanuel Vadot uart1: serial@a000 { 596*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 597*f126890aSEmmanuel Vadot reg = <0xa000 0x100>; 598*f126890aSEmmanuel Vadot interrupts = <9>; 599*f126890aSEmmanuel Vadot clocks = <&refclk>; 600*f126890aSEmmanuel Vadot reg-shift = <2>; 601*f126890aSEmmanuel Vadot pinctrl-0 = <&uart1_pmux>; 602*f126890aSEmmanuel Vadot pinctrl-names = "default"; 603*f126890aSEmmanuel Vadot status = "disabled"; 604*f126890aSEmmanuel Vadot }; 605*f126890aSEmmanuel Vadot 606*f126890aSEmmanuel Vadot sm_gpio0: gpio@c000 { 607*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 608*f126890aSEmmanuel Vadot reg = <0xc000 0x400>; 609*f126890aSEmmanuel Vadot #address-cells = <1>; 610*f126890aSEmmanuel Vadot #size-cells = <0>; 611*f126890aSEmmanuel Vadot 612*f126890aSEmmanuel Vadot porte: gpio-port@4 { 613*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 614*f126890aSEmmanuel Vadot gpio-controller; 615*f126890aSEmmanuel Vadot #gpio-cells = <2>; 616*f126890aSEmmanuel Vadot ngpios = <32>; 617*f126890aSEmmanuel Vadot reg = <0>; 618*f126890aSEmmanuel Vadot }; 619*f126890aSEmmanuel Vadot }; 620*f126890aSEmmanuel Vadot 621*f126890aSEmmanuel Vadot sysctrl: pin-controller@d000 { 622*f126890aSEmmanuel Vadot compatible = "simple-mfd", "syscon"; 623*f126890aSEmmanuel Vadot reg = <0xd000 0x100>; 624*f126890aSEmmanuel Vadot 625*f126890aSEmmanuel Vadot sys_pinctrl: pin-controller { 626*f126890aSEmmanuel Vadot compatible = "marvell,berlin2q-system-pinctrl"; 627*f126890aSEmmanuel Vadot 628*f126890aSEmmanuel Vadot uart0_pmux: uart0-pmux { 629*f126890aSEmmanuel Vadot groups = "GSM12"; 630*f126890aSEmmanuel Vadot function = "uart0"; 631*f126890aSEmmanuel Vadot }; 632*f126890aSEmmanuel Vadot 633*f126890aSEmmanuel Vadot uart1_pmux: uart1-pmux { 634*f126890aSEmmanuel Vadot groups = "GSM14"; 635*f126890aSEmmanuel Vadot function = "uart1"; 636*f126890aSEmmanuel Vadot }; 637*f126890aSEmmanuel Vadot 638*f126890aSEmmanuel Vadot twsi2_pmux: twsi2-pmux { 639*f126890aSEmmanuel Vadot groups = "GSM13"; 640*f126890aSEmmanuel Vadot function = "twsi2"; 641*f126890aSEmmanuel Vadot }; 642*f126890aSEmmanuel Vadot 643*f126890aSEmmanuel Vadot twsi3_pmux: twsi3-pmux { 644*f126890aSEmmanuel Vadot groups = "GSM14"; 645*f126890aSEmmanuel Vadot function = "twsi3"; 646*f126890aSEmmanuel Vadot }; 647*f126890aSEmmanuel Vadot }; 648*f126890aSEmmanuel Vadot 649*f126890aSEmmanuel Vadot adc: adc { 650*f126890aSEmmanuel Vadot compatible = "marvell,berlin2-adc"; 651*f126890aSEmmanuel Vadot interrupts = <12>, <14>; 652*f126890aSEmmanuel Vadot interrupt-names = "adc", "tsen"; 653*f126890aSEmmanuel Vadot }; 654*f126890aSEmmanuel Vadot }; 655*f126890aSEmmanuel Vadot 656*f126890aSEmmanuel Vadot sic: interrupt-controller@e000 { 657*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-ictl"; 658*f126890aSEmmanuel Vadot reg = <0xe000 0x30>; 659*f126890aSEmmanuel Vadot interrupt-controller; 660*f126890aSEmmanuel Vadot #interrupt-cells = <1>; 661*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 662*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 663*f126890aSEmmanuel Vadot }; 664*f126890aSEmmanuel Vadot }; 665*f126890aSEmmanuel Vadot }; 666*f126890aSEmmanuel Vadot}; 667