1b97ee269SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2b97ee269SEmmanuel Vadot/* 3b97ee269SEmmanuel Vadot * Copyright 2022 Broadcom Ltd. 4b97ee269SEmmanuel Vadot */ 5b97ee269SEmmanuel Vadot 6b97ee269SEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 7b97ee269SEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 8b97ee269SEmmanuel Vadot 9b97ee269SEmmanuel Vadot/ { 10b97ee269SEmmanuel Vadot compatible = "brcm,bcm6858", "brcm,bcmbca"; 11b97ee269SEmmanuel Vadot #address-cells = <2>; 12b97ee269SEmmanuel Vadot #size-cells = <2>; 13b97ee269SEmmanuel Vadot 14b97ee269SEmmanuel Vadot interrupt-parent = <&gic>; 15b97ee269SEmmanuel Vadot 16b97ee269SEmmanuel Vadot cpus { 17b97ee269SEmmanuel Vadot #address-cells = <2>; 18b97ee269SEmmanuel Vadot #size-cells = <0>; 19b97ee269SEmmanuel Vadot 20b97ee269SEmmanuel Vadot B53_0: cpu@0 { 21b97ee269SEmmanuel Vadot compatible = "brcm,brahma-b53"; 22b97ee269SEmmanuel Vadot device_type = "cpu"; 23b97ee269SEmmanuel Vadot reg = <0x0 0x0>; 24b97ee269SEmmanuel Vadot next-level-cache = <&L2_0>; 25b97ee269SEmmanuel Vadot enable-method = "psci"; 26b97ee269SEmmanuel Vadot }; 27b97ee269SEmmanuel Vadot 28b97ee269SEmmanuel Vadot B53_1: cpu@1 { 29b97ee269SEmmanuel Vadot compatible = "brcm,brahma-b53"; 30b97ee269SEmmanuel Vadot device_type = "cpu"; 31b97ee269SEmmanuel Vadot reg = <0x0 0x1>; 32b97ee269SEmmanuel Vadot next-level-cache = <&L2_0>; 33b97ee269SEmmanuel Vadot enable-method = "psci"; 34b97ee269SEmmanuel Vadot }; 35b97ee269SEmmanuel Vadot 36b97ee269SEmmanuel Vadot B53_2: cpu@2 { 37b97ee269SEmmanuel Vadot compatible = "brcm,brahma-b53"; 38b97ee269SEmmanuel Vadot device_type = "cpu"; 39b97ee269SEmmanuel Vadot reg = <0x0 0x2>; 40b97ee269SEmmanuel Vadot next-level-cache = <&L2_0>; 41b97ee269SEmmanuel Vadot enable-method = "psci"; 42b97ee269SEmmanuel Vadot }; 43b97ee269SEmmanuel Vadot 44b97ee269SEmmanuel Vadot B53_3: cpu@3 { 45b97ee269SEmmanuel Vadot compatible = "brcm,brahma-b53"; 46b97ee269SEmmanuel Vadot device_type = "cpu"; 47b97ee269SEmmanuel Vadot reg = <0x0 0x3>; 48b97ee269SEmmanuel Vadot next-level-cache = <&L2_0>; 49b97ee269SEmmanuel Vadot enable-method = "psci"; 50b97ee269SEmmanuel Vadot }; 51b97ee269SEmmanuel Vadot L2_0: l2-cache0 { 52b97ee269SEmmanuel Vadot compatible = "cache"; 538bab661aSEmmanuel Vadot cache-level = <2>; 54*f126890aSEmmanuel Vadot cache-unified; 55b97ee269SEmmanuel Vadot }; 56b97ee269SEmmanuel Vadot }; 57b97ee269SEmmanuel Vadot 58b97ee269SEmmanuel Vadot timer { 59b97ee269SEmmanuel Vadot compatible = "arm,armv8-timer"; 60b97ee269SEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 61b97ee269SEmmanuel Vadot <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 62b97ee269SEmmanuel Vadot <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 63b97ee269SEmmanuel Vadot <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 64b97ee269SEmmanuel Vadot }; 65b97ee269SEmmanuel Vadot 66b97ee269SEmmanuel Vadot pmu: pmu { 67b97ee269SEmmanuel Vadot compatible = "arm,armv8-pmuv3"; 68b97ee269SEmmanuel Vadot interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, 69b97ee269SEmmanuel Vadot <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, 70b97ee269SEmmanuel Vadot <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 71b97ee269SEmmanuel Vadot <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 72b97ee269SEmmanuel Vadot interrupt-affinity = <&B53_0>, <&B53_1>, 73b97ee269SEmmanuel Vadot <&B53_2>, <&B53_3>; 74b97ee269SEmmanuel Vadot }; 75b97ee269SEmmanuel Vadot 76b97ee269SEmmanuel Vadot clocks: clocks { 77b97ee269SEmmanuel Vadot periph_clk:periph-clk { 78b97ee269SEmmanuel Vadot compatible = "fixed-clock"; 79b97ee269SEmmanuel Vadot #clock-cells = <0>; 80b97ee269SEmmanuel Vadot clock-frequency = <200000000>; 81b97ee269SEmmanuel Vadot }; 82fac71e4eSEmmanuel Vadot 83fac71e4eSEmmanuel Vadot hsspi_pll: hsspi-pll { 84fac71e4eSEmmanuel Vadot compatible = "fixed-clock"; 85fac71e4eSEmmanuel Vadot #clock-cells = <0>; 86fac71e4eSEmmanuel Vadot clock-frequency = <400000000>; 87fac71e4eSEmmanuel Vadot }; 88b97ee269SEmmanuel Vadot }; 89b97ee269SEmmanuel Vadot 90b97ee269SEmmanuel Vadot psci { 91b97ee269SEmmanuel Vadot compatible = "arm,psci-0.2"; 92b97ee269SEmmanuel Vadot method = "smc"; 93b97ee269SEmmanuel Vadot }; 94b97ee269SEmmanuel Vadot 95b97ee269SEmmanuel Vadot axi@81000000 { 96b97ee269SEmmanuel Vadot compatible = "simple-bus"; 97b97ee269SEmmanuel Vadot #address-cells = <1>; 98b97ee269SEmmanuel Vadot #size-cells = <1>; 99b97ee269SEmmanuel Vadot ranges = <0x0 0x0 0x81000000 0x8000>; 100b97ee269SEmmanuel Vadot 101b97ee269SEmmanuel Vadot gic: interrupt-controller@1000 { 102b97ee269SEmmanuel Vadot compatible = "arm,gic-400"; 103b97ee269SEmmanuel Vadot #interrupt-cells = <3>; 104b97ee269SEmmanuel Vadot interrupt-controller; 105b97ee269SEmmanuel Vadot reg = <0x1000 0x1000>, /* GICD */ 106b97ee269SEmmanuel Vadot <0x2000 0x2000>, /* GICC */ 107b97ee269SEmmanuel Vadot <0x4000 0x2000>, /* GICH */ 108b97ee269SEmmanuel Vadot <0x6000 0x2000>; /* GICV */ 109b97ee269SEmmanuel Vadot interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | 110b97ee269SEmmanuel Vadot IRQ_TYPE_LEVEL_HIGH)>; 111b97ee269SEmmanuel Vadot }; 112b97ee269SEmmanuel Vadot }; 113b97ee269SEmmanuel Vadot 114b97ee269SEmmanuel Vadot bus@ff800000 { 115b97ee269SEmmanuel Vadot compatible = "simple-bus"; 116b97ee269SEmmanuel Vadot #address-cells = <1>; 117b97ee269SEmmanuel Vadot #size-cells = <1>; 118b97ee269SEmmanuel Vadot ranges = <0x0 0x0 0xff800000 0x62000>; 119b97ee269SEmmanuel Vadot 1208bab661aSEmmanuel Vadot twd: timer-mfd@400 { 1218bab661aSEmmanuel Vadot compatible = "brcm,bcm4908-twd", "simple-mfd", "syscon"; 1228bab661aSEmmanuel Vadot reg = <0x400 0x4c>; 1238bab661aSEmmanuel Vadot ranges = <0x0 0x400 0x4c>; 1248bab661aSEmmanuel Vadot 1258bab661aSEmmanuel Vadot #address-cells = <1>; 1268bab661aSEmmanuel Vadot #size-cells = <1>; 1278bab661aSEmmanuel Vadot 1288bab661aSEmmanuel Vadot timer@0 { 1298bab661aSEmmanuel Vadot compatible = "brcm,bcm63138-timer"; 1308bab661aSEmmanuel Vadot reg = <0x0 0x28>; 1318bab661aSEmmanuel Vadot }; 1328bab661aSEmmanuel Vadot 1338bab661aSEmmanuel Vadot watchdog@28 { 1348bab661aSEmmanuel Vadot compatible = "brcm,bcm6345-wdt"; 1358bab661aSEmmanuel Vadot reg = <0x28 0x8>; 1368bab661aSEmmanuel Vadot }; 1378bab661aSEmmanuel Vadot }; 1388bab661aSEmmanuel Vadot 139b97ee269SEmmanuel Vadot uart0: serial@640 { 140b97ee269SEmmanuel Vadot compatible = "brcm,bcm6345-uart"; 141b97ee269SEmmanuel Vadot reg = <0x640 0x18>; 142b97ee269SEmmanuel Vadot interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 143b97ee269SEmmanuel Vadot clocks = <&periph_clk>; 144b97ee269SEmmanuel Vadot clock-names = "refclk"; 145b97ee269SEmmanuel Vadot status = "disabled"; 146b97ee269SEmmanuel Vadot }; 147fac71e4eSEmmanuel Vadot 148fac71e4eSEmmanuel Vadot hsspi: spi@1000 { 149fac71e4eSEmmanuel Vadot #address-cells = <1>; 150fac71e4eSEmmanuel Vadot #size-cells = <0>; 151fac71e4eSEmmanuel Vadot compatible = "brcm,bcm6858-hsspi", "brcm,bcmbca-hsspi-v1.0"; 152fac71e4eSEmmanuel Vadot reg = <0x1000 0x600>; 153fac71e4eSEmmanuel Vadot interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 154fac71e4eSEmmanuel Vadot clocks = <&hsspi_pll &hsspi_pll>; 155fac71e4eSEmmanuel Vadot clock-names = "hsspi", "pll"; 156fac71e4eSEmmanuel Vadot num-cs = <8>; 157fac71e4eSEmmanuel Vadot status = "disabled"; 158fac71e4eSEmmanuel Vadot }; 159b97ee269SEmmanuel Vadot }; 160b97ee269SEmmanuel Vadot}; 161