172a3713fSThomas Petazzoni// SPDX-License-Identifier: (GPL-2.0+ OR X11) 272a3713fSThomas Petazzoni/* 372a3713fSThomas Petazzoni * Copyright (C) 2016 Marvell Technology Group Ltd. 472a3713fSThomas Petazzoni */ 572a3713fSThomas Petazzoni 672a3713fSThomas Petazzoni/* 772a3713fSThomas Petazzoni * Device Tree file for Marvell Armada CP110. 872a3713fSThomas Petazzoni */ 972a3713fSThomas Petazzoni 1072a3713fSThomas Petazzoni#include <dt-bindings/interrupt-controller/mvebu-icu.h> 1172a3713fSThomas Petazzoni 1272a3713fSThomas Petazzoni#include "armada-common.dtsi" 1372a3713fSThomas Petazzoni 1472a3713fSThomas Petazzoni#define CP110_PCIEx_IO_BASE(iface) (CP110_PCIE_IO_BASE + (iface * 0x10000)) 1572a3713fSThomas Petazzoni#define CP110_PCIEx_MEM_BASE(iface) (CP110_PCIE_MEM_BASE + (iface * 0x1000000)) 1672a3713fSThomas Petazzoni#define CP110_PCIEx_CONF_BASE(iface) (CP110_PCIEx_MEM_BASE(iface) + 0xf00000) 1772a3713fSThomas Petazzoni 1872a3713fSThomas Petazzoni/ { 1972a3713fSThomas Petazzoni /* 2072a3713fSThomas Petazzoni * The contents of the node are defined below, in order to 2172a3713fSThomas Petazzoni * save one indentation level 2272a3713fSThomas Petazzoni */ 2372a3713fSThomas Petazzoni CP110_NAME: CP110_NAME { }; 2472a3713fSThomas Petazzoni}; 2572a3713fSThomas Petazzoni 2672a3713fSThomas Petazzoni&CP110_NAME { 2772a3713fSThomas Petazzoni #address-cells = <2>; 2872a3713fSThomas Petazzoni #size-cells = <2>; 2972a3713fSThomas Petazzoni compatible = "simple-bus"; 3072a3713fSThomas Petazzoni interrupt-parent = <&CP110_LABEL(icu)>; 3172a3713fSThomas Petazzoni ranges; 3272a3713fSThomas Petazzoni 3372a3713fSThomas Petazzoni config-space@CP110_BASE { 3472a3713fSThomas Petazzoni #address-cells = <1>; 3572a3713fSThomas Petazzoni #size-cells = <1>; 3672a3713fSThomas Petazzoni compatible = "simple-bus"; 3772a3713fSThomas Petazzoni ranges = <0x0 0x0 ADDRESSIFY(CP110_BASE) 0x2000000>; 3872a3713fSThomas Petazzoni 3972a3713fSThomas Petazzoni CP110_LABEL(ethernet): ethernet@0 { 4072a3713fSThomas Petazzoni compatible = "marvell,armada-7k-pp22"; 4172a3713fSThomas Petazzoni reg = <0x0 0x100000>, <0x129000 0xb000>; 4272a3713fSThomas Petazzoni clocks = <&CP110_LABEL(clk) 1 3>, <&CP110_LABEL(clk) 1 9>, 4372a3713fSThomas Petazzoni <&CP110_LABEL(clk) 1 5>, <&CP110_LABEL(clk) 1 18>; 4472a3713fSThomas Petazzoni clock-names = "pp_clk", "gop_clk", 4572a3713fSThomas Petazzoni "mg_clk", "axi_clk"; 4672a3713fSThomas Petazzoni marvell,system-controller = <&CP110_LABEL(syscon0)>; 4772a3713fSThomas Petazzoni status = "disabled"; 4872a3713fSThomas Petazzoni dma-coherent; 4972a3713fSThomas Petazzoni 5072a3713fSThomas Petazzoni CP110_LABEL(eth0): eth0 { 5172a3713fSThomas Petazzoni interrupts = <ICU_GRP_NSR 39 IRQ_TYPE_LEVEL_HIGH>, 5272a3713fSThomas Petazzoni <ICU_GRP_NSR 43 IRQ_TYPE_LEVEL_HIGH>, 5372a3713fSThomas Petazzoni <ICU_GRP_NSR 47 IRQ_TYPE_LEVEL_HIGH>, 5472a3713fSThomas Petazzoni <ICU_GRP_NSR 51 IRQ_TYPE_LEVEL_HIGH>, 5572a3713fSThomas Petazzoni <ICU_GRP_NSR 55 IRQ_TYPE_LEVEL_HIGH>, 5672a3713fSThomas Petazzoni <ICU_GRP_NSR 129 IRQ_TYPE_LEVEL_HIGH>; 5772a3713fSThomas Petazzoni interrupt-names = "tx-cpu0", "tx-cpu1", "tx-cpu2", 5872a3713fSThomas Petazzoni "tx-cpu3", "rx-shared", "link"; 5972a3713fSThomas Petazzoni port-id = <0>; 6072a3713fSThomas Petazzoni gop-port-id = <0>; 6172a3713fSThomas Petazzoni status = "disabled"; 6272a3713fSThomas Petazzoni }; 6372a3713fSThomas Petazzoni 6472a3713fSThomas Petazzoni CP110_LABEL(eth1): eth1 { 6572a3713fSThomas Petazzoni interrupts = <ICU_GRP_NSR 40 IRQ_TYPE_LEVEL_HIGH>, 6672a3713fSThomas Petazzoni <ICU_GRP_NSR 44 IRQ_TYPE_LEVEL_HIGH>, 6772a3713fSThomas Petazzoni <ICU_GRP_NSR 48 IRQ_TYPE_LEVEL_HIGH>, 6872a3713fSThomas Petazzoni <ICU_GRP_NSR 52 IRQ_TYPE_LEVEL_HIGH>, 6972a3713fSThomas Petazzoni <ICU_GRP_NSR 56 IRQ_TYPE_LEVEL_HIGH>, 7072a3713fSThomas Petazzoni <ICU_GRP_NSR 128 IRQ_TYPE_LEVEL_HIGH>; 7172a3713fSThomas Petazzoni interrupt-names = "tx-cpu0", "tx-cpu1", "tx-cpu2", 7272a3713fSThomas Petazzoni "tx-cpu3", "rx-shared", "link"; 7372a3713fSThomas Petazzoni port-id = <1>; 7472a3713fSThomas Petazzoni gop-port-id = <2>; 7572a3713fSThomas Petazzoni status = "disabled"; 7672a3713fSThomas Petazzoni }; 7772a3713fSThomas Petazzoni 7872a3713fSThomas Petazzoni CP110_LABEL(eth2): eth2 { 7972a3713fSThomas Petazzoni interrupts = <ICU_GRP_NSR 41 IRQ_TYPE_LEVEL_HIGH>, 8072a3713fSThomas Petazzoni <ICU_GRP_NSR 45 IRQ_TYPE_LEVEL_HIGH>, 8172a3713fSThomas Petazzoni <ICU_GRP_NSR 49 IRQ_TYPE_LEVEL_HIGH>, 8272a3713fSThomas Petazzoni <ICU_GRP_NSR 53 IRQ_TYPE_LEVEL_HIGH>, 8372a3713fSThomas Petazzoni <ICU_GRP_NSR 57 IRQ_TYPE_LEVEL_HIGH>, 8472a3713fSThomas Petazzoni <ICU_GRP_NSR 127 IRQ_TYPE_LEVEL_HIGH>; 8572a3713fSThomas Petazzoni interrupt-names = "tx-cpu0", "tx-cpu1", "tx-cpu2", 8672a3713fSThomas Petazzoni "tx-cpu3", "rx-shared", "link"; 8772a3713fSThomas Petazzoni port-id = <2>; 8872a3713fSThomas Petazzoni gop-port-id = <3>; 8972a3713fSThomas Petazzoni status = "disabled"; 9072a3713fSThomas Petazzoni }; 9172a3713fSThomas Petazzoni }; 9272a3713fSThomas Petazzoni 9372a3713fSThomas Petazzoni CP110_LABEL(comphy): phy@120000 { 9472a3713fSThomas Petazzoni compatible = "marvell,comphy-cp110"; 9572a3713fSThomas Petazzoni reg = <0x120000 0x6000>; 9672a3713fSThomas Petazzoni marvell,system-controller = <&CP110_LABEL(syscon0)>; 9772a3713fSThomas Petazzoni #address-cells = <1>; 9872a3713fSThomas Petazzoni #size-cells = <0>; 9972a3713fSThomas Petazzoni 10072a3713fSThomas Petazzoni CP110_LABEL(comphy0): phy@0 { 10172a3713fSThomas Petazzoni reg = <0>; 10272a3713fSThomas Petazzoni #phy-cells = <1>; 10372a3713fSThomas Petazzoni }; 10472a3713fSThomas Petazzoni 10572a3713fSThomas Petazzoni CP110_LABEL(comphy1): phy@1 { 10672a3713fSThomas Petazzoni reg = <1>; 10772a3713fSThomas Petazzoni #phy-cells = <1>; 10872a3713fSThomas Petazzoni }; 10972a3713fSThomas Petazzoni 11072a3713fSThomas Petazzoni CP110_LABEL(comphy2): phy@2 { 11172a3713fSThomas Petazzoni reg = <2>; 11272a3713fSThomas Petazzoni #phy-cells = <1>; 11372a3713fSThomas Petazzoni }; 11472a3713fSThomas Petazzoni 11572a3713fSThomas Petazzoni CP110_LABEL(comphy3): phy@3 { 11672a3713fSThomas Petazzoni reg = <3>; 11772a3713fSThomas Petazzoni #phy-cells = <1>; 11872a3713fSThomas Petazzoni }; 11972a3713fSThomas Petazzoni 12072a3713fSThomas Petazzoni CP110_LABEL(comphy4): phy@4 { 12172a3713fSThomas Petazzoni reg = <4>; 12272a3713fSThomas Petazzoni #phy-cells = <1>; 12372a3713fSThomas Petazzoni }; 12472a3713fSThomas Petazzoni 12572a3713fSThomas Petazzoni CP110_LABEL(comphy5): phy@5 { 12672a3713fSThomas Petazzoni reg = <5>; 12772a3713fSThomas Petazzoni #phy-cells = <1>; 12872a3713fSThomas Petazzoni }; 12972a3713fSThomas Petazzoni }; 13072a3713fSThomas Petazzoni 13172a3713fSThomas Petazzoni CP110_LABEL(mdio): mdio@12a200 { 13272a3713fSThomas Petazzoni #address-cells = <1>; 13372a3713fSThomas Petazzoni #size-cells = <0>; 13472a3713fSThomas Petazzoni compatible = "marvell,orion-mdio"; 13572a3713fSThomas Petazzoni reg = <0x12a200 0x10>; 13672a3713fSThomas Petazzoni clocks = <&CP110_LABEL(clk) 1 9>, <&CP110_LABEL(clk) 1 5>, 13772a3713fSThomas Petazzoni <&CP110_LABEL(clk) 1 6>, <&CP110_LABEL(clk) 1 18>; 13872a3713fSThomas Petazzoni status = "disabled"; 13972a3713fSThomas Petazzoni }; 14072a3713fSThomas Petazzoni 14172a3713fSThomas Petazzoni CP110_LABEL(xmdio): mdio@12a600 { 14272a3713fSThomas Petazzoni #address-cells = <1>; 14372a3713fSThomas Petazzoni #size-cells = <0>; 14472a3713fSThomas Petazzoni compatible = "marvell,xmdio"; 14572a3713fSThomas Petazzoni reg = <0x12a600 0x10>; 14672a3713fSThomas Petazzoni status = "disabled"; 14772a3713fSThomas Petazzoni }; 14872a3713fSThomas Petazzoni 14972a3713fSThomas Petazzoni CP110_LABEL(icu): interrupt-controller@1e0000 { 15072a3713fSThomas Petazzoni compatible = "marvell,cp110-icu"; 15172a3713fSThomas Petazzoni reg = <0x1e0000 0x10>; 15272a3713fSThomas Petazzoni #interrupt-cells = <3>; 15372a3713fSThomas Petazzoni interrupt-controller; 15472a3713fSThomas Petazzoni msi-parent = <&gicp>; 15572a3713fSThomas Petazzoni }; 15672a3713fSThomas Petazzoni 15772a3713fSThomas Petazzoni CP110_LABEL(rtc): rtc@284000 { 15872a3713fSThomas Petazzoni compatible = "marvell,armada-8k-rtc"; 15972a3713fSThomas Petazzoni reg = <0x284000 0x20>, <0x284080 0x24>; 16072a3713fSThomas Petazzoni reg-names = "rtc", "rtc-soc"; 16172a3713fSThomas Petazzoni interrupts = <ICU_GRP_NSR 77 IRQ_TYPE_LEVEL_HIGH>; 16272a3713fSThomas Petazzoni }; 16372a3713fSThomas Petazzoni 16472a3713fSThomas Petazzoni CP110_LABEL(thermal): thermal@400078 { 16572a3713fSThomas Petazzoni compatible = "marvell,armada-cp110-thermal"; 16672a3713fSThomas Petazzoni reg = <0x400078 0x4>, 16772a3713fSThomas Petazzoni <0x400070 0x8>; 16872a3713fSThomas Petazzoni }; 16972a3713fSThomas Petazzoni 17072a3713fSThomas Petazzoni CP110_LABEL(syscon0): system-controller@440000 { 17172a3713fSThomas Petazzoni compatible = "syscon", "simple-mfd"; 17272a3713fSThomas Petazzoni reg = <0x440000 0x2000>; 17372a3713fSThomas Petazzoni 17472a3713fSThomas Petazzoni CP110_LABEL(clk): clock { 17572a3713fSThomas Petazzoni compatible = "marvell,cp110-clock"; 17672a3713fSThomas Petazzoni #clock-cells = <2>; 17772a3713fSThomas Petazzoni }; 17872a3713fSThomas Petazzoni 17972a3713fSThomas Petazzoni CP110_LABEL(gpio1): gpio@100 { 18072a3713fSThomas Petazzoni compatible = "marvell,armada-8k-gpio"; 18172a3713fSThomas Petazzoni offset = <0x100>; 18272a3713fSThomas Petazzoni ngpios = <32>; 18372a3713fSThomas Petazzoni gpio-controller; 18472a3713fSThomas Petazzoni #gpio-cells = <2>; 18572a3713fSThomas Petazzoni gpio-ranges = <&CP110_LABEL(pinctrl) 0 0 32>; 18672a3713fSThomas Petazzoni interrupt-controller; 18772a3713fSThomas Petazzoni interrupts = <ICU_GRP_NSR 86 IRQ_TYPE_LEVEL_HIGH>, 18872a3713fSThomas Petazzoni <ICU_GRP_NSR 85 IRQ_TYPE_LEVEL_HIGH>, 18972a3713fSThomas Petazzoni <ICU_GRP_NSR 84 IRQ_TYPE_LEVEL_HIGH>, 19072a3713fSThomas Petazzoni <ICU_GRP_NSR 83 IRQ_TYPE_LEVEL_HIGH>; 19172a3713fSThomas Petazzoni status = "disabled"; 19272a3713fSThomas Petazzoni }; 19372a3713fSThomas Petazzoni 19472a3713fSThomas Petazzoni CP110_LABEL(gpio2): gpio@140 { 19572a3713fSThomas Petazzoni compatible = "marvell,armada-8k-gpio"; 19672a3713fSThomas Petazzoni offset = <0x140>; 19772a3713fSThomas Petazzoni ngpios = <31>; 19872a3713fSThomas Petazzoni gpio-controller; 19972a3713fSThomas Petazzoni #gpio-cells = <2>; 20072a3713fSThomas Petazzoni gpio-ranges = <&CP110_LABEL(pinctrl) 0 32 31>; 20172a3713fSThomas Petazzoni interrupt-controller; 20272a3713fSThomas Petazzoni interrupts = <ICU_GRP_NSR 82 IRQ_TYPE_LEVEL_HIGH>, 20372a3713fSThomas Petazzoni <ICU_GRP_NSR 81 IRQ_TYPE_LEVEL_HIGH>, 20472a3713fSThomas Petazzoni <ICU_GRP_NSR 80 IRQ_TYPE_LEVEL_HIGH>, 20572a3713fSThomas Petazzoni <ICU_GRP_NSR 79 IRQ_TYPE_LEVEL_HIGH>; 20672a3713fSThomas Petazzoni status = "disabled"; 20772a3713fSThomas Petazzoni }; 20872a3713fSThomas Petazzoni }; 20972a3713fSThomas Petazzoni 21072a3713fSThomas Petazzoni CP110_LABEL(usb3_0): usb3@500000 { 21172a3713fSThomas Petazzoni compatible = "marvell,armada-8k-xhci", 21272a3713fSThomas Petazzoni "generic-xhci"; 21372a3713fSThomas Petazzoni reg = <0x500000 0x4000>; 21472a3713fSThomas Petazzoni dma-coherent; 21572a3713fSThomas Petazzoni interrupts = <ICU_GRP_NSR 106 IRQ_TYPE_LEVEL_HIGH>; 21672a3713fSThomas Petazzoni clocks = <&CP110_LABEL(clk) 1 22>; 21772a3713fSThomas Petazzoni status = "disabled"; 21872a3713fSThomas Petazzoni }; 21972a3713fSThomas Petazzoni 22072a3713fSThomas Petazzoni CP110_LABEL(usb3_1): usb3@510000 { 22172a3713fSThomas Petazzoni compatible = "marvell,armada-8k-xhci", 22272a3713fSThomas Petazzoni "generic-xhci"; 22372a3713fSThomas Petazzoni reg = <0x510000 0x4000>; 22472a3713fSThomas Petazzoni dma-coherent; 22572a3713fSThomas Petazzoni interrupts = <ICU_GRP_NSR 105 IRQ_TYPE_LEVEL_HIGH>; 22672a3713fSThomas Petazzoni clocks = <&CP110_LABEL(clk) 1 23>; 22772a3713fSThomas Petazzoni status = "disabled"; 22872a3713fSThomas Petazzoni }; 22972a3713fSThomas Petazzoni 23072a3713fSThomas Petazzoni CP110_LABEL(sata0): sata@540000 { 23172a3713fSThomas Petazzoni compatible = "marvell,armada-8k-ahci", 23272a3713fSThomas Petazzoni "generic-ahci"; 23372a3713fSThomas Petazzoni reg = <0x540000 0x30000>; 23472a3713fSThomas Petazzoni interrupts = <ICU_GRP_NSR 107 IRQ_TYPE_LEVEL_HIGH>; 23572a3713fSThomas Petazzoni clocks = <&CP110_LABEL(clk) 1 15>; 23672a3713fSThomas Petazzoni status = "disabled"; 23772a3713fSThomas Petazzoni }; 23872a3713fSThomas Petazzoni 23972a3713fSThomas Petazzoni CP110_LABEL(xor0): xor@6a0000 { 24072a3713fSThomas Petazzoni compatible = "marvell,armada-7k-xor", "marvell,xor-v2"; 24172a3713fSThomas Petazzoni reg = <0x6a0000 0x1000>, <0x6b0000 0x1000>; 24272a3713fSThomas Petazzoni dma-coherent; 24372a3713fSThomas Petazzoni msi-parent = <&gic_v2m0>; 24472a3713fSThomas Petazzoni clocks = <&CP110_LABEL(clk) 1 8>; 24572a3713fSThomas Petazzoni }; 24672a3713fSThomas Petazzoni 24772a3713fSThomas Petazzoni CP110_LABEL(xor1): xor@6c0000 { 24872a3713fSThomas Petazzoni compatible = "marvell,armada-7k-xor", "marvell,xor-v2"; 24972a3713fSThomas Petazzoni reg = <0x6c0000 0x1000>, <0x6d0000 0x1000>; 25072a3713fSThomas Petazzoni dma-coherent; 25172a3713fSThomas Petazzoni msi-parent = <&gic_v2m0>; 25272a3713fSThomas Petazzoni clocks = <&CP110_LABEL(clk) 1 7>; 25372a3713fSThomas Petazzoni }; 25472a3713fSThomas Petazzoni 25572a3713fSThomas Petazzoni CP110_LABEL(spi0): spi@700600 { 25672a3713fSThomas Petazzoni compatible = "marvell,armada-380-spi"; 25772a3713fSThomas Petazzoni reg = <0x700600 0x50>; 25872a3713fSThomas Petazzoni #address-cells = <0x1>; 25972a3713fSThomas Petazzoni #size-cells = <0x0>; 260a7cbf0b2SGregory CLEMENT clock-names = "core", "axi"; 261a7cbf0b2SGregory CLEMENT clocks = <&CP110_LABEL(clk) 1 21>, 262a7cbf0b2SGregory CLEMENT <&CP110_LABEL(clk) 1 17>; 26372a3713fSThomas Petazzoni status = "disabled"; 26472a3713fSThomas Petazzoni }; 26572a3713fSThomas Petazzoni 26672a3713fSThomas Petazzoni CP110_LABEL(spi1): spi@700680 { 26772a3713fSThomas Petazzoni compatible = "marvell,armada-380-spi"; 26872a3713fSThomas Petazzoni reg = <0x700680 0x50>; 26972a3713fSThomas Petazzoni #address-cells = <1>; 27072a3713fSThomas Petazzoni #size-cells = <0>; 271a7cbf0b2SGregory CLEMENT clock-names = "core", "axi"; 272a7cbf0b2SGregory CLEMENT clocks = <&CP110_LABEL(clk) 1 21>, 273a7cbf0b2SGregory CLEMENT <&CP110_LABEL(clk) 1 17>; 27472a3713fSThomas Petazzoni status = "disabled"; 27572a3713fSThomas Petazzoni }; 27672a3713fSThomas Petazzoni 27772a3713fSThomas Petazzoni CP110_LABEL(i2c0): i2c@701000 { 27872a3713fSThomas Petazzoni compatible = "marvell,mv78230-i2c"; 27972a3713fSThomas Petazzoni reg = <0x701000 0x20>; 28072a3713fSThomas Petazzoni #address-cells = <1>; 28172a3713fSThomas Petazzoni #size-cells = <0>; 28272a3713fSThomas Petazzoni interrupts = <ICU_GRP_NSR 120 IRQ_TYPE_LEVEL_HIGH>; 283afe8e5a9SGregory CLEMENT clock-names = "core", "reg"; 284afe8e5a9SGregory CLEMENT clocks = <&CP110_LABEL(clk) 1 21>, 285afe8e5a9SGregory CLEMENT <&CP110_LABEL(clk) 1 17>; 28672a3713fSThomas Petazzoni status = "disabled"; 28772a3713fSThomas Petazzoni }; 28872a3713fSThomas Petazzoni 28972a3713fSThomas Petazzoni CP110_LABEL(i2c1): i2c@701100 { 29072a3713fSThomas Petazzoni compatible = "marvell,mv78230-i2c"; 29172a3713fSThomas Petazzoni reg = <0x701100 0x20>; 29272a3713fSThomas Petazzoni #address-cells = <1>; 29372a3713fSThomas Petazzoni #size-cells = <0>; 29472a3713fSThomas Petazzoni interrupts = <ICU_GRP_NSR 121 IRQ_TYPE_LEVEL_HIGH>; 295afe8e5a9SGregory CLEMENT clock-names = "core", "reg"; 296afe8e5a9SGregory CLEMENT clocks = <&CP110_LABEL(clk) 1 21>, 297afe8e5a9SGregory CLEMENT <&CP110_LABEL(clk) 1 17>; 29872a3713fSThomas Petazzoni status = "disabled"; 29972a3713fSThomas Petazzoni }; 30072a3713fSThomas Petazzoni 30172a3713fSThomas Petazzoni CP110_LABEL(nand): nand@720000 { 30272a3713fSThomas Petazzoni /* 30372a3713fSThomas Petazzoni * Due to the limitation of the pins available 30472a3713fSThomas Petazzoni * this controller is only usable on the CPM 30572a3713fSThomas Petazzoni * for A7K and on the CPS for A8K. 30672a3713fSThomas Petazzoni */ 30772a3713fSThomas Petazzoni compatible = "marvell,armada-8k-nand", 30872a3713fSThomas Petazzoni "marvell,armada370-nand"; 30972a3713fSThomas Petazzoni reg = <0x720000 0x54>; 31072a3713fSThomas Petazzoni #address-cells = <1>; 31172a3713fSThomas Petazzoni #size-cells = <1>; 31272a3713fSThomas Petazzoni interrupts = <ICU_GRP_NSR 115 IRQ_TYPE_LEVEL_HIGH>; 31372a3713fSThomas Petazzoni clocks = <&CP110_LABEL(clk) 1 2>; 31472a3713fSThomas Petazzoni marvell,system-controller = <&CP110_LABEL(syscon0)>; 31572a3713fSThomas Petazzoni status = "disabled"; 31672a3713fSThomas Petazzoni }; 31772a3713fSThomas Petazzoni 31872a3713fSThomas Petazzoni CP110_LABEL(trng): trng@760000 { 31972a3713fSThomas Petazzoni compatible = "marvell,armada-8k-rng", 32072a3713fSThomas Petazzoni "inside-secure,safexcel-eip76"; 32172a3713fSThomas Petazzoni reg = <0x760000 0x7d>; 32272a3713fSThomas Petazzoni interrupts = <ICU_GRP_NSR 95 IRQ_TYPE_LEVEL_HIGH>; 32372a3713fSThomas Petazzoni clocks = <&CP110_LABEL(clk) 1 25>; 32472a3713fSThomas Petazzoni status = "okay"; 32572a3713fSThomas Petazzoni }; 32672a3713fSThomas Petazzoni 32772a3713fSThomas Petazzoni CP110_LABEL(sdhci0): sdhci@780000 { 32872a3713fSThomas Petazzoni compatible = "marvell,armada-cp110-sdhci"; 32972a3713fSThomas Petazzoni reg = <0x780000 0x300>; 33072a3713fSThomas Petazzoni interrupts = <ICU_GRP_NSR 27 IRQ_TYPE_LEVEL_HIGH>; 33172a3713fSThomas Petazzoni clock-names = "core", "axi"; 33272a3713fSThomas Petazzoni clocks = <&CP110_LABEL(clk) 1 4>, <&CP110_LABEL(clk) 1 18>; 33372a3713fSThomas Petazzoni dma-coherent; 33472a3713fSThomas Petazzoni status = "disabled"; 33572a3713fSThomas Petazzoni }; 33672a3713fSThomas Petazzoni 33772a3713fSThomas Petazzoni CP110_LABEL(crypto): crypto@800000 { 33872a3713fSThomas Petazzoni compatible = "inside-secure,safexcel-eip197"; 33972a3713fSThomas Petazzoni reg = <0x800000 0x200000>; 34072a3713fSThomas Petazzoni interrupts = <ICU_GRP_NSR 87 IRQ_TYPE_LEVEL_HIGH>, 34172a3713fSThomas Petazzoni <ICU_GRP_NSR 88 IRQ_TYPE_LEVEL_HIGH>, 34272a3713fSThomas Petazzoni <ICU_GRP_NSR 89 IRQ_TYPE_LEVEL_HIGH>, 34372a3713fSThomas Petazzoni <ICU_GRP_NSR 90 IRQ_TYPE_LEVEL_HIGH>, 34472a3713fSThomas Petazzoni <ICU_GRP_NSR 91 IRQ_TYPE_LEVEL_HIGH>, 34572a3713fSThomas Petazzoni <ICU_GRP_NSR 92 IRQ_TYPE_LEVEL_HIGH>; 34672a3713fSThomas Petazzoni interrupt-names = "mem", "ring0", "ring1", 34772a3713fSThomas Petazzoni "ring2", "ring3", "eip"; 34872a3713fSThomas Petazzoni clocks = <&CP110_LABEL(clk) 1 26>; 34972a3713fSThomas Petazzoni dma-coherent; 35072a3713fSThomas Petazzoni }; 35172a3713fSThomas Petazzoni }; 35272a3713fSThomas Petazzoni 35372a3713fSThomas Petazzoni CP110_LABEL(pcie0): pcie@CP110_PCIE0_BASE { 35472a3713fSThomas Petazzoni compatible = "marvell,armada8k-pcie", "snps,dw-pcie"; 35572a3713fSThomas Petazzoni reg = <0 ADDRESSIFY(CP110_PCIE0_BASE) 0 0x10000>, 35672a3713fSThomas Petazzoni <0 CP110_PCIEx_CONF_BASE(0) 0 0x80000>; 35772a3713fSThomas Petazzoni reg-names = "ctrl", "config"; 35872a3713fSThomas Petazzoni #address-cells = <3>; 35972a3713fSThomas Petazzoni #size-cells = <2>; 36072a3713fSThomas Petazzoni #interrupt-cells = <1>; 36172a3713fSThomas Petazzoni device_type = "pci"; 36272a3713fSThomas Petazzoni dma-coherent; 36372a3713fSThomas Petazzoni msi-parent = <&gic_v2m0>; 36472a3713fSThomas Petazzoni 36572a3713fSThomas Petazzoni bus-range = <0 0xff>; 36672a3713fSThomas Petazzoni ranges = 36772a3713fSThomas Petazzoni /* downstream I/O */ 36872a3713fSThomas Petazzoni <0x81000000 0 CP110_PCIEx_IO_BASE(0) 0 CP110_PCIEx_IO_BASE(0) 0 0x10000 36972a3713fSThomas Petazzoni /* non-prefetchable memory */ 37072a3713fSThomas Petazzoni 0x82000000 0 CP110_PCIEx_MEM_BASE(0) 0 CP110_PCIEx_MEM_BASE(0) 0 0xf00000>; 37172a3713fSThomas Petazzoni interrupt-map-mask = <0 0 0 0>; 37272a3713fSThomas Petazzoni interrupt-map = <0 0 0 0 &CP110_LABEL(icu) ICU_GRP_NSR 22 IRQ_TYPE_LEVEL_HIGH>; 37372a3713fSThomas Petazzoni interrupts = <ICU_GRP_NSR 22 IRQ_TYPE_LEVEL_HIGH>; 37472a3713fSThomas Petazzoni num-lanes = <1>; 37572a3713fSThomas Petazzoni clocks = <&CP110_LABEL(clk) 1 13>; 37672a3713fSThomas Petazzoni status = "disabled"; 37772a3713fSThomas Petazzoni }; 37872a3713fSThomas Petazzoni 37972a3713fSThomas Petazzoni CP110_LABEL(pcie1): pcie@CP110_PCIE1_BASE { 38072a3713fSThomas Petazzoni compatible = "marvell,armada8k-pcie", "snps,dw-pcie"; 38172a3713fSThomas Petazzoni reg = <0 ADDRESSIFY(CP110_PCIE1_BASE) 0 0x10000>, 38272a3713fSThomas Petazzoni <0 CP110_PCIEx_CONF_BASE(1) 0 0x80000>; 38372a3713fSThomas Petazzoni reg-names = "ctrl", "config"; 38472a3713fSThomas Petazzoni #address-cells = <3>; 38572a3713fSThomas Petazzoni #size-cells = <2>; 38672a3713fSThomas Petazzoni #interrupt-cells = <1>; 38772a3713fSThomas Petazzoni device_type = "pci"; 38872a3713fSThomas Petazzoni dma-coherent; 38972a3713fSThomas Petazzoni msi-parent = <&gic_v2m0>; 39072a3713fSThomas Petazzoni 39172a3713fSThomas Petazzoni bus-range = <0 0xff>; 39272a3713fSThomas Petazzoni ranges = 39372a3713fSThomas Petazzoni /* downstream I/O */ 39472a3713fSThomas Petazzoni <0x81000000 0 CP110_PCIEx_IO_BASE(1) 0 CP110_PCIEx_IO_BASE(1) 0 0x10000 39572a3713fSThomas Petazzoni /* non-prefetchable memory */ 39672a3713fSThomas Petazzoni 0x82000000 0 CP110_PCIEx_MEM_BASE(1) 0 CP110_PCIEx_MEM_BASE(1) 0 0xf00000>; 39772a3713fSThomas Petazzoni interrupt-map-mask = <0 0 0 0>; 39872a3713fSThomas Petazzoni interrupt-map = <0 0 0 0 &CP110_LABEL(icu) ICU_GRP_NSR 24 IRQ_TYPE_LEVEL_HIGH>; 39972a3713fSThomas Petazzoni interrupts = <ICU_GRP_NSR 24 IRQ_TYPE_LEVEL_HIGH>; 40072a3713fSThomas Petazzoni 40172a3713fSThomas Petazzoni num-lanes = <1>; 40272a3713fSThomas Petazzoni clocks = <&CP110_LABEL(clk) 1 11>; 40372a3713fSThomas Petazzoni status = "disabled"; 40472a3713fSThomas Petazzoni }; 40572a3713fSThomas Petazzoni 40672a3713fSThomas Petazzoni CP110_LABEL(pcie2): pcie@CP110_PCIE2_BASE { 40772a3713fSThomas Petazzoni compatible = "marvell,armada8k-pcie", "snps,dw-pcie"; 40872a3713fSThomas Petazzoni reg = <0 ADDRESSIFY(CP110_PCIE2_BASE) 0 0x10000>, 40972a3713fSThomas Petazzoni <0 CP110_PCIEx_CONF_BASE(2) 0 0x80000>; 41072a3713fSThomas Petazzoni reg-names = "ctrl", "config"; 41172a3713fSThomas Petazzoni #address-cells = <3>; 41272a3713fSThomas Petazzoni #size-cells = <2>; 41372a3713fSThomas Petazzoni #interrupt-cells = <1>; 41472a3713fSThomas Petazzoni device_type = "pci"; 41572a3713fSThomas Petazzoni dma-coherent; 41672a3713fSThomas Petazzoni msi-parent = <&gic_v2m0>; 41772a3713fSThomas Petazzoni 41872a3713fSThomas Petazzoni bus-range = <0 0xff>; 41972a3713fSThomas Petazzoni ranges = 42072a3713fSThomas Petazzoni /* downstream I/O */ 42172a3713fSThomas Petazzoni <0x81000000 0 CP110_PCIEx_IO_BASE(2) 0 CP110_PCIEx_IO_BASE(2) 0 0x10000 42272a3713fSThomas Petazzoni /* non-prefetchable memory */ 42372a3713fSThomas Petazzoni 0x82000000 0 CP110_PCIEx_MEM_BASE(2) 0 CP110_PCIEx_MEM_BASE(2) 0 0xf00000>; 42472a3713fSThomas Petazzoni interrupt-map-mask = <0 0 0 0>; 42572a3713fSThomas Petazzoni interrupt-map = <0 0 0 0 &CP110_LABEL(icu) ICU_GRP_NSR 23 IRQ_TYPE_LEVEL_HIGH>; 42672a3713fSThomas Petazzoni interrupts = <ICU_GRP_NSR 23 IRQ_TYPE_LEVEL_HIGH>; 42772a3713fSThomas Petazzoni 42872a3713fSThomas Petazzoni num-lanes = <1>; 42972a3713fSThomas Petazzoni clocks = <&CP110_LABEL(clk) 1 12>; 43072a3713fSThomas Petazzoni status = "disabled"; 43172a3713fSThomas Petazzoni }; 43272a3713fSThomas Petazzoni}; 433