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