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