1aa1a8ff2SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 OR MIT 2d5b0e70fSEmmanuel Vadot/* 3d5b0e70fSEmmanuel Vadot * Copyright (c) 2022, Arm Limited. All rights reserved. 4d5b0e70fSEmmanuel Vadot * Copyright (c) 2022, Linaro Limited. All rights reserved. 5d5b0e70fSEmmanuel Vadot * 6d5b0e70fSEmmanuel Vadot */ 7d5b0e70fSEmmanuel Vadot 8d5b0e70fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 9d5b0e70fSEmmanuel Vadot 10d5b0e70fSEmmanuel Vadot/ { 11d5b0e70fSEmmanuel Vadot interrupt-parent = <&gic>; 12d5b0e70fSEmmanuel Vadot #address-cells = <1>; 13d5b0e70fSEmmanuel Vadot #size-cells = <1>; 14d5b0e70fSEmmanuel Vadot 15d5b0e70fSEmmanuel Vadot aliases { 16d5b0e70fSEmmanuel Vadot serial0 = &uart0; 17d5b0e70fSEmmanuel Vadot serial1 = &uart1; 18d5b0e70fSEmmanuel Vadot }; 19d5b0e70fSEmmanuel Vadot 20d5b0e70fSEmmanuel Vadot chosen { 21d5b0e70fSEmmanuel Vadot stdout-path = "serial0:115200n8"; 22d5b0e70fSEmmanuel Vadot }; 23d5b0e70fSEmmanuel Vadot 24d5b0e70fSEmmanuel Vadot cpus { 25d5b0e70fSEmmanuel Vadot #address-cells = <1>; 26d5b0e70fSEmmanuel Vadot #size-cells = <0>; 27d5b0e70fSEmmanuel Vadot 28d5b0e70fSEmmanuel Vadot cpu: cpu@0 { 29d5b0e70fSEmmanuel Vadot device_type = "cpu"; 30d5b0e70fSEmmanuel Vadot compatible = "arm,cortex-a35"; 31d5b0e70fSEmmanuel Vadot reg = <0>; 32d5b0e70fSEmmanuel Vadot next-level-cache = <&L2_0>; 33d5b0e70fSEmmanuel Vadot }; 34d5b0e70fSEmmanuel Vadot }; 35d5b0e70fSEmmanuel Vadot 36d5b0e70fSEmmanuel Vadot memory@88200000 { 37d5b0e70fSEmmanuel Vadot device_type = "memory"; 38d5b0e70fSEmmanuel Vadot reg = <0x88200000 0x77e00000>; 39d5b0e70fSEmmanuel Vadot }; 40d5b0e70fSEmmanuel Vadot 41d5b0e70fSEmmanuel Vadot gic: interrupt-controller@1c000000 { 42d5b0e70fSEmmanuel Vadot compatible = "arm,gic-400"; 43d5b0e70fSEmmanuel Vadot #interrupt-cells = <3>; 44d5b0e70fSEmmanuel Vadot #address-cells = <0>; 45d5b0e70fSEmmanuel Vadot interrupt-controller; 46d5b0e70fSEmmanuel Vadot reg = <0x1c010000 0x1000>, 47d5b0e70fSEmmanuel Vadot <0x1c02f000 0x2000>, 48d5b0e70fSEmmanuel Vadot <0x1c04f000 0x1000>, 49d5b0e70fSEmmanuel Vadot <0x1c06f000 0x2000>; 50d5b0e70fSEmmanuel Vadot interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(1) | 51d5b0e70fSEmmanuel Vadot IRQ_TYPE_LEVEL_LOW)>; 52d5b0e70fSEmmanuel Vadot }; 53d5b0e70fSEmmanuel Vadot 54d5b0e70fSEmmanuel Vadot L2_0: l2-cache0 { 55d5b0e70fSEmmanuel Vadot compatible = "cache"; 568bab661aSEmmanuel Vadot cache-unified; 57d5b0e70fSEmmanuel Vadot cache-level = <2>; 58d5b0e70fSEmmanuel Vadot cache-size = <0x80000>; 59d5b0e70fSEmmanuel Vadot cache-line-size = <64>; 60d5b0e70fSEmmanuel Vadot cache-sets = <1024>; 61d5b0e70fSEmmanuel Vadot }; 62d5b0e70fSEmmanuel Vadot 63*0e8011faSEmmanuel Vadot refclk100mhz: clock-100000000 { 64d5b0e70fSEmmanuel Vadot compatible = "fixed-clock"; 65d5b0e70fSEmmanuel Vadot #clock-cells = <0>; 66d5b0e70fSEmmanuel Vadot clock-frequency = <100000000>; 67d5b0e70fSEmmanuel Vadot clock-output-names = "apb_pclk"; 68d5b0e70fSEmmanuel Vadot }; 69d5b0e70fSEmmanuel Vadot 70*0e8011faSEmmanuel Vadot smbclk: clock-48000000 { 71d5b0e70fSEmmanuel Vadot /* Reference 24MHz clock x 2 */ 72d5b0e70fSEmmanuel Vadot compatible = "fixed-clock"; 73d5b0e70fSEmmanuel Vadot #clock-cells = <0>; 74d5b0e70fSEmmanuel Vadot clock-frequency = <48000000>; 75d5b0e70fSEmmanuel Vadot clock-output-names = "smclk"; 76d5b0e70fSEmmanuel Vadot }; 77d5b0e70fSEmmanuel Vadot 78d5b0e70fSEmmanuel Vadot timer { 79d5b0e70fSEmmanuel Vadot compatible = "arm,armv8-timer"; 80aa1a8ff2SEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 81aa1a8ff2SEmmanuel Vadot <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 82aa1a8ff2SEmmanuel Vadot <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 83aa1a8ff2SEmmanuel Vadot <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>; 84d5b0e70fSEmmanuel Vadot }; 85d5b0e70fSEmmanuel Vadot 86*0e8011faSEmmanuel Vadot uartclk: clock-50000000 { 87d5b0e70fSEmmanuel Vadot /* UART clock - 50MHz */ 88d5b0e70fSEmmanuel Vadot compatible = "fixed-clock"; 89d5b0e70fSEmmanuel Vadot #clock-cells = <0>; 90d5b0e70fSEmmanuel Vadot clock-frequency = <50000000>; 91d5b0e70fSEmmanuel Vadot clock-output-names = "uartclk"; 92d5b0e70fSEmmanuel Vadot }; 93d5b0e70fSEmmanuel Vadot 94d5b0e70fSEmmanuel Vadot psci { 95d5b0e70fSEmmanuel Vadot compatible = "arm,psci-1.0", "arm,psci-0.2"; 96d5b0e70fSEmmanuel Vadot method = "smc"; 97d5b0e70fSEmmanuel Vadot }; 98d5b0e70fSEmmanuel Vadot 99d5b0e70fSEmmanuel Vadot soc { 100d5b0e70fSEmmanuel Vadot compatible = "simple-bus"; 101d5b0e70fSEmmanuel Vadot #address-cells = <1>; 102d5b0e70fSEmmanuel Vadot #size-cells = <1>; 103d5b0e70fSEmmanuel Vadot interrupt-parent = <&gic>; 104d5b0e70fSEmmanuel Vadot ranges; 105d5b0e70fSEmmanuel Vadot 106d5b0e70fSEmmanuel Vadot timer@1a220000 { 107d5b0e70fSEmmanuel Vadot compatible = "arm,armv7-timer-mem"; 108d5b0e70fSEmmanuel Vadot reg = <0x1a220000 0x1000>; 109d5b0e70fSEmmanuel Vadot #address-cells = <1>; 110d5b0e70fSEmmanuel Vadot #size-cells = <1>; 111d5b0e70fSEmmanuel Vadot clock-frequency = <50000000>; 112d5b0e70fSEmmanuel Vadot ranges; 113d5b0e70fSEmmanuel Vadot 114d5b0e70fSEmmanuel Vadot frame@1a230000 { 115d5b0e70fSEmmanuel Vadot frame-number = <0>; 116d5b0e70fSEmmanuel Vadot interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 117d5b0e70fSEmmanuel Vadot reg = <0x1a230000 0x1000>; 118d5b0e70fSEmmanuel Vadot }; 119d5b0e70fSEmmanuel Vadot }; 120d5b0e70fSEmmanuel Vadot 121d5b0e70fSEmmanuel Vadot uart0: serial@1a510000 { 122d5b0e70fSEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 123d5b0e70fSEmmanuel Vadot reg = <0x1a510000 0x1000>; 124d5b0e70fSEmmanuel Vadot interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 125d5b0e70fSEmmanuel Vadot clocks = <&uartclk>, <&refclk100mhz>; 126d5b0e70fSEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 127d5b0e70fSEmmanuel Vadot }; 128d5b0e70fSEmmanuel Vadot 129d5b0e70fSEmmanuel Vadot uart1: serial@1a520000 { 130d5b0e70fSEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 131d5b0e70fSEmmanuel Vadot reg = <0x1a520000 0x1000>; 132d5b0e70fSEmmanuel Vadot interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 133d5b0e70fSEmmanuel Vadot clocks = <&uartclk>, <&refclk100mhz>; 134d5b0e70fSEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 135d5b0e70fSEmmanuel Vadot }; 136d5b0e70fSEmmanuel Vadot 137d5b0e70fSEmmanuel Vadot mhu_hse1: mailbox@1b820000 { 138d5b0e70fSEmmanuel Vadot compatible = "arm,mhuv2-tx", "arm,primecell"; 139d5b0e70fSEmmanuel Vadot reg = <0x1b820000 0x1000>; 140d5b0e70fSEmmanuel Vadot clocks = <&refclk100mhz>; 141d5b0e70fSEmmanuel Vadot clock-names = "apb_pclk"; 142d5b0e70fSEmmanuel Vadot interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 143d5b0e70fSEmmanuel Vadot #mbox-cells = <2>; 144d5b0e70fSEmmanuel Vadot arm,mhuv2-protocols = <0 0>; 145d5b0e70fSEmmanuel Vadot secure-status = "okay"; /* secure-world-only */ 146d5b0e70fSEmmanuel Vadot status = "disabled"; 147d5b0e70fSEmmanuel Vadot }; 148d5b0e70fSEmmanuel Vadot 149d5b0e70fSEmmanuel Vadot mhu_seh1: mailbox@1b830000 { 150d5b0e70fSEmmanuel Vadot compatible = "arm,mhuv2-rx", "arm,primecell"; 151d5b0e70fSEmmanuel Vadot reg = <0x1b830000 0x1000>; 152d5b0e70fSEmmanuel Vadot clocks = <&refclk100mhz>; 153d5b0e70fSEmmanuel Vadot clock-names = "apb_pclk"; 154d5b0e70fSEmmanuel Vadot interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 155d5b0e70fSEmmanuel Vadot #mbox-cells = <2>; 156d5b0e70fSEmmanuel Vadot arm,mhuv2-protocols = <0 0>; 157d5b0e70fSEmmanuel Vadot secure-status = "okay"; /* secure-world-only */ 158d5b0e70fSEmmanuel Vadot status = "disabled"; 159d5b0e70fSEmmanuel Vadot }; 160d5b0e70fSEmmanuel Vadot }; 161d5b0e70fSEmmanuel Vadot}; 162