1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2f126890aSEmmanuel Vadot/* 3f126890aSEmmanuel Vadot * Copyright (C) 2016 Rafał Miłecki <rafal@milecki.pl> 4f126890aSEmmanuel Vadot */ 5f126890aSEmmanuel Vadot 6f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 7f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h> 8f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 9f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 10f126890aSEmmanuel Vadot 11f126890aSEmmanuel Vadot/ { 12f126890aSEmmanuel Vadot #address-cells = <1>; 13f126890aSEmmanuel Vadot #size-cells = <1>; 14f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 15f126890aSEmmanuel Vadot 16f126890aSEmmanuel Vadot aliases { 17f126890aSEmmanuel Vadot serial0 = &uart0; 18f126890aSEmmanuel Vadot }; 19f126890aSEmmanuel Vadot 20f126890aSEmmanuel Vadot chosen { 21f126890aSEmmanuel Vadot stdout-path = "serial0:115200n8"; 22f126890aSEmmanuel Vadot }; 23f126890aSEmmanuel Vadot 24f126890aSEmmanuel Vadot cpus { 25f126890aSEmmanuel Vadot #address-cells = <1>; 26f126890aSEmmanuel Vadot #size-cells = <0>; 27f126890aSEmmanuel Vadot 28f126890aSEmmanuel Vadot cpu@0 { 29f126890aSEmmanuel Vadot device_type = "cpu"; 30f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 31f126890aSEmmanuel Vadot reg = <0x0>; 32f126890aSEmmanuel Vadot }; 33f126890aSEmmanuel Vadot }; 34f126890aSEmmanuel Vadot 35f126890aSEmmanuel Vadot mpcore@18310000 { 36f126890aSEmmanuel Vadot compatible = "simple-bus"; 37f126890aSEmmanuel Vadot ranges = <0x00000000 0x18310000 0x00008000>; 38f126890aSEmmanuel Vadot #address-cells = <1>; 39f126890aSEmmanuel Vadot #size-cells = <1>; 40f126890aSEmmanuel Vadot 41f126890aSEmmanuel Vadot gic: interrupt-controller@1000 { 42f126890aSEmmanuel Vadot compatible = "arm,cortex-a7-gic"; 43f126890aSEmmanuel Vadot #interrupt-cells = <3>; 44f126890aSEmmanuel Vadot #address-cells = <0>; 45f126890aSEmmanuel Vadot interrupt-controller; 46f126890aSEmmanuel Vadot reg = <0x1000 0x1000>, 47f126890aSEmmanuel Vadot <0x2000 0x0100>; 48f126890aSEmmanuel Vadot }; 49f126890aSEmmanuel Vadot }; 50f126890aSEmmanuel Vadot 51f126890aSEmmanuel Vadot timer { 52f126890aSEmmanuel Vadot compatible = "arm,armv7-timer"; 53f126890aSEmmanuel Vadot interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, 54f126890aSEmmanuel Vadot <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, 55f126890aSEmmanuel Vadot <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, 56f126890aSEmmanuel Vadot <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; 57f126890aSEmmanuel Vadot }; 58f126890aSEmmanuel Vadot 59f126890aSEmmanuel Vadot clocks { 60f126890aSEmmanuel Vadot #address-cells = <1>; 61f126890aSEmmanuel Vadot #size-cells = <1>; 62f126890aSEmmanuel Vadot ranges; 63f126890aSEmmanuel Vadot 64f126890aSEmmanuel Vadot alp: oscillator { 65f126890aSEmmanuel Vadot #clock-cells = <0>; 66f126890aSEmmanuel Vadot compatible = "fixed-clock"; 67f126890aSEmmanuel Vadot clock-frequency = <40000000>; 68f126890aSEmmanuel Vadot }; 69f126890aSEmmanuel Vadot }; 70f126890aSEmmanuel Vadot 71f126890aSEmmanuel Vadot axi@18000000 { 72f126890aSEmmanuel Vadot compatible = "brcm,bus-axi"; 73f126890aSEmmanuel Vadot reg = <0x18000000 0x1000>; 74f126890aSEmmanuel Vadot ranges = <0x00000000 0x18000000 0x00100000>; 75f126890aSEmmanuel Vadot #address-cells = <1>; 76f126890aSEmmanuel Vadot #size-cells = <1>; 77f126890aSEmmanuel Vadot 78f126890aSEmmanuel Vadot #interrupt-cells = <1>; 79f126890aSEmmanuel Vadot interrupt-map-mask = <0x000fffff 0xffff>; 80f126890aSEmmanuel Vadot interrupt-map = 81f126890aSEmmanuel Vadot /* ChipCommon */ 82f126890aSEmmanuel Vadot <0x00000000 0 &gic GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 83f126890aSEmmanuel Vadot 84f126890aSEmmanuel Vadot /* IEEE 802.11 0 */ 85f126890aSEmmanuel Vadot <0x00001000 0 &gic GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 86f126890aSEmmanuel Vadot 87f126890aSEmmanuel Vadot /* PCIe Controller 0 */ 88f126890aSEmmanuel Vadot <0x00002000 0 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 89f126890aSEmmanuel Vadot <0x00002000 1 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 90f126890aSEmmanuel Vadot <0x00002000 2 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 91f126890aSEmmanuel Vadot <0x00002000 3 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 92f126890aSEmmanuel Vadot <0x00002000 4 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 93f126890aSEmmanuel Vadot <0x00002000 5 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 94f126890aSEmmanuel Vadot 95f126890aSEmmanuel Vadot /* USB 2.0 Controller */ 96f126890aSEmmanuel Vadot <0x00004000 0 &gic GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 97f126890aSEmmanuel Vadot 98f126890aSEmmanuel Vadot /* Ethernet Controller 0 */ 99f126890aSEmmanuel Vadot <0x00005000 0 &gic GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 100f126890aSEmmanuel Vadot 101f126890aSEmmanuel Vadot /* IEEE 802.11 1 */ 102f126890aSEmmanuel Vadot <0x0000a000 0 &gic GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 103f126890aSEmmanuel Vadot 104f126890aSEmmanuel Vadot /* Ethernet Controller 1 */ 105f126890aSEmmanuel Vadot <0x0000b000 0 &gic GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 106f126890aSEmmanuel Vadot 107f126890aSEmmanuel Vadot chipcommon: chipcommon@0 { 108f126890aSEmmanuel Vadot compatible = "simple-bus"; 109f126890aSEmmanuel Vadot reg = <0x00000000 0x1000>; 110f126890aSEmmanuel Vadot ranges; 111f126890aSEmmanuel Vadot 112f126890aSEmmanuel Vadot #address-cells = <1>; 113f126890aSEmmanuel Vadot #size-cells = <1>; 114f126890aSEmmanuel Vadot 115f126890aSEmmanuel Vadot gpio-controller; 116f126890aSEmmanuel Vadot #gpio-cells = <2>; 117f126890aSEmmanuel Vadot 118f126890aSEmmanuel Vadot uart0: serial@300 { 119f126890aSEmmanuel Vadot compatible = "ns16550a"; 120f126890aSEmmanuel Vadot reg = <0x0300 0x100>; 121f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 122f126890aSEmmanuel Vadot interrupts = <GIC_PPI 16 IRQ_TYPE_LEVEL_HIGH>; 123f126890aSEmmanuel Vadot clocks = <&alp>; 124f126890aSEmmanuel Vadot status = "okay"; 125f126890aSEmmanuel Vadot }; 126f126890aSEmmanuel Vadot }; 127f126890aSEmmanuel Vadot 128f126890aSEmmanuel Vadot pcie0: pcie@2000 { 129f126890aSEmmanuel Vadot reg = <0x00002000 0x1000>; 130*aa1a8ff2SEmmanuel Vadot 131*aa1a8ff2SEmmanuel Vadot #address-cells = <3>; 132*aa1a8ff2SEmmanuel Vadot #size-cells = <2>; 133f126890aSEmmanuel Vadot }; 134f126890aSEmmanuel Vadot 135f126890aSEmmanuel Vadot usb2: usb2@4000 { 136f126890aSEmmanuel Vadot reg = <0x4000 0x1000>; 137f126890aSEmmanuel Vadot ranges; 138f126890aSEmmanuel Vadot #address-cells = <1>; 139f126890aSEmmanuel Vadot #size-cells = <1>; 140f126890aSEmmanuel Vadot 141f126890aSEmmanuel Vadot ehci: usb@4000 { 142f126890aSEmmanuel Vadot compatible = "generic-ehci"; 143f126890aSEmmanuel Vadot reg = <0x4000 0x1000>; 144f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 145f126890aSEmmanuel Vadot interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 146f126890aSEmmanuel Vadot 147f126890aSEmmanuel Vadot #address-cells = <1>; 148f126890aSEmmanuel Vadot #size-cells = <0>; 149f126890aSEmmanuel Vadot 150f126890aSEmmanuel Vadot ehci_port1: port@1 { 151f126890aSEmmanuel Vadot reg = <1>; 152f126890aSEmmanuel Vadot #trigger-source-cells = <0>; 153f126890aSEmmanuel Vadot }; 154f126890aSEmmanuel Vadot 155f126890aSEmmanuel Vadot ehci_port2: port@2 { 156f126890aSEmmanuel Vadot reg = <2>; 157f126890aSEmmanuel Vadot #trigger-source-cells = <0>; 158f126890aSEmmanuel Vadot }; 159f126890aSEmmanuel Vadot }; 160f126890aSEmmanuel Vadot 161f126890aSEmmanuel Vadot ohci: usb@d000 { 162f126890aSEmmanuel Vadot compatible = "generic-ohci"; 163f126890aSEmmanuel Vadot reg = <0xd000 0x1000>; 164f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 165f126890aSEmmanuel Vadot interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 166f126890aSEmmanuel Vadot 167f126890aSEmmanuel Vadot #address-cells = <1>; 168f126890aSEmmanuel Vadot #size-cells = <0>; 169f126890aSEmmanuel Vadot 170f126890aSEmmanuel Vadot ohci_port1: port@1 { 171f126890aSEmmanuel Vadot reg = <1>; 172f126890aSEmmanuel Vadot #trigger-source-cells = <0>; 173f126890aSEmmanuel Vadot }; 174f126890aSEmmanuel Vadot 175f126890aSEmmanuel Vadot ohci_port2: port@2 { 176f126890aSEmmanuel Vadot reg = <2>; 177f126890aSEmmanuel Vadot #trigger-source-cells = <0>; 178f126890aSEmmanuel Vadot }; 179f126890aSEmmanuel Vadot }; 180f126890aSEmmanuel Vadot }; 181f126890aSEmmanuel Vadot 182f126890aSEmmanuel Vadot gmac0: ethernet@5000 { 183f126890aSEmmanuel Vadot reg = <0x5000 0x1000>; 184*aa1a8ff2SEmmanuel Vadot phy-mode = "internal"; 185*aa1a8ff2SEmmanuel Vadot 186*aa1a8ff2SEmmanuel Vadot fixed-link { 187*aa1a8ff2SEmmanuel Vadot speed = <1000>; 188*aa1a8ff2SEmmanuel Vadot full-duplex; 189*aa1a8ff2SEmmanuel Vadot }; 190f126890aSEmmanuel Vadot 191f126890aSEmmanuel Vadot mdio { 192f126890aSEmmanuel Vadot #address-cells = <1>; 193f126890aSEmmanuel Vadot #size-cells = <0>; 194f126890aSEmmanuel Vadot 195f126890aSEmmanuel Vadot switch: switch@1e { 196f126890aSEmmanuel Vadot compatible = "brcm,bcm53125"; 197f126890aSEmmanuel Vadot reg = <0x1e>; 198f126890aSEmmanuel Vadot 199f126890aSEmmanuel Vadot status = "disabled"; 200f126890aSEmmanuel Vadot 201f126890aSEmmanuel Vadot ports { 202f126890aSEmmanuel Vadot #address-cells = <1>; 203f126890aSEmmanuel Vadot #size-cells = <0>; 204*aa1a8ff2SEmmanuel Vadot 205*aa1a8ff2SEmmanuel Vadot port@0 { 206*aa1a8ff2SEmmanuel Vadot reg = <0>; 207*aa1a8ff2SEmmanuel Vadot }; 208*aa1a8ff2SEmmanuel Vadot 209*aa1a8ff2SEmmanuel Vadot port@1 { 210*aa1a8ff2SEmmanuel Vadot reg = <1>; 211*aa1a8ff2SEmmanuel Vadot }; 212*aa1a8ff2SEmmanuel Vadot 213*aa1a8ff2SEmmanuel Vadot port@2 { 214*aa1a8ff2SEmmanuel Vadot reg = <2>; 215*aa1a8ff2SEmmanuel Vadot }; 216*aa1a8ff2SEmmanuel Vadot 217*aa1a8ff2SEmmanuel Vadot port@3 { 218*aa1a8ff2SEmmanuel Vadot reg = <3>; 219*aa1a8ff2SEmmanuel Vadot }; 220*aa1a8ff2SEmmanuel Vadot 221*aa1a8ff2SEmmanuel Vadot port@4 { 222*aa1a8ff2SEmmanuel Vadot reg = <4>; 223*aa1a8ff2SEmmanuel Vadot }; 224*aa1a8ff2SEmmanuel Vadot 225*aa1a8ff2SEmmanuel Vadot port@5 { 226*aa1a8ff2SEmmanuel Vadot reg = <5>; 227*aa1a8ff2SEmmanuel Vadot ethernet = <&gmac1>; 228*aa1a8ff2SEmmanuel Vadot 229*aa1a8ff2SEmmanuel Vadot fixed-link { 230*aa1a8ff2SEmmanuel Vadot speed = <1000>; 231*aa1a8ff2SEmmanuel Vadot full-duplex; 232*aa1a8ff2SEmmanuel Vadot }; 233*aa1a8ff2SEmmanuel Vadot }; 234*aa1a8ff2SEmmanuel Vadot 235*aa1a8ff2SEmmanuel Vadot port@8 { 236*aa1a8ff2SEmmanuel Vadot reg = <8>; 237*aa1a8ff2SEmmanuel Vadot ethernet = <&gmac0>; 238*aa1a8ff2SEmmanuel Vadot }; 239f126890aSEmmanuel Vadot }; 240f126890aSEmmanuel Vadot }; 241f126890aSEmmanuel Vadot }; 242f126890aSEmmanuel Vadot }; 243f126890aSEmmanuel Vadot 244f126890aSEmmanuel Vadot gmac1: ethernet@b000 { 245f126890aSEmmanuel Vadot reg = <0xb000 0x1000>; 246*aa1a8ff2SEmmanuel Vadot phy-mode = "internal"; 247*aa1a8ff2SEmmanuel Vadot 248*aa1a8ff2SEmmanuel Vadot fixed-link { 249*aa1a8ff2SEmmanuel Vadot speed = <1000>; 250*aa1a8ff2SEmmanuel Vadot full-duplex; 251*aa1a8ff2SEmmanuel Vadot }; 252f126890aSEmmanuel Vadot }; 253f126890aSEmmanuel Vadot 254f126890aSEmmanuel Vadot pmu@12000 { 255f126890aSEmmanuel Vadot compatible = "simple-mfd", "syscon"; 256f126890aSEmmanuel Vadot reg = <0x00012000 0x00001000>; 257f126890aSEmmanuel Vadot 258f126890aSEmmanuel Vadot ilp: ilp { 259f126890aSEmmanuel Vadot compatible = "brcm,bcm53573-ilp"; 260f126890aSEmmanuel Vadot clocks = <&alp>; 261f126890aSEmmanuel Vadot #clock-cells = <0>; 262f126890aSEmmanuel Vadot clock-output-names = "ilp"; 263f126890aSEmmanuel Vadot }; 264f126890aSEmmanuel Vadot }; 265f126890aSEmmanuel Vadot }; 266f126890aSEmmanuel Vadot}; 267