xref: /freebsd/sys/contrib/device-tree/src/mips/mobileye/eyeq5.dtsi (revision 01950c46b8155250f64374fb72fc11faa44bf099)
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