1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * Copyright 2022 Broadcom Ltd. 4*f126890aSEmmanuel Vadot */ 5*f126890aSEmmanuel Vadot 6*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 7*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 8*f126890aSEmmanuel Vadot 9*f126890aSEmmanuel Vadot/ { 10*f126890aSEmmanuel Vadot compatible = "brcm,bcm6756", "brcm,bcmbca"; 11*f126890aSEmmanuel Vadot #address-cells = <1>; 12*f126890aSEmmanuel Vadot #size-cells = <1>; 13*f126890aSEmmanuel Vadot 14*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 15*f126890aSEmmanuel Vadot 16*f126890aSEmmanuel Vadot cpus { 17*f126890aSEmmanuel Vadot #address-cells = <1>; 18*f126890aSEmmanuel Vadot #size-cells = <0>; 19*f126890aSEmmanuel Vadot 20*f126890aSEmmanuel Vadot CA7_0: cpu@0 { 21*f126890aSEmmanuel Vadot device_type = "cpu"; 22*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 23*f126890aSEmmanuel Vadot reg = <0x0>; 24*f126890aSEmmanuel Vadot next-level-cache = <&L2_0>; 25*f126890aSEmmanuel Vadot enable-method = "psci"; 26*f126890aSEmmanuel Vadot }; 27*f126890aSEmmanuel Vadot 28*f126890aSEmmanuel Vadot CA7_1: cpu@1 { 29*f126890aSEmmanuel Vadot device_type = "cpu"; 30*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 31*f126890aSEmmanuel Vadot reg = <0x1>; 32*f126890aSEmmanuel Vadot next-level-cache = <&L2_0>; 33*f126890aSEmmanuel Vadot enable-method = "psci"; 34*f126890aSEmmanuel Vadot }; 35*f126890aSEmmanuel Vadot 36*f126890aSEmmanuel Vadot CA7_2: cpu@2 { 37*f126890aSEmmanuel Vadot device_type = "cpu"; 38*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 39*f126890aSEmmanuel Vadot reg = <0x2>; 40*f126890aSEmmanuel Vadot next-level-cache = <&L2_0>; 41*f126890aSEmmanuel Vadot enable-method = "psci"; 42*f126890aSEmmanuel Vadot }; 43*f126890aSEmmanuel Vadot 44*f126890aSEmmanuel Vadot CA7_3: cpu@3 { 45*f126890aSEmmanuel Vadot device_type = "cpu"; 46*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 47*f126890aSEmmanuel Vadot reg = <0x3>; 48*f126890aSEmmanuel Vadot next-level-cache = <&L2_0>; 49*f126890aSEmmanuel Vadot enable-method = "psci"; 50*f126890aSEmmanuel Vadot }; 51*f126890aSEmmanuel Vadot 52*f126890aSEmmanuel Vadot L2_0: l2-cache0 { 53*f126890aSEmmanuel Vadot compatible = "cache"; 54*f126890aSEmmanuel Vadot cache-level = <2>; 55*f126890aSEmmanuel Vadot cache-unified; 56*f126890aSEmmanuel Vadot }; 57*f126890aSEmmanuel Vadot }; 58*f126890aSEmmanuel Vadot 59*f126890aSEmmanuel Vadot timer { 60*f126890aSEmmanuel Vadot compatible = "arm,armv7-timer"; 61*f126890aSEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 62*f126890aSEmmanuel Vadot <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 63*f126890aSEmmanuel Vadot <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 64*f126890aSEmmanuel Vadot <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 65*f126890aSEmmanuel Vadot arm,cpu-registers-not-fw-configured; 66*f126890aSEmmanuel Vadot }; 67*f126890aSEmmanuel Vadot 68*f126890aSEmmanuel Vadot pmu: pmu { 69*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7-pmu"; 70*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 71*f126890aSEmmanuel Vadot <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 72*f126890aSEmmanuel Vadot <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, 73*f126890aSEmmanuel Vadot <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 74*f126890aSEmmanuel Vadot interrupt-affinity = <&CA7_0>, <&CA7_1>, 75*f126890aSEmmanuel Vadot <&CA7_2>, <&CA7_3>; 76*f126890aSEmmanuel Vadot }; 77*f126890aSEmmanuel Vadot 78*f126890aSEmmanuel Vadot clocks: clocks { 79*f126890aSEmmanuel Vadot periph_clk: periph-clk { 80*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 81*f126890aSEmmanuel Vadot #clock-cells = <0>; 82*f126890aSEmmanuel Vadot clock-frequency = <200000000>; 83*f126890aSEmmanuel Vadot }; 84*f126890aSEmmanuel Vadot 85*f126890aSEmmanuel Vadot uart_clk: uart-clk { 86*f126890aSEmmanuel Vadot compatible = "fixed-factor-clock"; 87*f126890aSEmmanuel Vadot #clock-cells = <0>; 88*f126890aSEmmanuel Vadot clocks = <&periph_clk>; 89*f126890aSEmmanuel Vadot clock-div = <4>; 90*f126890aSEmmanuel Vadot clock-mult = <1>; 91*f126890aSEmmanuel Vadot }; 92*f126890aSEmmanuel Vadot 93*f126890aSEmmanuel Vadot hsspi_pll: hsspi-pll { 94*f126890aSEmmanuel Vadot compatible = "fixed-clock"; 95*f126890aSEmmanuel Vadot #clock-cells = <0>; 96*f126890aSEmmanuel Vadot clock-frequency = <200000000>; 97*f126890aSEmmanuel Vadot }; 98*f126890aSEmmanuel Vadot }; 99*f126890aSEmmanuel Vadot 100*f126890aSEmmanuel Vadot psci { 101*f126890aSEmmanuel Vadot compatible = "arm,psci-0.2"; 102*f126890aSEmmanuel Vadot method = "smc"; 103*f126890aSEmmanuel Vadot }; 104*f126890aSEmmanuel Vadot 105*f126890aSEmmanuel Vadot axi@81000000 { 106*f126890aSEmmanuel Vadot compatible = "simple-bus"; 107*f126890aSEmmanuel Vadot #address-cells = <1>; 108*f126890aSEmmanuel Vadot #size-cells = <1>; 109*f126890aSEmmanuel Vadot ranges = <0 0x81000000 0x8000>; 110*f126890aSEmmanuel Vadot 111*f126890aSEmmanuel Vadot gic: interrupt-controller@1000 { 112*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7-gic"; 113*f126890aSEmmanuel Vadot #interrupt-cells = <3>; 114*f126890aSEmmanuel Vadot interrupt-controller; 115*f126890aSEmmanuel Vadot interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 116*f126890aSEmmanuel Vadot reg = <0x1000 0x1000>, 117*f126890aSEmmanuel Vadot <0x2000 0x2000>, 118*f126890aSEmmanuel Vadot <0x4000 0x2000>, 119*f126890aSEmmanuel Vadot <0x6000 0x2000>; 120*f126890aSEmmanuel Vadot }; 121*f126890aSEmmanuel Vadot }; 122*f126890aSEmmanuel Vadot 123*f126890aSEmmanuel Vadot bus@ff800000 { 124*f126890aSEmmanuel Vadot compatible = "simple-bus"; 125*f126890aSEmmanuel Vadot #address-cells = <1>; 126*f126890aSEmmanuel Vadot #size-cells = <1>; 127*f126890aSEmmanuel Vadot ranges = <0 0xff800000 0x800000>; 128*f126890aSEmmanuel Vadot 129*f126890aSEmmanuel Vadot hsspi: spi@1000 { 130*f126890aSEmmanuel Vadot #address-cells = <1>; 131*f126890aSEmmanuel Vadot #size-cells = <0>; 132*f126890aSEmmanuel Vadot compatible = "brcm,bcm6756-hsspi", "brcm,bcmbca-hsspi-v1.1"; 133*f126890aSEmmanuel Vadot reg = <0x1000 0x600>, <0x2610 0x4>; 134*f126890aSEmmanuel Vadot reg-names = "hsspi", "spim-ctrl"; 135*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 136*f126890aSEmmanuel Vadot clocks = <&hsspi_pll &hsspi_pll>; 137*f126890aSEmmanuel Vadot clock-names = "hsspi", "pll"; 138*f126890aSEmmanuel Vadot num-cs = <8>; 139*f126890aSEmmanuel Vadot status = "disabled"; 140*f126890aSEmmanuel Vadot }; 141*f126890aSEmmanuel Vadot 142*f126890aSEmmanuel Vadot uart0: serial@12000 { 143*f126890aSEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 144*f126890aSEmmanuel Vadot reg = <0x12000 0x1000>; 145*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 146*f126890aSEmmanuel Vadot clocks = <&uart_clk>, <&uart_clk>; 147*f126890aSEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 148*f126890aSEmmanuel Vadot status = "disabled"; 149*f126890aSEmmanuel Vadot }; 150*f126890aSEmmanuel Vadot }; 151*f126890aSEmmanuel Vadot}; 152