1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * Device Tree Include file for Marvell Armada 1500 (Berlin BG2) SoC 4*f126890aSEmmanuel Vadot * 5*f126890aSEmmanuel Vadot * Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> 6*f126890aSEmmanuel Vadot * 7*f126890aSEmmanuel Vadot * based on GPL'ed 2.6 kernel sources 8*f126890aSEmmanuel Vadot * (c) Marvell International Ltd. 9*f126890aSEmmanuel Vadot */ 10*f126890aSEmmanuel Vadot 11*f126890aSEmmanuel Vadot#include <dt-bindings/clock/berlin2.h> 12*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 13*f126890aSEmmanuel Vadot 14*f126890aSEmmanuel Vadot/ { 15*f126890aSEmmanuel Vadot model = "Marvell Armada 1500 (BG2) SoC"; 16*f126890aSEmmanuel Vadot compatible = "marvell,berlin2", "marvell,berlin"; 17*f126890aSEmmanuel Vadot #address-cells = <1>; 18*f126890aSEmmanuel Vadot #size-cells = <1>; 19*f126890aSEmmanuel Vadot 20*f126890aSEmmanuel Vadot aliases { 21*f126890aSEmmanuel Vadot serial0 = &uart0; 22*f126890aSEmmanuel Vadot serial1 = &uart1; 23*f126890aSEmmanuel Vadot serial2 = &uart2; 24*f126890aSEmmanuel Vadot }; 25*f126890aSEmmanuel Vadot 26*f126890aSEmmanuel Vadot cpus { 27*f126890aSEmmanuel Vadot #address-cells = <1>; 28*f126890aSEmmanuel Vadot #size-cells = <0>; 29*f126890aSEmmanuel Vadot enable-method = "marvell,berlin-smp"; 30*f126890aSEmmanuel Vadot 31*f126890aSEmmanuel Vadot cpu@0 { 32*f126890aSEmmanuel Vadot compatible = "marvell,pj4b"; 33*f126890aSEmmanuel Vadot device_type = "cpu"; 34*f126890aSEmmanuel Vadot next-level-cache = <&l2>; 35*f126890aSEmmanuel Vadot reg = <0>; 36*f126890aSEmmanuel Vadot 37*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CPU>; 38*f126890aSEmmanuel Vadot clock-latency = <100000>; 39*f126890aSEmmanuel Vadot operating-points = < 40*f126890aSEmmanuel Vadot /* kHz uV */ 41*f126890aSEmmanuel Vadot 1200000 1200000 42*f126890aSEmmanuel Vadot 1000000 1200000 43*f126890aSEmmanuel Vadot 800000 1200000 44*f126890aSEmmanuel Vadot 600000 1200000 45*f126890aSEmmanuel Vadot >; 46*f126890aSEmmanuel Vadot }; 47*f126890aSEmmanuel Vadot 48*f126890aSEmmanuel Vadot cpu@1 { 49*f126890aSEmmanuel Vadot compatible = "marvell,pj4b"; 50*f126890aSEmmanuel Vadot device_type = "cpu"; 51*f126890aSEmmanuel Vadot next-level-cache = <&l2>; 52*f126890aSEmmanuel Vadot reg = <1>; 53*f126890aSEmmanuel Vadot 54*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CPU>; 55*f126890aSEmmanuel Vadot clock-latency = <100000>; 56*f126890aSEmmanuel Vadot operating-points = < 57*f126890aSEmmanuel Vadot /* kHz uV */ 58*f126890aSEmmanuel Vadot 1200000 1200000 59*f126890aSEmmanuel Vadot 1000000 1200000 60*f126890aSEmmanuel Vadot 800000 1200000 61*f126890aSEmmanuel Vadot 600000 1200000 62*f126890aSEmmanuel Vadot >; 63*f126890aSEmmanuel Vadot }; 64*f126890aSEmmanuel Vadot }; 65*f126890aSEmmanuel Vadot 66*f126890aSEmmanuel Vadot refclk: oscillator { 67*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 68*f126890aSEmmanuel Vadot #clock-cells = <0>; 69*f126890aSEmmanuel Vadot clock-frequency = <25000000>; 70*f126890aSEmmanuel Vadot }; 71*f126890aSEmmanuel Vadot 72*f126890aSEmmanuel Vadot soc@f7000000 { 73*f126890aSEmmanuel Vadot compatible = "simple-bus"; 74*f126890aSEmmanuel Vadot #address-cells = <1>; 75*f126890aSEmmanuel Vadot #size-cells = <1>; 76*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 77*f126890aSEmmanuel Vadot 78*f126890aSEmmanuel Vadot ranges = <0 0xf7000000 0x1000000>; 79*f126890aSEmmanuel Vadot 80*f126890aSEmmanuel Vadot sdhci0: mmc@ab0000 { 81*f126890aSEmmanuel Vadot compatible = "mrvl,pxav3-mmc"; 82*f126890aSEmmanuel Vadot reg = <0xab0000 0x200>; 83*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_SDIO0XIN>, <&chip_clk CLKID_SDIO0>; 84*f126890aSEmmanuel Vadot clock-names = "io", "core"; 85*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 86*f126890aSEmmanuel Vadot status = "disabled"; 87*f126890aSEmmanuel Vadot }; 88*f126890aSEmmanuel Vadot 89*f126890aSEmmanuel Vadot sdhci1: mmc@ab0800 { 90*f126890aSEmmanuel Vadot compatible = "mrvl,pxav3-mmc"; 91*f126890aSEmmanuel Vadot reg = <0xab0800 0x200>; 92*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_SDIO1XIN>, <&chip_clk CLKID_SDIO1>; 93*f126890aSEmmanuel Vadot clock-names = "io", "core"; 94*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 95*f126890aSEmmanuel Vadot status = "disabled"; 96*f126890aSEmmanuel Vadot }; 97*f126890aSEmmanuel Vadot 98*f126890aSEmmanuel Vadot sdhci2: mmc@ab1000 { 99*f126890aSEmmanuel Vadot compatible = "mrvl,pxav3-mmc"; 100*f126890aSEmmanuel Vadot reg = <0xab1000 0x200>; 101*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 102*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_NFC_ECC>, <&chip_clk CLKID_NFC>; 103*f126890aSEmmanuel Vadot clock-names = "io", "core"; 104*f126890aSEmmanuel Vadot pinctrl-0 = <&emmc_pmux>; 105*f126890aSEmmanuel Vadot pinctrl-names = "default"; 106*f126890aSEmmanuel Vadot status = "disabled"; 107*f126890aSEmmanuel Vadot }; 108*f126890aSEmmanuel Vadot 109*f126890aSEmmanuel Vadot l2: cache-controller@ac0000 { 110*f126890aSEmmanuel Vadot compatible = "marvell,tauros3-cache", "arm,pl310-cache"; 111*f126890aSEmmanuel Vadot reg = <0xac0000 0x1000>; 112*f126890aSEmmanuel Vadot cache-unified; 113*f126890aSEmmanuel Vadot cache-level = <2>; 114*f126890aSEmmanuel Vadot }; 115*f126890aSEmmanuel Vadot 116*f126890aSEmmanuel Vadot scu: snoop-control-unit@ad0000 { 117*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-scu"; 118*f126890aSEmmanuel Vadot reg = <0xad0000 0x58>; 119*f126890aSEmmanuel Vadot }; 120*f126890aSEmmanuel Vadot 121*f126890aSEmmanuel Vadot gic: interrupt-controller@ad1000 { 122*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-gic"; 123*f126890aSEmmanuel Vadot reg = <0xad1000 0x1000>, <0xad0100 0x0100>; 124*f126890aSEmmanuel Vadot interrupt-controller; 125*f126890aSEmmanuel Vadot #interrupt-cells = <3>; 126*f126890aSEmmanuel Vadot }; 127*f126890aSEmmanuel Vadot 128*f126890aSEmmanuel Vadot local-timer@ad0600 { 129*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-twd-timer"; 130*f126890aSEmmanuel Vadot reg = <0xad0600 0x20>; 131*f126890aSEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>; 132*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_TWD>; 133*f126890aSEmmanuel Vadot }; 134*f126890aSEmmanuel Vadot 135*f126890aSEmmanuel Vadot eth1: ethernet@b90000 { 136*f126890aSEmmanuel Vadot compatible = "marvell,pxa168-eth"; 137*f126890aSEmmanuel Vadot reg = <0xb90000 0x10000>; 138*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_GETH1>; 139*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 140*f126890aSEmmanuel Vadot /* set by bootloader */ 141*f126890aSEmmanuel Vadot local-mac-address = [00 00 00 00 00 00]; 142*f126890aSEmmanuel Vadot #address-cells = <1>; 143*f126890aSEmmanuel Vadot #size-cells = <0>; 144*f126890aSEmmanuel Vadot phy-connection-type = "mii"; 145*f126890aSEmmanuel Vadot phy-handle = <ðphy1>; 146*f126890aSEmmanuel Vadot status = "disabled"; 147*f126890aSEmmanuel Vadot 148*f126890aSEmmanuel Vadot ethphy1: ethernet-phy@0 { 149*f126890aSEmmanuel Vadot reg = <0>; 150*f126890aSEmmanuel Vadot }; 151*f126890aSEmmanuel Vadot }; 152*f126890aSEmmanuel Vadot 153*f126890aSEmmanuel Vadot cpu-ctrl@dd0000 { 154*f126890aSEmmanuel Vadot compatible = "marvell,berlin-cpu-ctrl"; 155*f126890aSEmmanuel Vadot reg = <0xdd0000 0x10000>; 156*f126890aSEmmanuel Vadot }; 157*f126890aSEmmanuel Vadot 158*f126890aSEmmanuel Vadot eth0: ethernet@e50000 { 159*f126890aSEmmanuel Vadot compatible = "marvell,pxa168-eth"; 160*f126890aSEmmanuel Vadot reg = <0xe50000 0x10000>; 161*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_GETH0>; 162*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 163*f126890aSEmmanuel Vadot /* set by bootloader */ 164*f126890aSEmmanuel Vadot local-mac-address = [00 00 00 00 00 00]; 165*f126890aSEmmanuel Vadot #address-cells = <1>; 166*f126890aSEmmanuel Vadot #size-cells = <0>; 167*f126890aSEmmanuel Vadot phy-connection-type = "mii"; 168*f126890aSEmmanuel Vadot phy-handle = <ðphy0>; 169*f126890aSEmmanuel Vadot status = "disabled"; 170*f126890aSEmmanuel Vadot 171*f126890aSEmmanuel Vadot ethphy0: ethernet-phy@0 { 172*f126890aSEmmanuel Vadot reg = <0>; 173*f126890aSEmmanuel Vadot }; 174*f126890aSEmmanuel Vadot }; 175*f126890aSEmmanuel Vadot 176*f126890aSEmmanuel Vadot apb@e80000 { 177*f126890aSEmmanuel Vadot compatible = "simple-bus"; 178*f126890aSEmmanuel Vadot #address-cells = <1>; 179*f126890aSEmmanuel Vadot #size-cells = <1>; 180*f126890aSEmmanuel Vadot 181*f126890aSEmmanuel Vadot ranges = <0 0xe80000 0x10000>; 182*f126890aSEmmanuel Vadot interrupt-parent = <&aic>; 183*f126890aSEmmanuel Vadot 184*f126890aSEmmanuel Vadot gpio0: gpio@400 { 185*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 186*f126890aSEmmanuel Vadot reg = <0x0400 0x400>; 187*f126890aSEmmanuel Vadot #address-cells = <1>; 188*f126890aSEmmanuel Vadot #size-cells = <0>; 189*f126890aSEmmanuel Vadot 190*f126890aSEmmanuel Vadot porta: gpio-port@0 { 191*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 192*f126890aSEmmanuel Vadot gpio-controller; 193*f126890aSEmmanuel Vadot #gpio-cells = <2>; 194*f126890aSEmmanuel Vadot ngpios = <8>; 195*f126890aSEmmanuel Vadot reg = <0>; 196*f126890aSEmmanuel Vadot interrupt-controller; 197*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 198*f126890aSEmmanuel Vadot interrupts = <0>; 199*f126890aSEmmanuel Vadot }; 200*f126890aSEmmanuel Vadot }; 201*f126890aSEmmanuel Vadot 202*f126890aSEmmanuel Vadot gpio1: gpio@800 { 203*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 204*f126890aSEmmanuel Vadot reg = <0x0800 0x400>; 205*f126890aSEmmanuel Vadot #address-cells = <1>; 206*f126890aSEmmanuel Vadot #size-cells = <0>; 207*f126890aSEmmanuel Vadot 208*f126890aSEmmanuel Vadot portb: gpio-port@1 { 209*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 210*f126890aSEmmanuel Vadot gpio-controller; 211*f126890aSEmmanuel Vadot #gpio-cells = <2>; 212*f126890aSEmmanuel Vadot ngpios = <8>; 213*f126890aSEmmanuel Vadot reg = <0>; 214*f126890aSEmmanuel Vadot interrupt-controller; 215*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 216*f126890aSEmmanuel Vadot interrupts = <1>; 217*f126890aSEmmanuel Vadot }; 218*f126890aSEmmanuel Vadot }; 219*f126890aSEmmanuel Vadot 220*f126890aSEmmanuel Vadot gpio2: gpio@c00 { 221*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 222*f126890aSEmmanuel Vadot reg = <0x0c00 0x400>; 223*f126890aSEmmanuel Vadot #address-cells = <1>; 224*f126890aSEmmanuel Vadot #size-cells = <0>; 225*f126890aSEmmanuel Vadot 226*f126890aSEmmanuel Vadot portc: gpio-port@2 { 227*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 228*f126890aSEmmanuel Vadot gpio-controller; 229*f126890aSEmmanuel Vadot #gpio-cells = <2>; 230*f126890aSEmmanuel Vadot ngpios = <8>; 231*f126890aSEmmanuel Vadot reg = <0>; 232*f126890aSEmmanuel Vadot interrupt-controller; 233*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 234*f126890aSEmmanuel Vadot interrupts = <2>; 235*f126890aSEmmanuel Vadot }; 236*f126890aSEmmanuel Vadot }; 237*f126890aSEmmanuel Vadot 238*f126890aSEmmanuel Vadot gpio3: gpio@1000 { 239*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 240*f126890aSEmmanuel Vadot reg = <0x1000 0x400>; 241*f126890aSEmmanuel Vadot #address-cells = <1>; 242*f126890aSEmmanuel Vadot #size-cells = <0>; 243*f126890aSEmmanuel Vadot 244*f126890aSEmmanuel Vadot portd: gpio-port@3 { 245*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 246*f126890aSEmmanuel Vadot gpio-controller; 247*f126890aSEmmanuel Vadot #gpio-cells = <2>; 248*f126890aSEmmanuel Vadot ngpios = <8>; 249*f126890aSEmmanuel Vadot reg = <0>; 250*f126890aSEmmanuel Vadot interrupt-controller; 251*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 252*f126890aSEmmanuel Vadot interrupts = <3>; 253*f126890aSEmmanuel Vadot }; 254*f126890aSEmmanuel Vadot }; 255*f126890aSEmmanuel Vadot 256*f126890aSEmmanuel Vadot timer0: timer@2c00 { 257*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 258*f126890aSEmmanuel Vadot reg = <0x2c00 0x14>; 259*f126890aSEmmanuel Vadot interrupts = <8>; 260*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CFG>; 261*f126890aSEmmanuel Vadot clock-names = "timer"; 262*f126890aSEmmanuel Vadot status = "okay"; 263*f126890aSEmmanuel Vadot }; 264*f126890aSEmmanuel Vadot 265*f126890aSEmmanuel Vadot timer1: timer@2c14 { 266*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 267*f126890aSEmmanuel Vadot reg = <0x2c14 0x14>; 268*f126890aSEmmanuel Vadot interrupts = <9>; 269*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CFG>; 270*f126890aSEmmanuel Vadot clock-names = "timer"; 271*f126890aSEmmanuel Vadot status = "okay"; 272*f126890aSEmmanuel Vadot }; 273*f126890aSEmmanuel Vadot 274*f126890aSEmmanuel Vadot timer2: timer@2c28 { 275*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 276*f126890aSEmmanuel Vadot reg = <0x2c28 0x14>; 277*f126890aSEmmanuel Vadot interrupts = <10>; 278*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CFG>; 279*f126890aSEmmanuel Vadot clock-names = "timer"; 280*f126890aSEmmanuel Vadot status = "disabled"; 281*f126890aSEmmanuel Vadot }; 282*f126890aSEmmanuel Vadot 283*f126890aSEmmanuel Vadot timer3: timer@2c3c { 284*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 285*f126890aSEmmanuel Vadot reg = <0x2c3c 0x14>; 286*f126890aSEmmanuel Vadot interrupts = <11>; 287*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CFG>; 288*f126890aSEmmanuel Vadot clock-names = "timer"; 289*f126890aSEmmanuel Vadot status = "disabled"; 290*f126890aSEmmanuel Vadot }; 291*f126890aSEmmanuel Vadot 292*f126890aSEmmanuel Vadot timer4: timer@2c50 { 293*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 294*f126890aSEmmanuel Vadot reg = <0x2c50 0x14>; 295*f126890aSEmmanuel Vadot interrupts = <12>; 296*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CFG>; 297*f126890aSEmmanuel Vadot clock-names = "timer"; 298*f126890aSEmmanuel Vadot status = "disabled"; 299*f126890aSEmmanuel Vadot }; 300*f126890aSEmmanuel Vadot 301*f126890aSEmmanuel Vadot timer5: timer@2c64 { 302*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 303*f126890aSEmmanuel Vadot reg = <0x2c64 0x14>; 304*f126890aSEmmanuel Vadot interrupts = <13>; 305*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CFG>; 306*f126890aSEmmanuel Vadot clock-names = "timer"; 307*f126890aSEmmanuel Vadot status = "disabled"; 308*f126890aSEmmanuel Vadot }; 309*f126890aSEmmanuel Vadot 310*f126890aSEmmanuel Vadot timer6: timer@2c78 { 311*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 312*f126890aSEmmanuel Vadot reg = <0x2c78 0x14>; 313*f126890aSEmmanuel Vadot interrupts = <14>; 314*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CFG>; 315*f126890aSEmmanuel Vadot clock-names = "timer"; 316*f126890aSEmmanuel Vadot status = "disabled"; 317*f126890aSEmmanuel Vadot }; 318*f126890aSEmmanuel Vadot 319*f126890aSEmmanuel Vadot timer7: timer@2c8c { 320*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 321*f126890aSEmmanuel Vadot reg = <0x2c8c 0x14>; 322*f126890aSEmmanuel Vadot interrupts = <15>; 323*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CFG>; 324*f126890aSEmmanuel Vadot clock-names = "timer"; 325*f126890aSEmmanuel Vadot status = "disabled"; 326*f126890aSEmmanuel Vadot }; 327*f126890aSEmmanuel Vadot 328*f126890aSEmmanuel Vadot aic: interrupt-controller@3000 { 329*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-ictl"; 330*f126890aSEmmanuel Vadot reg = <0x3000 0xc00>; 331*f126890aSEmmanuel Vadot interrupt-controller; 332*f126890aSEmmanuel Vadot #interrupt-cells = <1>; 333*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 334*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 335*f126890aSEmmanuel Vadot }; 336*f126890aSEmmanuel Vadot }; 337*f126890aSEmmanuel Vadot 338*f126890aSEmmanuel Vadot ahci: sata@e90000 { 339*f126890aSEmmanuel Vadot compatible = "marvell,berlin2-ahci", "generic-ahci"; 340*f126890aSEmmanuel Vadot reg = <0xe90000 0x1000>; 341*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 342*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_SATA>; 343*f126890aSEmmanuel Vadot #address-cells = <1>; 344*f126890aSEmmanuel Vadot #size-cells = <0>; 345*f126890aSEmmanuel Vadot 346*f126890aSEmmanuel Vadot sata0: sata-port@0 { 347*f126890aSEmmanuel Vadot reg = <0>; 348*f126890aSEmmanuel Vadot phys = <&sata_phy 0>; 349*f126890aSEmmanuel Vadot status = "disabled"; 350*f126890aSEmmanuel Vadot }; 351*f126890aSEmmanuel Vadot 352*f126890aSEmmanuel Vadot sata1: sata-port@1 { 353*f126890aSEmmanuel Vadot reg = <1>; 354*f126890aSEmmanuel Vadot phys = <&sata_phy 1>; 355*f126890aSEmmanuel Vadot status = "disabled"; 356*f126890aSEmmanuel Vadot }; 357*f126890aSEmmanuel Vadot }; 358*f126890aSEmmanuel Vadot 359*f126890aSEmmanuel Vadot sata_phy: phy@e900a0 { 360*f126890aSEmmanuel Vadot compatible = "marvell,berlin2-sata-phy"; 361*f126890aSEmmanuel Vadot reg = <0xe900a0 0x200>; 362*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_SATA>; 363*f126890aSEmmanuel Vadot #address-cells = <1>; 364*f126890aSEmmanuel Vadot #size-cells = <0>; 365*f126890aSEmmanuel Vadot #phy-cells = <1>; 366*f126890aSEmmanuel Vadot status = "disabled"; 367*f126890aSEmmanuel Vadot 368*f126890aSEmmanuel Vadot sata-phy@0 { 369*f126890aSEmmanuel Vadot reg = <0>; 370*f126890aSEmmanuel Vadot }; 371*f126890aSEmmanuel Vadot 372*f126890aSEmmanuel Vadot sata-phy@1 { 373*f126890aSEmmanuel Vadot reg = <1>; 374*f126890aSEmmanuel Vadot }; 375*f126890aSEmmanuel Vadot }; 376*f126890aSEmmanuel Vadot 377*f126890aSEmmanuel Vadot chip: chip-control@ea0000 { 378*f126890aSEmmanuel Vadot compatible = "simple-mfd", "syscon"; 379*f126890aSEmmanuel Vadot reg = <0xea0000 0x400>; 380*f126890aSEmmanuel Vadot 381*f126890aSEmmanuel Vadot chip_clk: clock { 382*f126890aSEmmanuel Vadot compatible = "marvell,berlin2-clk"; 383*f126890aSEmmanuel Vadot #clock-cells = <1>; 384*f126890aSEmmanuel Vadot clocks = <&refclk>; 385*f126890aSEmmanuel Vadot clock-names = "refclk"; 386*f126890aSEmmanuel Vadot }; 387*f126890aSEmmanuel Vadot 388*f126890aSEmmanuel Vadot soc_pinctrl: pin-controller { 389*f126890aSEmmanuel Vadot compatible = "marvell,berlin2-soc-pinctrl"; 390*f126890aSEmmanuel Vadot 391*f126890aSEmmanuel Vadot emmc_pmux: emmc-pmux { 392*f126890aSEmmanuel Vadot groups = "G26"; 393*f126890aSEmmanuel Vadot function = "emmc"; 394*f126890aSEmmanuel Vadot }; 395*f126890aSEmmanuel Vadot }; 396*f126890aSEmmanuel Vadot 397*f126890aSEmmanuel Vadot chip_rst: reset { 398*f126890aSEmmanuel Vadot compatible = "marvell,berlin2-reset"; 399*f126890aSEmmanuel Vadot #reset-cells = <2>; 400*f126890aSEmmanuel Vadot }; 401*f126890aSEmmanuel Vadot }; 402*f126890aSEmmanuel Vadot 403*f126890aSEmmanuel Vadot pwm: pwm@f20000 { 404*f126890aSEmmanuel Vadot compatible = "marvell,berlin-pwm"; 405*f126890aSEmmanuel Vadot reg = <0xf20000 0x40>; 406*f126890aSEmmanuel Vadot clocks = <&chip_clk CLKID_CFG>; 407*f126890aSEmmanuel Vadot #pwm-cells = <3>; 408*f126890aSEmmanuel Vadot }; 409*f126890aSEmmanuel Vadot 410*f126890aSEmmanuel Vadot apb@fc0000 { 411*f126890aSEmmanuel Vadot compatible = "simple-bus"; 412*f126890aSEmmanuel Vadot #address-cells = <1>; 413*f126890aSEmmanuel Vadot #size-cells = <1>; 414*f126890aSEmmanuel Vadot 415*f126890aSEmmanuel Vadot ranges = <0 0xfc0000 0x10000>; 416*f126890aSEmmanuel Vadot interrupt-parent = <&sic>; 417*f126890aSEmmanuel Vadot 418*f126890aSEmmanuel Vadot wdt0: watchdog@1000 { 419*f126890aSEmmanuel Vadot compatible = "snps,dw-wdt"; 420*f126890aSEmmanuel Vadot reg = <0x1000 0x100>; 421*f126890aSEmmanuel Vadot clocks = <&refclk>; 422*f126890aSEmmanuel Vadot interrupts = <0>; 423*f126890aSEmmanuel Vadot }; 424*f126890aSEmmanuel Vadot 425*f126890aSEmmanuel Vadot wdt1: watchdog@2000 { 426*f126890aSEmmanuel Vadot compatible = "snps,dw-wdt"; 427*f126890aSEmmanuel Vadot reg = <0x2000 0x100>; 428*f126890aSEmmanuel Vadot clocks = <&refclk>; 429*f126890aSEmmanuel Vadot interrupts = <1>; 430*f126890aSEmmanuel Vadot }; 431*f126890aSEmmanuel Vadot 432*f126890aSEmmanuel Vadot wdt2: watchdog@3000 { 433*f126890aSEmmanuel Vadot compatible = "snps,dw-wdt"; 434*f126890aSEmmanuel Vadot reg = <0x3000 0x100>; 435*f126890aSEmmanuel Vadot clocks = <&refclk>; 436*f126890aSEmmanuel Vadot interrupts = <2>; 437*f126890aSEmmanuel Vadot }; 438*f126890aSEmmanuel Vadot 439*f126890aSEmmanuel Vadot sm_gpio1: gpio@5000 { 440*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 441*f126890aSEmmanuel Vadot reg = <0x5000 0x400>; 442*f126890aSEmmanuel Vadot #address-cells = <1>; 443*f126890aSEmmanuel Vadot #size-cells = <0>; 444*f126890aSEmmanuel Vadot 445*f126890aSEmmanuel Vadot portf: gpio-port@5 { 446*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 447*f126890aSEmmanuel Vadot gpio-controller; 448*f126890aSEmmanuel Vadot #gpio-cells = <2>; 449*f126890aSEmmanuel Vadot ngpios = <8>; 450*f126890aSEmmanuel Vadot reg = <0>; 451*f126890aSEmmanuel Vadot }; 452*f126890aSEmmanuel Vadot }; 453*f126890aSEmmanuel Vadot 454*f126890aSEmmanuel Vadot sm_gpio0: gpio@c000 { 455*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 456*f126890aSEmmanuel Vadot reg = <0xc000 0x400>; 457*f126890aSEmmanuel Vadot #address-cells = <1>; 458*f126890aSEmmanuel Vadot #size-cells = <0>; 459*f126890aSEmmanuel Vadot 460*f126890aSEmmanuel Vadot porte: gpio-port@4 { 461*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 462*f126890aSEmmanuel Vadot gpio-controller; 463*f126890aSEmmanuel Vadot #gpio-cells = <2>; 464*f126890aSEmmanuel Vadot ngpios = <8>; 465*f126890aSEmmanuel Vadot reg = <0>; 466*f126890aSEmmanuel Vadot interrupt-controller; 467*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 468*f126890aSEmmanuel Vadot interrupts = <11>; 469*f126890aSEmmanuel Vadot }; 470*f126890aSEmmanuel Vadot }; 471*f126890aSEmmanuel Vadot 472*f126890aSEmmanuel Vadot uart0: serial@9000 { 473*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 474*f126890aSEmmanuel Vadot reg = <0x9000 0x100>; 475*f126890aSEmmanuel Vadot reg-shift = <2>; 476*f126890aSEmmanuel Vadot reg-io-width = <1>; 477*f126890aSEmmanuel Vadot interrupts = <8>; 478*f126890aSEmmanuel Vadot clocks = <&refclk>; 479*f126890aSEmmanuel Vadot pinctrl-0 = <&uart0_pmux>; 480*f126890aSEmmanuel Vadot pinctrl-names = "default"; 481*f126890aSEmmanuel Vadot status = "disabled"; 482*f126890aSEmmanuel Vadot }; 483*f126890aSEmmanuel Vadot 484*f126890aSEmmanuel Vadot uart1: serial@a000 { 485*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 486*f126890aSEmmanuel Vadot reg = <0xa000 0x100>; 487*f126890aSEmmanuel Vadot reg-shift = <2>; 488*f126890aSEmmanuel Vadot reg-io-width = <1>; 489*f126890aSEmmanuel Vadot interrupts = <9>; 490*f126890aSEmmanuel Vadot clocks = <&refclk>; 491*f126890aSEmmanuel Vadot pinctrl-0 = <&uart1_pmux>; 492*f126890aSEmmanuel Vadot pinctrl-names = "default"; 493*f126890aSEmmanuel Vadot status = "disabled"; 494*f126890aSEmmanuel Vadot }; 495*f126890aSEmmanuel Vadot 496*f126890aSEmmanuel Vadot uart2: serial@b000 { 497*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 498*f126890aSEmmanuel Vadot reg = <0xb000 0x100>; 499*f126890aSEmmanuel Vadot reg-shift = <2>; 500*f126890aSEmmanuel Vadot reg-io-width = <1>; 501*f126890aSEmmanuel Vadot interrupts = <10>; 502*f126890aSEmmanuel Vadot clocks = <&refclk>; 503*f126890aSEmmanuel Vadot pinctrl-0 = <&uart2_pmux>; 504*f126890aSEmmanuel Vadot pinctrl-names = "default"; 505*f126890aSEmmanuel Vadot status = "disabled"; 506*f126890aSEmmanuel Vadot }; 507*f126890aSEmmanuel Vadot 508*f126890aSEmmanuel Vadot sysctrl: system-controller@d000 { 509*f126890aSEmmanuel Vadot compatible = "simple-mfd", "syscon"; 510*f126890aSEmmanuel Vadot reg = <0xd000 0x100>; 511*f126890aSEmmanuel Vadot 512*f126890aSEmmanuel Vadot sys_pinctrl: pin-controller { 513*f126890aSEmmanuel Vadot compatible = "marvell,berlin2-system-pinctrl"; 514*f126890aSEmmanuel Vadot uart0_pmux: uart0-pmux { 515*f126890aSEmmanuel Vadot groups = "GSM4"; 516*f126890aSEmmanuel Vadot function = "uart0"; 517*f126890aSEmmanuel Vadot }; 518*f126890aSEmmanuel Vadot 519*f126890aSEmmanuel Vadot uart1_pmux: uart1-pmux { 520*f126890aSEmmanuel Vadot groups = "GSM5"; 521*f126890aSEmmanuel Vadot function = "uart1"; 522*f126890aSEmmanuel Vadot }; 523*f126890aSEmmanuel Vadot uart2_pmux: uart2-pmux { 524*f126890aSEmmanuel Vadot groups = "GSM3"; 525*f126890aSEmmanuel Vadot function = "uart2"; 526*f126890aSEmmanuel Vadot }; 527*f126890aSEmmanuel Vadot }; 528*f126890aSEmmanuel Vadot }; 529*f126890aSEmmanuel Vadot 530*f126890aSEmmanuel Vadot sic: interrupt-controller@e000 { 531*f126890aSEmmanuel Vadot compatible = "snps,dw-apb-ictl"; 532*f126890aSEmmanuel Vadot reg = <0xe000 0x400>; 533*f126890aSEmmanuel Vadot interrupt-controller; 534*f126890aSEmmanuel Vadot #interrupt-cells = <1>; 535*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 536*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 537*f126890aSEmmanuel Vadot }; 538*f126890aSEmmanuel Vadot }; 539*f126890aSEmmanuel Vadot }; 540*f126890aSEmmanuel Vadot}; 541