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,bcm63158", "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 52b97ee269SEmmanuel Vadot L2_0: l2-cache0 { 53b97ee269SEmmanuel Vadot compatible = "cache"; 548bab661aSEmmanuel Vadot cache-level = <2>; 55*f126890aSEmmanuel Vadot cache-unified; 56b97ee269SEmmanuel Vadot }; 57b97ee269SEmmanuel Vadot }; 58b97ee269SEmmanuel Vadot 59b97ee269SEmmanuel Vadot timer { 60b97ee269SEmmanuel Vadot compatible = "arm,armv8-timer"; 61b97ee269SEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 62b97ee269SEmmanuel Vadot <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 63b97ee269SEmmanuel Vadot <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 64b97ee269SEmmanuel Vadot <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 65b97ee269SEmmanuel Vadot }; 66b97ee269SEmmanuel Vadot 67b97ee269SEmmanuel Vadot pmu: pmu { 68b97ee269SEmmanuel Vadot compatible = "arm,cortex-a53-pmu"; 69b97ee269SEmmanuel Vadot interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, 70b97ee269SEmmanuel Vadot <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, 71b97ee269SEmmanuel Vadot <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 72b97ee269SEmmanuel Vadot <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 73b97ee269SEmmanuel Vadot interrupt-affinity = <&B53_0>, <&B53_1>, 74b97ee269SEmmanuel Vadot <&B53_2>, <&B53_3>; 75b97ee269SEmmanuel Vadot }; 76b97ee269SEmmanuel Vadot 77b97ee269SEmmanuel Vadot clocks: clocks { 78b97ee269SEmmanuel Vadot periph_clk: periph-clk { 79b97ee269SEmmanuel Vadot compatible = "fixed-clock"; 80b97ee269SEmmanuel Vadot #clock-cells = <0>; 81b97ee269SEmmanuel Vadot clock-frequency = <200000000>; 82b97ee269SEmmanuel Vadot }; 83fac71e4eSEmmanuel Vadot 84b97ee269SEmmanuel Vadot uart_clk: uart-clk { 85b97ee269SEmmanuel Vadot compatible = "fixed-factor-clock"; 86b97ee269SEmmanuel Vadot #clock-cells = <0>; 87b97ee269SEmmanuel Vadot clocks = <&periph_clk>; 88b97ee269SEmmanuel Vadot clock-div = <4>; 89b97ee269SEmmanuel Vadot clock-mult = <1>; 90b97ee269SEmmanuel Vadot }; 91fac71e4eSEmmanuel Vadot 92fac71e4eSEmmanuel Vadot hsspi_pll: hsspi-pll { 93fac71e4eSEmmanuel Vadot compatible = "fixed-clock"; 94fac71e4eSEmmanuel Vadot #clock-cells = <0>; 95fac71e4eSEmmanuel Vadot clock-frequency = <400000000>; 96fac71e4eSEmmanuel Vadot }; 97b97ee269SEmmanuel Vadot }; 98b97ee269SEmmanuel Vadot 99b97ee269SEmmanuel Vadot psci { 100b97ee269SEmmanuel Vadot compatible = "arm,psci-0.2"; 101b97ee269SEmmanuel Vadot method = "smc"; 102b97ee269SEmmanuel Vadot }; 103b97ee269SEmmanuel Vadot 104b97ee269SEmmanuel Vadot axi@81000000 { 105b97ee269SEmmanuel Vadot compatible = "simple-bus"; 106b97ee269SEmmanuel Vadot #address-cells = <1>; 107b97ee269SEmmanuel Vadot #size-cells = <1>; 108b97ee269SEmmanuel Vadot ranges = <0x0 0x0 0x81000000 0x8000>; 109b97ee269SEmmanuel Vadot 110b97ee269SEmmanuel Vadot gic: interrupt-controller@1000 { 111b97ee269SEmmanuel Vadot compatible = "arm,gic-400"; 112b97ee269SEmmanuel Vadot #interrupt-cells = <3>; 113b97ee269SEmmanuel Vadot interrupt-controller; 114b97ee269SEmmanuel Vadot interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 115b97ee269SEmmanuel Vadot reg = <0x1000 0x1000>, 116b97ee269SEmmanuel Vadot <0x2000 0x2000>, 117b97ee269SEmmanuel Vadot <0x4000 0x2000>, 118b97ee269SEmmanuel Vadot <0x6000 0x2000>; 119b97ee269SEmmanuel Vadot }; 120b97ee269SEmmanuel Vadot }; 121b97ee269SEmmanuel Vadot 122b97ee269SEmmanuel Vadot bus@ff800000 { 123b97ee269SEmmanuel Vadot compatible = "simple-bus"; 124b97ee269SEmmanuel Vadot #address-cells = <1>; 125b97ee269SEmmanuel Vadot #size-cells = <1>; 126b97ee269SEmmanuel Vadot ranges = <0x0 0x0 0xff800000 0x800000>; 127b97ee269SEmmanuel Vadot 128fac71e4eSEmmanuel Vadot hsspi: spi@1000 { 129fac71e4eSEmmanuel Vadot #address-cells = <1>; 130fac71e4eSEmmanuel Vadot #size-cells = <0>; 131fac71e4eSEmmanuel Vadot compatible = "brcm,bcm63158-hsspi", "brcm,bcmbca-hsspi-v1.0"; 132fac71e4eSEmmanuel Vadot reg = <0x1000 0x600>; 133fac71e4eSEmmanuel Vadot interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 134fac71e4eSEmmanuel Vadot clocks = <&hsspi_pll &hsspi_pll>; 135fac71e4eSEmmanuel Vadot clock-names = "hsspi", "pll"; 136fac71e4eSEmmanuel Vadot num-cs = <8>; 137fac71e4eSEmmanuel Vadot status = "disabled"; 138fac71e4eSEmmanuel Vadot }; 139fac71e4eSEmmanuel Vadot 140b97ee269SEmmanuel Vadot uart0: serial@12000 { 141b97ee269SEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 142b97ee269SEmmanuel Vadot reg = <0x12000 0x1000>; 143b97ee269SEmmanuel Vadot interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 144b97ee269SEmmanuel Vadot clocks = <&uart_clk>, <&uart_clk>; 145b97ee269SEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 146b97ee269SEmmanuel Vadot status = "disabled"; 147b97ee269SEmmanuel Vadot }; 148b97ee269SEmmanuel Vadot }; 149b97ee269SEmmanuel Vadot}; 150