1*01950c46SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */ 2*01950c46SEmmanuel Vadot/* 3*01950c46SEmmanuel Vadot* Copyright 2023 Mobileye Vision Technologies Ltd. 4*01950c46SEmmanuel Vadot*/ 5*01950c46SEmmanuel Vadot 6*01950c46SEmmanuel Vadot#include <dt-bindings/interrupt-controller/mips-gic.h> 7*01950c46SEmmanuel Vadot 8*01950c46SEmmanuel Vadot#include "eyeq5-fixed-clocks.dtsi" 9*01950c46SEmmanuel Vadot 10*01950c46SEmmanuel Vadot/ { 11*01950c46SEmmanuel Vadot #address-cells = <2>; 12*01950c46SEmmanuel Vadot #size-cells = <2>; 13*01950c46SEmmanuel Vadot cpus { 14*01950c46SEmmanuel Vadot #address-cells = <1>; 15*01950c46SEmmanuel Vadot #size-cells = <0>; 16*01950c46SEmmanuel Vadot cpu@0 { 17*01950c46SEmmanuel Vadot device_type = "cpu"; 18*01950c46SEmmanuel Vadot compatible = "img,i6500"; 19*01950c46SEmmanuel Vadot reg = <0>; 20*01950c46SEmmanuel Vadot clocks = <&core0_clk>; 21*01950c46SEmmanuel Vadot }; 22*01950c46SEmmanuel Vadot }; 23*01950c46SEmmanuel Vadot 24*01950c46SEmmanuel Vadot reserved-memory { 25*01950c46SEmmanuel Vadot #address-cells = <2>; 26*01950c46SEmmanuel Vadot #size-cells = <2>; 27*01950c46SEmmanuel Vadot ranges; 28*01950c46SEmmanuel Vadot 29*01950c46SEmmanuel Vadot /* These reserved memory regions are also defined in bootmanager 30*01950c46SEmmanuel Vadot * for configuring inbound translation for BARS, don't change 31*01950c46SEmmanuel Vadot * these without syncing with bootmanager 32*01950c46SEmmanuel Vadot */ 33*01950c46SEmmanuel Vadot shmem0_reserved: shmem@804000000 { 34*01950c46SEmmanuel Vadot reg = <0x8 0x04000000 0x0 0x1000000>; 35*01950c46SEmmanuel Vadot }; 36*01950c46SEmmanuel Vadot shmem1_reserved: shmem@805000000 { 37*01950c46SEmmanuel Vadot reg = <0x8 0x05000000 0x0 0x1000000>; 38*01950c46SEmmanuel Vadot }; 39*01950c46SEmmanuel Vadot pci0_msi_reserved: pci0-msi@806000000 { 40*01950c46SEmmanuel Vadot reg = <0x8 0x06000000 0x0 0x100000>; 41*01950c46SEmmanuel Vadot }; 42*01950c46SEmmanuel Vadot pci1_msi_reserved: pci1-msi@806100000 { 43*01950c46SEmmanuel Vadot reg = <0x8 0x06100000 0x0 0x100000>; 44*01950c46SEmmanuel Vadot }; 45*01950c46SEmmanuel Vadot 46*01950c46SEmmanuel Vadot mini_coredump0_reserved: mini-coredump0@806200000 { 47*01950c46SEmmanuel Vadot reg = <0x8 0x06200000 0x0 0x100000>; 48*01950c46SEmmanuel Vadot }; 49*01950c46SEmmanuel Vadot mhm_reserved_0: the-mhm-reserved-0@0 { 50*01950c46SEmmanuel Vadot reg = <0x8 0x00000000 0x0 0x0000800>; 51*01950c46SEmmanuel Vadot }; 52*01950c46SEmmanuel Vadot }; 53*01950c46SEmmanuel Vadot 54*01950c46SEmmanuel Vadot aliases { 55*01950c46SEmmanuel Vadot serial0 = &uart0; 56*01950c46SEmmanuel Vadot serial1 = &uart1; 57*01950c46SEmmanuel Vadot serial2 = &uart2; 58*01950c46SEmmanuel Vadot }; 59*01950c46SEmmanuel Vadot 60*01950c46SEmmanuel Vadot cpu_intc: interrupt-controller { 61*01950c46SEmmanuel Vadot compatible = "mti,cpu-interrupt-controller"; 62*01950c46SEmmanuel Vadot interrupt-controller; 63*01950c46SEmmanuel Vadot #address-cells = <0>; 64*01950c46SEmmanuel Vadot #interrupt-cells = <1>; 65*01950c46SEmmanuel Vadot }; 66*01950c46SEmmanuel Vadot 67*01950c46SEmmanuel Vadot soc: soc { 68*01950c46SEmmanuel Vadot #address-cells = <2>; 69*01950c46SEmmanuel Vadot #size-cells = <2>; 70*01950c46SEmmanuel Vadot ranges; 71*01950c46SEmmanuel Vadot compatible = "simple-bus"; 72*01950c46SEmmanuel Vadot 73*01950c46SEmmanuel Vadot uart0: serial@800000 { 74*01950c46SEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 75*01950c46SEmmanuel Vadot reg = <0 0x800000 0x0 0x1000>; 76*01950c46SEmmanuel Vadot reg-io-width = <4>; 77*01950c46SEmmanuel Vadot interrupt-parent = <&gic>; 78*01950c46SEmmanuel Vadot interrupts = <GIC_SHARED 6 IRQ_TYPE_LEVEL_HIGH>; 79*01950c46SEmmanuel Vadot clocks = <&uart_clk>, <&occ_periph>; 80*01950c46SEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 81*01950c46SEmmanuel Vadot }; 82*01950c46SEmmanuel Vadot 83*01950c46SEmmanuel Vadot uart1: serial@900000 { 84*01950c46SEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 85*01950c46SEmmanuel Vadot reg = <0 0x900000 0x0 0x1000>; 86*01950c46SEmmanuel Vadot reg-io-width = <4>; 87*01950c46SEmmanuel Vadot interrupt-parent = <&gic>; 88*01950c46SEmmanuel Vadot interrupts = <GIC_SHARED 6 IRQ_TYPE_LEVEL_HIGH>; 89*01950c46SEmmanuel Vadot clocks = <&uart_clk>, <&occ_periph>; 90*01950c46SEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 91*01950c46SEmmanuel Vadot }; 92*01950c46SEmmanuel Vadot 93*01950c46SEmmanuel Vadot uart2: serial@a00000 { 94*01950c46SEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 95*01950c46SEmmanuel Vadot reg = <0 0xa00000 0x0 0x1000>; 96*01950c46SEmmanuel Vadot reg-io-width = <4>; 97*01950c46SEmmanuel Vadot interrupt-parent = <&gic>; 98*01950c46SEmmanuel Vadot interrupts = <GIC_SHARED 6 IRQ_TYPE_LEVEL_HIGH>; 99*01950c46SEmmanuel Vadot clocks = <&uart_clk>, <&occ_periph>; 100*01950c46SEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 101*01950c46SEmmanuel Vadot }; 102*01950c46SEmmanuel Vadot 103*01950c46SEmmanuel Vadot gic: interrupt-controller@140000 { 104*01950c46SEmmanuel Vadot compatible = "mti,gic"; 105*01950c46SEmmanuel Vadot reg = <0x0 0x140000 0x0 0x20000>; 106*01950c46SEmmanuel Vadot interrupt-controller; 107*01950c46SEmmanuel Vadot #interrupt-cells = <3>; 108*01950c46SEmmanuel Vadot 109*01950c46SEmmanuel Vadot /* 110*01950c46SEmmanuel Vadot * Declare the interrupt-parent even though the mti,gic 111*01950c46SEmmanuel Vadot * binding doesn't require it, such that the kernel can 112*01950c46SEmmanuel Vadot * figure out that cpu_intc is the root interrupt 113*01950c46SEmmanuel Vadot * controller & should be probed first. 114*01950c46SEmmanuel Vadot */ 115*01950c46SEmmanuel Vadot interrupt-parent = <&cpu_intc>; 116*01950c46SEmmanuel Vadot 117*01950c46SEmmanuel Vadot timer { 118*01950c46SEmmanuel Vadot compatible = "mti,gic-timer"; 119*01950c46SEmmanuel Vadot interrupts = <GIC_LOCAL 1 IRQ_TYPE_NONE>; 120*01950c46SEmmanuel Vadot clocks = <&core0_clk>; 121*01950c46SEmmanuel Vadot }; 122*01950c46SEmmanuel Vadot }; 123*01950c46SEmmanuel Vadot }; 124*01950c46SEmmanuel Vadot}; 125