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,bcm6856", "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 L2_0: l2-cache0 { 37b97ee269SEmmanuel Vadot compatible = "cache"; 388bab661aSEmmanuel Vadot cache-level = <2>; 39f126890aSEmmanuel Vadot cache-unified; 40b97ee269SEmmanuel Vadot }; 41b97ee269SEmmanuel Vadot }; 42b97ee269SEmmanuel Vadot 43b97ee269SEmmanuel Vadot timer { 44b97ee269SEmmanuel Vadot compatible = "arm,armv8-timer"; 45b97ee269SEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 46b97ee269SEmmanuel Vadot <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 47b97ee269SEmmanuel Vadot <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 48b97ee269SEmmanuel Vadot <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>; 49b97ee269SEmmanuel Vadot }; 50b97ee269SEmmanuel Vadot 51b97ee269SEmmanuel Vadot pmu: pmu { 52b97ee269SEmmanuel Vadot compatible = "arm,cortex-a53-pmu"; 53b97ee269SEmmanuel Vadot interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, 54b97ee269SEmmanuel Vadot <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 55b97ee269SEmmanuel Vadot interrupt-affinity = <&B53_0>, <&B53_1>; 56b97ee269SEmmanuel Vadot }; 57b97ee269SEmmanuel Vadot 58b97ee269SEmmanuel Vadot clocks: clocks { 59b97ee269SEmmanuel Vadot periph_clk:periph-clk { 60b97ee269SEmmanuel Vadot compatible = "fixed-clock"; 61b97ee269SEmmanuel Vadot #clock-cells = <0>; 62b97ee269SEmmanuel Vadot clock-frequency = <200000000>; 63b97ee269SEmmanuel Vadot }; 64fac71e4eSEmmanuel Vadot 65fac71e4eSEmmanuel Vadot hsspi_pll: hsspi-pll { 66fac71e4eSEmmanuel Vadot compatible = "fixed-clock"; 67fac71e4eSEmmanuel Vadot #clock-cells = <0>; 68fac71e4eSEmmanuel Vadot clock-frequency = <400000000>; 69fac71e4eSEmmanuel Vadot }; 70b97ee269SEmmanuel Vadot }; 71b97ee269SEmmanuel Vadot 72b97ee269SEmmanuel Vadot psci { 73b97ee269SEmmanuel Vadot compatible = "arm,psci-0.2"; 74b97ee269SEmmanuel Vadot method = "smc"; 75b97ee269SEmmanuel Vadot }; 76b97ee269SEmmanuel Vadot 77b97ee269SEmmanuel Vadot axi@81000000 { 78b97ee269SEmmanuel Vadot compatible = "simple-bus"; 79b97ee269SEmmanuel Vadot #address-cells = <1>; 80b97ee269SEmmanuel Vadot #size-cells = <1>; 81b97ee269SEmmanuel Vadot ranges = <0x0 0x0 0x81000000 0x8000>; 82b97ee269SEmmanuel Vadot 83b97ee269SEmmanuel Vadot gic: interrupt-controller@1000 { 84b97ee269SEmmanuel Vadot compatible = "arm,gic-400"; 85b97ee269SEmmanuel Vadot #interrupt-cells = <3>; 86b97ee269SEmmanuel Vadot interrupt-controller; 87b97ee269SEmmanuel Vadot reg = <0x1000 0x1000>, /* GICD */ 88b97ee269SEmmanuel Vadot <0x2000 0x2000>, /* GICC */ 89b97ee269SEmmanuel Vadot <0x4000 0x2000>, /* GICH */ 90b97ee269SEmmanuel Vadot <0x6000 0x2000>; /* GICV */ 91b97ee269SEmmanuel Vadot interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | 92b97ee269SEmmanuel Vadot IRQ_TYPE_LEVEL_HIGH)>; 93b97ee269SEmmanuel Vadot }; 94b97ee269SEmmanuel Vadot }; 95b97ee269SEmmanuel Vadot 96b97ee269SEmmanuel Vadot bus@ff800000 { 97b97ee269SEmmanuel Vadot compatible = "simple-bus"; 98b97ee269SEmmanuel Vadot #address-cells = <1>; 99b97ee269SEmmanuel Vadot #size-cells = <1>; 100b97ee269SEmmanuel Vadot ranges = <0x0 0x0 0xff800000 0x800000>; 101b97ee269SEmmanuel Vadot 102b97ee269SEmmanuel Vadot uart0: serial@640 { 103b97ee269SEmmanuel Vadot compatible = "brcm,bcm6345-uart"; 104b97ee269SEmmanuel Vadot reg = <0x640 0x18>; 105b97ee269SEmmanuel Vadot interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 106b97ee269SEmmanuel Vadot clocks = <&periph_clk>; 107b97ee269SEmmanuel Vadot clock-names = "refclk"; 108b97ee269SEmmanuel Vadot status = "disabled"; 109b97ee269SEmmanuel Vadot }; 110fac71e4eSEmmanuel Vadot 111fac71e4eSEmmanuel Vadot hsspi: spi@1000 { 112fac71e4eSEmmanuel Vadot #address-cells = <1>; 113fac71e4eSEmmanuel Vadot #size-cells = <0>; 114fac71e4eSEmmanuel Vadot compatible = "brcm,bcm6856-hsspi", "brcm,bcmbca-hsspi-v1.0"; 115fac71e4eSEmmanuel Vadot reg = <0x1000 0x600>; 116fac71e4eSEmmanuel Vadot interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 117fac71e4eSEmmanuel Vadot clocks = <&hsspi_pll &hsspi_pll>; 118fac71e4eSEmmanuel Vadot clock-names = "hsspi", "pll"; 119fac71e4eSEmmanuel Vadot num-cs = <8>; 120fac71e4eSEmmanuel Vadot status = "disabled"; 121fac71e4eSEmmanuel Vadot }; 122*01950c46SEmmanuel Vadot 123*01950c46SEmmanuel Vadot nand_controller: nand-controller@1800 { 124*01950c46SEmmanuel Vadot #address-cells = <1>; 125*01950c46SEmmanuel Vadot #size-cells = <0>; 126*01950c46SEmmanuel Vadot compatible = "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmnand"; 127*01950c46SEmmanuel Vadot reg = <0x1800 0x600>, <0x2000 0x10>; 128*01950c46SEmmanuel Vadot reg-names = "nand", "nand-int-base"; 129*01950c46SEmmanuel Vadot status = "disabled"; 130*01950c46SEmmanuel Vadot 131*01950c46SEmmanuel Vadot nandcs: nand@0 { 132*01950c46SEmmanuel Vadot compatible = "brcm,nandcs"; 133*01950c46SEmmanuel Vadot reg = <0>; 134*01950c46SEmmanuel Vadot }; 135*01950c46SEmmanuel Vadot }; 136b97ee269SEmmanuel Vadot }; 137b97ee269SEmmanuel Vadot}; 138