1292816a6SGregory CLEMENT// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2adbc3695SGregory CLEMENT/* 3adbc3695SGregory CLEMENT * Device Tree Include file for Marvell Armada 37xx family of SoCs. 4adbc3695SGregory CLEMENT * 5adbc3695SGregory CLEMENT * Copyright (C) 2016 Marvell 6adbc3695SGregory CLEMENT * 7adbc3695SGregory CLEMENT * Gregory CLEMENT <gregory.clement@free-electrons.com> 8adbc3695SGregory CLEMENT * 9adbc3695SGregory CLEMENT */ 10adbc3695SGregory CLEMENT 11adbc3695SGregory CLEMENT#include <dt-bindings/interrupt-controller/arm-gic.h> 12adbc3695SGregory CLEMENT 13adbc3695SGregory CLEMENT/ { 14adbc3695SGregory CLEMENT model = "Marvell Armada 37xx SoC"; 15adbc3695SGregory CLEMENT compatible = "marvell,armada3700"; 16adbc3695SGregory CLEMENT interrupt-parent = <&gic>; 17adbc3695SGregory CLEMENT #address-cells = <2>; 18adbc3695SGregory CLEMENT #size-cells = <2>; 19adbc3695SGregory CLEMENT 20adbc3695SGregory CLEMENT aliases { 21adbc3695SGregory CLEMENT serial0 = &uart0; 227c48dc20SMiquel Raynal serial1 = &uart1; 23adbc3695SGregory CLEMENT }; 24adbc3695SGregory CLEMENT 254436a371SVictor Gu reserved-memory { 264436a371SVictor Gu #address-cells = <2>; 274436a371SVictor Gu #size-cells = <2>; 284436a371SVictor Gu ranges; 294436a371SVictor Gu 304436a371SVictor Gu /* 314436a371SVictor Gu * The PSCI firmware region depicted below is the default one 324436a371SVictor Gu * and should be updated by the bootloader. 334436a371SVictor Gu */ 344436a371SVictor Gu psci-area@4000000 { 354436a371SVictor Gu reg = <0 0x4000000 0 0x200000>; 364436a371SVictor Gu no-map; 374436a371SVictor Gu }; 3899d2900fSKonstantin Porotchkin 3999d2900fSKonstantin Porotchkin tee@4400000 { 4099d2900fSKonstantin Porotchkin reg = <0 0x4400000 0 0x1000000>; 4199d2900fSKonstantin Porotchkin no-map; 4299d2900fSKonstantin Porotchkin }; 434436a371SVictor Gu }; 444436a371SVictor Gu 45adbc3695SGregory CLEMENT cpus { 46adbc3695SGregory CLEMENT #address-cells = <1>; 47adbc3695SGregory CLEMENT #size-cells = <0>; 4892e5d4e9SGregory CLEMENT cpu0: cpu@0 { 49adbc3695SGregory CLEMENT device_type = "cpu"; 5031af04cdSRob Herring compatible = "arm,cortex-a53"; 51adbc3695SGregory CLEMENT reg = <0>; 52e8d66e79SGregory CLEMENT clocks = <&nb_periph_clk 16>; 53adbc3695SGregory CLEMENT enable-method = "psci"; 54adbc3695SGregory CLEMENT }; 55adbc3695SGregory CLEMENT }; 56adbc3695SGregory CLEMENT 57adbc3695SGregory CLEMENT psci { 58adbc3695SGregory CLEMENT compatible = "arm,psci-0.2"; 59adbc3695SGregory CLEMENT method = "smc"; 60adbc3695SGregory CLEMENT }; 61adbc3695SGregory CLEMENT 62adbc3695SGregory CLEMENT timer { 63adbc3695SGregory CLEMENT compatible = "arm,armv8-timer"; 6488cda007SMarc Zyngier interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>, 6588cda007SMarc Zyngier <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>, 6688cda007SMarc Zyngier <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>, 6788cda007SMarc Zyngier <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>; 68adbc3695SGregory CLEMENT }; 69adbc3695SGregory CLEMENT 70395e66baSMarc Zyngier pmu { 71395e66baSMarc Zyngier compatible = "arm,armv8-pmuv3"; 72395e66baSMarc Zyngier interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; 73395e66baSMarc Zyngier }; 74395e66baSMarc Zyngier 75adbc3695SGregory CLEMENT soc { 76adbc3695SGregory CLEMENT compatible = "simple-bus"; 77adbc3695SGregory CLEMENT #address-cells = <2>; 78adbc3695SGregory CLEMENT #size-cells = <2>; 79adbc3695SGregory CLEMENT ranges; 80adbc3695SGregory CLEMENT 81ee5d5619SGregory CLEMENT internal-regs@d0000000 { 82adbc3695SGregory CLEMENT #address-cells = <1>; 83adbc3695SGregory CLEMENT #size-cells = <1>; 84adbc3695SGregory CLEMENT compatible = "simple-bus"; 85adbc3695SGregory CLEMENT /* 32M internal register @ 0xd000_0000 */ 86adbc3695SGregory CLEMENT ranges = <0x0 0x0 0xd0000000 0x2000000>; 87adbc3695SGregory CLEMENT 88620cfb31SMarek Behún wdt: watchdog@8300 { 89620cfb31SMarek Behún compatible = "marvell,armada-3700-wdt"; 90620cfb31SMarek Behún reg = <0x8300 0x40>; 91620cfb31SMarek Behún marvell,system-controller = <&cpu_misc>; 92620cfb31SMarek Behún clocks = <&xtalclk>; 93620cfb31SMarek Behún }; 94620cfb31SMarek Behún 95620cfb31SMarek Behún cpu_misc: system-controller@d000 { 96620cfb31SMarek Behún compatible = "marvell,armada-3700-cpu-misc", 97620cfb31SMarek Behún "syscon"; 98620cfb31SMarek Behún reg = <0xd000 0x1000>; 99620cfb31SMarek Behún }; 100620cfb31SMarek Behún 101e09dfa8fSRomain Perier spi0: spi@10600 { 102e09dfa8fSRomain Perier compatible = "marvell,armada-3700-spi"; 103e09dfa8fSRomain Perier #address-cells = <1>; 104e09dfa8fSRomain Perier #size-cells = <0>; 105e09dfa8fSRomain Perier reg = <0x10600 0xA00>; 106e09dfa8fSRomain Perier clocks = <&nb_periph_clk 7>; 107e09dfa8fSRomain Perier interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 108e09dfa8fSRomain Perier num-cs = <4>; 109e09dfa8fSRomain Perier status = "disabled"; 110e09dfa8fSRomain Perier }; 111e09dfa8fSRomain Perier 112c7d7ea67SRomain Perier i2c0: i2c@11000 { 113c7d7ea67SRomain Perier compatible = "marvell,armada-3700-i2c"; 114c7d7ea67SRomain Perier reg = <0x11000 0x24>; 1150ddd48deSGregory CLEMENT #address-cells = <1>; 1160ddd48deSGregory CLEMENT #size-cells = <0>; 117c7d7ea67SRomain Perier clocks = <&nb_periph_clk 10>; 118c7d7ea67SRomain Perier interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 119c7d7ea67SRomain Perier mrvl,i2c-fast-mode; 120c7d7ea67SRomain Perier status = "disabled"; 121c7d7ea67SRomain Perier }; 122c7d7ea67SRomain Perier 123c7d7ea67SRomain Perier i2c1: i2c@11080 { 124c7d7ea67SRomain Perier compatible = "marvell,armada-3700-i2c"; 125c7d7ea67SRomain Perier reg = <0x11080 0x24>; 1260ddd48deSGregory CLEMENT #address-cells = <1>; 1270ddd48deSGregory CLEMENT #size-cells = <0>; 128c7d7ea67SRomain Perier clocks = <&nb_periph_clk 9>; 129c7d7ea67SRomain Perier interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 130c7d7ea67SRomain Perier mrvl,i2c-fast-mode; 131c7d7ea67SRomain Perier status = "disabled"; 132c7d7ea67SRomain Perier }; 133c7d7ea67SRomain Perier 134d970737fSGregory CLEMENT avs: avs@11500 { 135d970737fSGregory CLEMENT compatible = "marvell,armada-3700-avs", 136d970737fSGregory CLEMENT "syscon"; 137d970737fSGregory CLEMENT reg = <0x11500 0x40>; 138d970737fSGregory CLEMENT }; 139d970737fSGregory CLEMENT 140c77a6ac8SPali Rohár uartclk: clock-controller@12010 { 141c77a6ac8SPali Rohár compatible = "marvell,armada-3700-uart-clock"; 142c77a6ac8SPali Rohár reg = <0x12010 0x4>, <0x12210 0x4>; 143c77a6ac8SPali Rohár clocks = <&tbg 0>, <&tbg 1>, <&tbg 2>, 144c77a6ac8SPali Rohár <&tbg 3>, <&xtalclk>; 145c77a6ac8SPali Rohár clock-names = "TBG-A-P", "TBG-B-P", "TBG-A-S", 146c77a6ac8SPali Rohár "TBG-B-S", "xtal"; 147c77a6ac8SPali Rohár #clock-cells = <1>; 148c77a6ac8SPali Rohár }; 149c77a6ac8SPali Rohár 150adbc3695SGregory CLEMENT uart0: serial@12000 { 151adbc3695SGregory CLEMENT compatible = "marvell,armada-3700-uart"; 1522cbfdedeSPali Rohár reg = <0x12000 0x18>; 153c77a6ac8SPali Rohár clocks = <&uartclk 0>; 1547c48dc20SMiquel Raynal interrupts = 1557c48dc20SMiquel Raynal <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 1567c48dc20SMiquel Raynal <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 1577c48dc20SMiquel Raynal <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 1587c48dc20SMiquel Raynal interrupt-names = "uart-sum", "uart-tx", "uart-rx"; 1597c48dc20SMiquel Raynal status = "disabled"; 1607c48dc20SMiquel Raynal }; 1617c48dc20SMiquel Raynal 1627c48dc20SMiquel Raynal uart1: serial@12200 { 1637c48dc20SMiquel Raynal compatible = "marvell,armada-3700-uart-ext"; 1647c48dc20SMiquel Raynal reg = <0x12200 0x30>; 165c77a6ac8SPali Rohár clocks = <&uartclk 1>; 1667c48dc20SMiquel Raynal interrupts = 1677c48dc20SMiquel Raynal <GIC_SPI 30 IRQ_TYPE_EDGE_RISING>, 1687c48dc20SMiquel Raynal <GIC_SPI 31 IRQ_TYPE_EDGE_RISING>; 1697c48dc20SMiquel Raynal interrupt-names = "uart-tx", "uart-rx"; 170adbc3695SGregory CLEMENT status = "disabled"; 171adbc3695SGregory CLEMENT }; 172adbc3695SGregory CLEMENT 17329f0c9edSGregory CLEMENT nb_periph_clk: nb-periph-clk@13000 { 1741d88358aSMarek Behún compatible = "marvell,armada-3700-periph-clock-nb", 1751d88358aSMarek Behún "syscon"; 1765f4beef6SGregory CLEMENT reg = <0x13000 0x100>; 1775f4beef6SGregory CLEMENT clocks = <&tbg 0>, <&tbg 1>, <&tbg 2>, 1785f4beef6SGregory CLEMENT <&tbg 3>, <&xtalclk>; 1795f4beef6SGregory CLEMENT #clock-cells = <1>; 1805f4beef6SGregory CLEMENT }; 1815f4beef6SGregory CLEMENT 18229f0c9edSGregory CLEMENT sb_periph_clk: sb-periph-clk@18000 { 1835f4beef6SGregory CLEMENT compatible = "marvell,armada-3700-periph-clock-sb"; 1845f4beef6SGregory CLEMENT reg = <0x18000 0x100>; 1855f4beef6SGregory CLEMENT clocks = <&tbg 0>, <&tbg 1>, <&tbg 2>, 1865f4beef6SGregory CLEMENT <&tbg 3>, <&xtalclk>; 1875f4beef6SGregory CLEMENT #clock-cells = <1>; 1885f4beef6SGregory CLEMENT }; 1895f4beef6SGregory CLEMENT 190e3e1a55eSGregory CLEMENT tbg: tbg@13200 { 191e3e1a55eSGregory CLEMENT compatible = "marvell,armada-3700-tbg-clock"; 192e3e1a55eSGregory CLEMENT reg = <0x13200 0x100>; 193e3e1a55eSGregory CLEMENT clocks = <&xtalclk>; 194e3e1a55eSGregory CLEMENT #clock-cells = <1>; 195e3e1a55eSGregory CLEMENT }; 196e3e1a55eSGregory CLEMENT 197afda007fSGregory CLEMENT pinctrl_nb: pinctrl@13800 { 198afda007fSGregory CLEMENT compatible = "marvell,armada3710-nb-pinctrl", 199ddeba40bSGregory CLEMENT "syscon", "simple-mfd"; 200afda007fSGregory CLEMENT reg = <0x13800 0x100>, <0x13C00 0x20>; 201bd473ecdSUwe Kleine-König /* MPP1[19:0] */ 202afda007fSGregory CLEMENT gpionb: gpio { 203afda007fSGregory CLEMENT #gpio-cells = <2>; 204afda007fSGregory CLEMENT gpio-ranges = <&pinctrl_nb 0 0 36>; 205afda007fSGregory CLEMENT gpio-controller; 206bd473ecdSUwe Kleine-König interrupt-controller; 207bd473ecdSUwe Kleine-König #interrupt-cells = <2>; 208afda007fSGregory CLEMENT interrupts = 209afda007fSGregory CLEMENT <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>, 210afda007fSGregory CLEMENT <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>, 211afda007fSGregory CLEMENT <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, 212afda007fSGregory CLEMENT <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, 213afda007fSGregory CLEMENT <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, 214afda007fSGregory CLEMENT <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, 215afda007fSGregory CLEMENT <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>, 216afda007fSGregory CLEMENT <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, 217afda007fSGregory CLEMENT <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>, 218afda007fSGregory CLEMENT <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>, 219afda007fSGregory CLEMENT <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>, 220afda007fSGregory CLEMENT <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>; 221afda007fSGregory CLEMENT }; 222ddeba40bSGregory CLEMENT 223ddeba40bSGregory CLEMENT xtalclk: xtal-clk { 224ddeba40bSGregory CLEMENT compatible = "marvell,armada-3700-xtal-clock"; 225ddeba40bSGregory CLEMENT clock-output-names = "xtal"; 226ddeba40bSGregory CLEMENT #clock-cells = <0>; 227ddeba40bSGregory CLEMENT }; 2286a680783SGregory CLEMENT 2296a680783SGregory CLEMENT spi_quad_pins: spi-quad-pins { 2306a680783SGregory CLEMENT groups = "spi_quad"; 2316a680783SGregory CLEMENT function = "spi"; 2326a680783SGregory CLEMENT }; 2336a680783SGregory CLEMENT 2348ef75105SMarek Behún spi_cs1_pins: spi-cs1-pins { 2358ef75105SMarek Behún groups = "spi_cs1"; 2368ef75105SMarek Behún function = "spi"; 2378ef75105SMarek Behún }; 2388ef75105SMarek Behún 2396a680783SGregory CLEMENT i2c1_pins: i2c1-pins { 2406a680783SGregory CLEMENT groups = "i2c1"; 2416a680783SGregory CLEMENT function = "i2c"; 2426a680783SGregory CLEMENT }; 2436a680783SGregory CLEMENT 2446a680783SGregory CLEMENT i2c2_pins: i2c2-pins { 2456a680783SGregory CLEMENT groups = "i2c2"; 2466a680783SGregory CLEMENT function = "i2c"; 2476a680783SGregory CLEMENT }; 2486a680783SGregory CLEMENT 2496a680783SGregory CLEMENT uart1_pins: uart1-pins { 2506a680783SGregory CLEMENT groups = "uart1"; 2516a680783SGregory CLEMENT function = "uart"; 2526a680783SGregory CLEMENT }; 2536a680783SGregory CLEMENT 2546a680783SGregory CLEMENT uart2_pins: uart2-pins { 2556a680783SGregory CLEMENT groups = "uart2"; 2566a680783SGregory CLEMENT function = "uart"; 2576a680783SGregory CLEMENT }; 258eefe3284SDing Tao 259eefe3284SDing Tao mmc_pins: mmc-pins { 260eefe3284SDing Tao groups = "emmc_nb"; 261eefe3284SDing Tao function = "emmc"; 262eefe3284SDing Tao }; 263ddeba40bSGregory CLEMENT }; 264ddeba40bSGregory CLEMENT 265e8d66e79SGregory CLEMENT nb_pm: syscon@14000 { 266e8d66e79SGregory CLEMENT compatible = "marvell,armada-3700-nb-pm", 267e8d66e79SGregory CLEMENT "syscon"; 268e8d66e79SGregory CLEMENT reg = <0x14000 0x60>; 269e8d66e79SGregory CLEMENT }; 270e8d66e79SGregory CLEMENT 2712ef303f0SMiquel Raynal comphy: phy@18300 { 2722ef303f0SMiquel Raynal compatible = "marvell,comphy-a3700"; 2732ef303f0SMiquel Raynal reg = <0x18300 0x300>, 2742ef303f0SMiquel Raynal <0x1F000 0x400>, 2752ef303f0SMiquel Raynal <0x5C000 0x400>, 2762ef303f0SMiquel Raynal <0xe0178 0x8>; 2772ef303f0SMiquel Raynal reg-names = "comphy", 2782ef303f0SMiquel Raynal "lane1_pcie_gbe", 2792ef303f0SMiquel Raynal "lane0_usb3_gbe", 2802ef303f0SMiquel Raynal "lane2_sata_usb3"; 2812ef303f0SMiquel Raynal #address-cells = <1>; 2822ef303f0SMiquel Raynal #size-cells = <0>; 28373a78b61SPali Rohár clocks = <&xtalclk>; 28473a78b61SPali Rohár clock-names = "xtal"; 2852ef303f0SMiquel Raynal 2862ef303f0SMiquel Raynal comphy0: phy@0 { 2872ef303f0SMiquel Raynal reg = <0>; 2882ef303f0SMiquel Raynal #phy-cells = <1>; 2892ef303f0SMiquel Raynal }; 2902ef303f0SMiquel Raynal 2912ef303f0SMiquel Raynal comphy1: phy@1 { 2922ef303f0SMiquel Raynal reg = <1>; 2932ef303f0SMiquel Raynal #phy-cells = <1>; 2942ef303f0SMiquel Raynal }; 2952ef303f0SMiquel Raynal 2962ef303f0SMiquel Raynal comphy2: phy@2 { 2972ef303f0SMiquel Raynal reg = <2>; 2982ef303f0SMiquel Raynal #phy-cells = <1>; 2992ef303f0SMiquel Raynal }; 3002ef303f0SMiquel Raynal }; 3012ef303f0SMiquel Raynal 302afda007fSGregory CLEMENT pinctrl_sb: pinctrl@18800 { 303afda007fSGregory CLEMENT compatible = "marvell,armada3710-sb-pinctrl", 304afda007fSGregory CLEMENT "syscon", "simple-mfd"; 305afda007fSGregory CLEMENT reg = <0x18800 0x100>, <0x18C00 0x20>; 306bd473ecdSUwe Kleine-König /* MPP2[23:0] */ 307afda007fSGregory CLEMENT gpiosb: gpio { 308afda007fSGregory CLEMENT #gpio-cells = <2>; 309d7a65c49SGregory CLEMENT gpio-ranges = <&pinctrl_sb 0 0 30>; 310afda007fSGregory CLEMENT gpio-controller; 311bd473ecdSUwe Kleine-König interrupt-controller; 312bd473ecdSUwe Kleine-König #interrupt-cells = <2>; 313afda007fSGregory CLEMENT interrupts = 314afda007fSGregory CLEMENT <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>, 315afda007fSGregory CLEMENT <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>, 316afda007fSGregory CLEMENT <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>, 317afda007fSGregory CLEMENT <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>, 318afda007fSGregory CLEMENT <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>; 319afda007fSGregory CLEMENT }; 3206a680783SGregory CLEMENT 3216a680783SGregory CLEMENT rgmii_pins: mii-pins { 3226a680783SGregory CLEMENT groups = "rgmii"; 3236a680783SGregory CLEMENT function = "mii"; 3246a680783SGregory CLEMENT }; 3256a680783SGregory CLEMENT 3264f63b1c3SRemi Pommarel smi_pins: smi-pins { 3274f63b1c3SRemi Pommarel groups = "smi"; 3284f63b1c3SRemi Pommarel function = "smi"; 3294f63b1c3SRemi Pommarel }; 3304f63b1c3SRemi Pommarel 331eefe3284SDing Tao sdio_pins: sdio-pins { 332eefe3284SDing Tao groups = "sdio_sb"; 333eefe3284SDing Tao function = "sdio"; 334eefe3284SDing Tao }; 335eefe3284SDing Tao 336a5470af9SMiquel Raynal pcie_reset_pins: pcie-reset-pins { 3370c0a41fbSPali Rohár groups = "pcie1"; /* this actually controls "pcie1_reset" */ 33871587801SMarek Behún function = "gpio"; 339a5470af9SMiquel Raynal }; 340a5470af9SMiquel Raynal 341a5470af9SMiquel Raynal pcie_clkreq_pins: pcie-clkreq-pins { 342a5470af9SMiquel Raynal groups = "pcie1_clkreq"; 343a5470af9SMiquel Raynal function = "pcie"; 344a5470af9SMiquel Raynal }; 34519b67d5cSGregory CLEMENT }; 34619b67d5cSGregory CLEMENT 347ea7ae885SGregory CLEMENT eth0: ethernet@30000 { 348ea7ae885SGregory CLEMENT compatible = "marvell,armada-3700-neta"; 349ea7ae885SGregory CLEMENT reg = <0x30000 0x4000>; 350ea7ae885SGregory CLEMENT interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 351ea7ae885SGregory CLEMENT clocks = <&sb_periph_clk 8>; 352ea7ae885SGregory CLEMENT status = "disabled"; 353ea7ae885SGregory CLEMENT }; 354ea7ae885SGregory CLEMENT 355ea7ae885SGregory CLEMENT mdio: mdio@32004 { 356ea7ae885SGregory CLEMENT #address-cells = <1>; 357ea7ae885SGregory CLEMENT #size-cells = <0>; 358ea7ae885SGregory CLEMENT compatible = "marvell,orion-mdio"; 359ea7ae885SGregory CLEMENT reg = <0x32004 0x4>; 360ea7ae885SGregory CLEMENT }; 361ea7ae885SGregory CLEMENT 362ea7ae885SGregory CLEMENT eth1: ethernet@40000 { 363ea7ae885SGregory CLEMENT compatible = "marvell,armada-3700-neta"; 364ea7ae885SGregory CLEMENT reg = <0x40000 0x4000>; 365ea7ae885SGregory CLEMENT interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 366ea7ae885SGregory CLEMENT clocks = <&sb_periph_clk 7>; 367ea7ae885SGregory CLEMENT status = "disabled"; 368ea7ae885SGregory CLEMENT }; 369ea7ae885SGregory CLEMENT 370cc2684c4SAndreas Färber usb3: usb@58000 { 371150fa112SGregory CLEMENT compatible = "marvell,armada3700-xhci", 372150fa112SGregory CLEMENT "generic-xhci"; 373adbc3695SGregory CLEMENT reg = <0x58000 0x4000>; 37405d168a5SMiquel Raynal marvell,usb-misc-reg = <&usb32_syscon>; 37586fcb2bcSGregory CLEMENT interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 376e4afb480SGregory CLEMENT clocks = <&sb_periph_clk 12>; 377bd3d25b0SMiquel Raynal phys = <&comphy0 0>, <&usb2_utmi_otg_phy>; 378bd3d25b0SMiquel Raynal phy-names = "usb3-phy", "usb2-utmi-otg-phy"; 379adbc3695SGregory CLEMENT status = "disabled"; 380adbc3695SGregory CLEMENT }; 381adbc3695SGregory CLEMENT 38205d168a5SMiquel Raynal usb2_utmi_otg_phy: phy@5d000 { 38305d168a5SMiquel Raynal compatible = "marvell,a3700-utmi-otg-phy"; 38405d168a5SMiquel Raynal reg = <0x5d000 0x800>; 38505d168a5SMiquel Raynal marvell,usb-misc-reg = <&usb32_syscon>; 38605d168a5SMiquel Raynal #phy-cells = <0>; 38705d168a5SMiquel Raynal }; 38805d168a5SMiquel Raynal 38905d168a5SMiquel Raynal usb32_syscon: system-controller@5d800 { 39005d168a5SMiquel Raynal compatible = "marvell,armada-3700-usb2-host-device-misc", 39105d168a5SMiquel Raynal "syscon"; 39205d168a5SMiquel Raynal reg = <0x5d800 0x800>; 39305d168a5SMiquel Raynal }; 39405d168a5SMiquel Raynal 3954fc056edSGregory CLEMENT usb2: usb@5e000 { 3964fc056edSGregory CLEMENT compatible = "marvell,armada-3700-ehci"; 397b3ad58bcSMiquel Raynal reg = <0x5e000 0x1000>; 39805d168a5SMiquel Raynal marvell,usb-misc-reg = <&usb2_syscon>; 3994fc056edSGregory CLEMENT interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 400bd3d25b0SMiquel Raynal phys = <&usb2_utmi_host_phy>; 401bd3d25b0SMiquel Raynal phy-names = "usb2-utmi-host-phy"; 4024fc056edSGregory CLEMENT status = "disabled"; 4034fc056edSGregory CLEMENT }; 4044fc056edSGregory CLEMENT 40505d168a5SMiquel Raynal usb2_utmi_host_phy: phy@5f000 { 40605d168a5SMiquel Raynal compatible = "marvell,a3700-utmi-host-phy"; 40705d168a5SMiquel Raynal reg = <0x5f000 0x800>; 40805d168a5SMiquel Raynal marvell,usb-misc-reg = <&usb2_syscon>; 40905d168a5SMiquel Raynal #phy-cells = <0>; 41005d168a5SMiquel Raynal }; 41105d168a5SMiquel Raynal 41205d168a5SMiquel Raynal usb2_syscon: system-controller@5f800 { 41305d168a5SMiquel Raynal compatible = "marvell,armada-3700-usb2-host-misc", 41405d168a5SMiquel Raynal "syscon"; 41505d168a5SMiquel Raynal reg = <0x5f800 0x800>; 41605d168a5SMiquel Raynal }; 41705d168a5SMiquel Raynal 41819b67d5cSGregory CLEMENT xor@60900 { 41919b67d5cSGregory CLEMENT compatible = "marvell,armada-3700-xor"; 420e9bfac54SGregory CLEMENT reg = <0x60900 0x100>, 421e9bfac54SGregory CLEMENT <0x60b00 0x100>; 42219b67d5cSGregory CLEMENT 42319b67d5cSGregory CLEMENT xor10 { 42419b67d5cSGregory CLEMENT interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 42519b67d5cSGregory CLEMENT }; 42619b67d5cSGregory CLEMENT xor11 { 42719b67d5cSGregory CLEMENT interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 42819b67d5cSGregory CLEMENT }; 42919b67d5cSGregory CLEMENT }; 43019b67d5cSGregory CLEMENT 431e2707a28SAntoine Tenart crypto: crypto@90000 { 432c462f6c7SAntoine Tenart compatible = "inside-secure,safexcel-eip97ies"; 433e2707a28SAntoine Tenart reg = <0x90000 0x20000>; 434*d6433a9cSRafał Miłecki interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>, 435e2707a28SAntoine Tenart <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>, 436e2707a28SAntoine Tenart <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>, 437e2707a28SAntoine Tenart <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>, 438*d6433a9cSRafał Miłecki <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>, 439*d6433a9cSRafał Miłecki <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 440*d6433a9cSRafał Miłecki interrupt-names = "ring0", "ring1", "ring2", 441*d6433a9cSRafał Miłecki "ring3", "eip", "mem"; 442e2707a28SAntoine Tenart clocks = <&nb_periph_clk 15>; 443e2707a28SAntoine Tenart }; 444e2707a28SAntoine Tenart 445535462c2SMarek Behún rwtm: mailbox@b0000 { 446535462c2SMarek Behún compatible = "marvell,armada-3700-rwtm-mailbox"; 447535462c2SMarek Behún reg = <0xb0000 0x100>; 448535462c2SMarek Behún interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 449535462c2SMarek Behún #mbox-cells = <1>; 450535462c2SMarek Behún }; 451535462c2SMarek Behún 452239466bdSChris Packham sdhci1: mmc@d0000 { 4531208d2f0SKonstantin Porotchkin compatible = "marvell,armada-3700-sdhci", 4541208d2f0SKonstantin Porotchkin "marvell,sdhci-xenon"; 4551208d2f0SKonstantin Porotchkin reg = <0xd0000 0x300>, 4561208d2f0SKonstantin Porotchkin <0x1e808 0x4>; 4571208d2f0SKonstantin Porotchkin interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 4581208d2f0SKonstantin Porotchkin clocks = <&nb_periph_clk 0>; 4591208d2f0SKonstantin Porotchkin clock-names = "core"; 4601208d2f0SKonstantin Porotchkin status = "disabled"; 4611208d2f0SKonstantin Porotchkin }; 4621208d2f0SKonstantin Porotchkin 463239466bdSChris Packham sdhci0: mmc@d8000 { 46453e74778SGregory CLEMENT compatible = "marvell,armada-3700-sdhci", 46553e74778SGregory CLEMENT "marvell,sdhci-xenon"; 466e9bfac54SGregory CLEMENT reg = <0xd8000 0x300>, 467e9bfac54SGregory CLEMENT <0x17808 0x4>; 46853e74778SGregory CLEMENT interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 46953e74778SGregory CLEMENT clocks = <&nb_periph_clk 0>; 47053e74778SGregory CLEMENT clock-names = "core"; 47153e74778SGregory CLEMENT status = "disabled"; 47253e74778SGregory CLEMENT }; 47353e74778SGregory CLEMENT 4747b01cff5SAndreas Färber sata: sata@e0000 { 475adbc3695SGregory CLEMENT compatible = "marvell,armada-3700-ahci"; 476d68def52SMiquel Raynal reg = <0xe0000 0x178>; 477adbc3695SGregory CLEMENT interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 47802967b85SMiquel Raynal clocks = <&nb_periph_clk 1>; 4796ece0f7dSPali Rohár phys = <&comphy2 0>; 4806ece0f7dSPali Rohár phy-names = "sata-phy"; 481adbc3695SGregory CLEMENT status = "disabled"; 482adbc3695SGregory CLEMENT }; 483adbc3695SGregory CLEMENT 484adbc3695SGregory CLEMENT gic: interrupt-controller@1d00000 { 485adbc3695SGregory CLEMENT compatible = "arm,gic-v3"; 486adbc3695SGregory CLEMENT #interrupt-cells = <3>; 487adbc3695SGregory CLEMENT interrupt-controller; 488adbc3695SGregory CLEMENT reg = <0x1d00000 0x10000>, /* GICD */ 4895f926e88SMarc Zyngier <0x1d40000 0x40000>, /* GICR */ 4905f926e88SMarc Zyngier <0x1d80000 0x2000>, /* GICC */ 4915f926e88SMarc Zyngier <0x1d90000 0x2000>, /* GICH */ 4925f926e88SMarc Zyngier <0x1da0000 0x20000>; /* GICV */ 49395696d29SMarc Zyngier interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 494adbc3695SGregory CLEMENT }; 495adbc3695SGregory CLEMENT }; 49676f6386bSThomas Petazzoni 49776f6386bSThomas Petazzoni pcie0: pcie@d0070000 { 49876f6386bSThomas Petazzoni compatible = "marvell,armada-3700-pcie"; 49976f6386bSThomas Petazzoni device_type = "pci"; 50076f6386bSThomas Petazzoni status = "disabled"; 50176f6386bSThomas Petazzoni reg = <0 0xd0070000 0 0x20000>; 50276f6386bSThomas Petazzoni #address-cells = <3>; 50376f6386bSThomas Petazzoni #size-cells = <2>; 50476f6386bSThomas Petazzoni bus-range = <0x00 0xff>; 50576f6386bSThomas Petazzoni interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 50676f6386bSThomas Petazzoni #interrupt-cells = <1>; 5075344930cSMarek Behún clocks = <&sb_periph_clk 13>; 50876f6386bSThomas Petazzoni msi-parent = <&pcie0>; 50976f6386bSThomas Petazzoni msi-controller; 510514ef1e6SPali Rohár /* 511514ef1e6SPali Rohár * The 128 MiB address range [0xe8000000-0xf0000000] is 512514ef1e6SPali Rohár * dedicated for PCIe and can be assigned to 8 windows 513514ef1e6SPali Rohár * with size a power of two. Use one 64 KiB window for 514514ef1e6SPali Rohár * IO at the end and the remaining seven windows 515514ef1e6SPali Rohár * (totaling 127 MiB) for MEM. 516514ef1e6SPali Rohár */ 517514ef1e6SPali Rohár ranges = <0x82000000 0 0xe8000000 0 0xe8000000 0 0x07f00000 /* Port 0 MEM */ 518a1cc1697SPali Rohár 0x81000000 0 0x00000000 0 0xefff0000 0 0x00010000>; /* Port 0 IO */ 51976f6386bSThomas Petazzoni interrupt-map-mask = <0 0 0 7>; 52076f6386bSThomas Petazzoni interrupt-map = <0 0 0 1 &pcie_intc 0>, 52176f6386bSThomas Petazzoni <0 0 0 2 &pcie_intc 1>, 52276f6386bSThomas Petazzoni <0 0 0 3 &pcie_intc 2>, 52376f6386bSThomas Petazzoni <0 0 0 4 &pcie_intc 3>; 5241b5a2dd9SPali Rohár max-link-speed = <2>; 525df749cdbSMarek Behún phys = <&comphy1 0>; 52676f6386bSThomas Petazzoni pcie_intc: interrupt-controller { 52776f6386bSThomas Petazzoni interrupt-controller; 52876f6386bSThomas Petazzoni #interrupt-cells = <1>; 52976f6386bSThomas Petazzoni }; 53076f6386bSThomas Petazzoni }; 531adbc3695SGregory CLEMENT }; 5323a52a489SPali Rohár 5333a52a489SPali Rohár firmware { 5343a52a489SPali Rohár armada-3700-rwtm { 5353a52a489SPali Rohár compatible = "marvell,armada-3700-rwtm-firmware"; 5363a52a489SPali Rohár mboxes = <&rwtm 0>; 5373a52a489SPali Rohár status = "okay"; 5383a52a489SPali Rohár }; 5393a52a489SPali Rohár }; 540adbc3695SGregory CLEMENT}; 541