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,bcm63146", "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>; 39*f126890aSEmmanuel 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 7 IRQ_TYPE_LEVEL_HIGH>, 54b97ee269SEmmanuel Vadot <GIC_SPI 8 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 65b97ee269SEmmanuel Vadot uart_clk: uart-clk { 66b97ee269SEmmanuel Vadot compatible = "fixed-factor-clock"; 67b97ee269SEmmanuel Vadot #clock-cells = <0>; 68b97ee269SEmmanuel Vadot clocks = <&periph_clk>; 69b97ee269SEmmanuel Vadot clock-div = <4>; 70b97ee269SEmmanuel Vadot clock-mult = <1>; 71b97ee269SEmmanuel Vadot }; 72fac71e4eSEmmanuel Vadot 73fac71e4eSEmmanuel Vadot hsspi_pll: hsspi-pll { 74fac71e4eSEmmanuel Vadot compatible = "fixed-clock"; 75fac71e4eSEmmanuel Vadot #clock-cells = <0>; 76fac71e4eSEmmanuel Vadot clock-frequency = <200000000>; 77fac71e4eSEmmanuel Vadot }; 78b97ee269SEmmanuel Vadot }; 79b97ee269SEmmanuel Vadot 80b97ee269SEmmanuel Vadot psci { 81b97ee269SEmmanuel Vadot compatible = "arm,psci-0.2"; 82b97ee269SEmmanuel Vadot method = "smc"; 83b97ee269SEmmanuel Vadot }; 84b97ee269SEmmanuel Vadot 85b97ee269SEmmanuel Vadot axi@81000000 { 86b97ee269SEmmanuel Vadot compatible = "simple-bus"; 87b97ee269SEmmanuel Vadot #address-cells = <1>; 88b97ee269SEmmanuel Vadot #size-cells = <1>; 89b97ee269SEmmanuel Vadot ranges = <0x0 0x0 0x81000000 0x8000>; 90b97ee269SEmmanuel Vadot 91b97ee269SEmmanuel Vadot gic: interrupt-controller@1000 { 92b97ee269SEmmanuel Vadot compatible = "arm,gic-400"; 93b97ee269SEmmanuel Vadot #interrupt-cells = <3>; 94b97ee269SEmmanuel Vadot interrupt-controller; 95b97ee269SEmmanuel Vadot reg = <0x1000 0x1000>, 96b97ee269SEmmanuel Vadot <0x2000 0x2000>, 97b97ee269SEmmanuel Vadot <0x4000 0x2000>, 98b97ee269SEmmanuel Vadot <0x6000 0x2000>; 99b97ee269SEmmanuel Vadot interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | 100b97ee269SEmmanuel Vadot IRQ_TYPE_LEVEL_HIGH)>; 101b97ee269SEmmanuel Vadot }; 102b97ee269SEmmanuel Vadot }; 103b97ee269SEmmanuel Vadot 104b97ee269SEmmanuel Vadot bus@ff800000 { 105b97ee269SEmmanuel Vadot compatible = "simple-bus"; 106b97ee269SEmmanuel Vadot #address-cells = <1>; 107b97ee269SEmmanuel Vadot #size-cells = <1>; 108b97ee269SEmmanuel Vadot ranges = <0x0 0x0 0xff800000 0x800000>; 109b97ee269SEmmanuel Vadot 110fac71e4eSEmmanuel Vadot hsspi: spi@1000 { 111fac71e4eSEmmanuel Vadot #address-cells = <1>; 112fac71e4eSEmmanuel Vadot #size-cells = <0>; 113fac71e4eSEmmanuel Vadot compatible = "brcm,bcm63146-hsspi", "brcm,bcmbca-hsspi-v1.0"; 114fac71e4eSEmmanuel Vadot reg = <0x1000 0x600>; 115fac71e4eSEmmanuel Vadot interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 116fac71e4eSEmmanuel Vadot clocks = <&hsspi_pll &hsspi_pll>; 117fac71e4eSEmmanuel Vadot clock-names = "hsspi", "pll"; 118fac71e4eSEmmanuel Vadot num-cs = <8>; 119fac71e4eSEmmanuel Vadot status = "disabled"; 120fac71e4eSEmmanuel Vadot }; 121fac71e4eSEmmanuel Vadot 122b97ee269SEmmanuel Vadot uart0: serial@12000 { 123b97ee269SEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 124b97ee269SEmmanuel Vadot reg = <0x12000 0x1000>; 125b97ee269SEmmanuel Vadot interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 126b97ee269SEmmanuel Vadot clocks = <&uart_clk>, <&uart_clk>; 127b97ee269SEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 128b97ee269SEmmanuel Vadot status = "disabled"; 129b97ee269SEmmanuel Vadot }; 130b97ee269SEmmanuel Vadot }; 131b97ee269SEmmanuel Vadot}; 132