xref: /freebsd/sys/contrib/device-tree/src/mips/mobileye/eyeq6h.dtsi (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1*0e8011faSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*0e8011faSEmmanuel Vadot/*
3*0e8011faSEmmanuel Vadot * Copyright 2024 Mobileye Vision Technologies Ltd.
4*0e8011faSEmmanuel Vadot */
5*0e8011faSEmmanuel Vadot
6*0e8011faSEmmanuel Vadot#include <dt-bindings/interrupt-controller/mips-gic.h>
7*0e8011faSEmmanuel Vadot
8*0e8011faSEmmanuel Vadot#include "eyeq6h-fixed-clocks.dtsi"
9*0e8011faSEmmanuel Vadot
10*0e8011faSEmmanuel Vadot/ {
11*0e8011faSEmmanuel Vadot	#address-cells = <2>;
12*0e8011faSEmmanuel Vadot	#size-cells = <2>;
13*0e8011faSEmmanuel Vadot	cpus {
14*0e8011faSEmmanuel Vadot		#address-cells = <1>;
15*0e8011faSEmmanuel Vadot		#size-cells = <0>;
16*0e8011faSEmmanuel Vadot		cpu@0 {
17*0e8011faSEmmanuel Vadot			device_type = "cpu";
18*0e8011faSEmmanuel Vadot			compatible = "img,i6500";
19*0e8011faSEmmanuel Vadot			reg = <0>;
20*0e8011faSEmmanuel Vadot			clocks = <&occ_cpu>;
21*0e8011faSEmmanuel Vadot		};
22*0e8011faSEmmanuel Vadot	};
23*0e8011faSEmmanuel Vadot
24*0e8011faSEmmanuel Vadot	aliases {
25*0e8011faSEmmanuel Vadot		serial0 = &uart0;
26*0e8011faSEmmanuel Vadot	};
27*0e8011faSEmmanuel Vadot
28*0e8011faSEmmanuel Vadot	cpu_intc: interrupt-controller {
29*0e8011faSEmmanuel Vadot		compatible = "mti,cpu-interrupt-controller";
30*0e8011faSEmmanuel Vadot		interrupt-controller;
31*0e8011faSEmmanuel Vadot		#address-cells = <0>;
32*0e8011faSEmmanuel Vadot		#interrupt-cells = <1>;
33*0e8011faSEmmanuel Vadot	};
34*0e8011faSEmmanuel Vadot
35*0e8011faSEmmanuel Vadot	soc: soc {
36*0e8011faSEmmanuel Vadot		compatible = "simple-bus";
37*0e8011faSEmmanuel Vadot		#address-cells = <2>;
38*0e8011faSEmmanuel Vadot		#size-cells = <2>;
39*0e8011faSEmmanuel Vadot		ranges;
40*0e8011faSEmmanuel Vadot
41*0e8011faSEmmanuel Vadot		uart0: serial@d3331000 {
42*0e8011faSEmmanuel Vadot			compatible = "arm,pl011", "arm,primecell";
43*0e8011faSEmmanuel Vadot			reg = <0 0xd3331000 0x0 0x1000>;
44*0e8011faSEmmanuel Vadot			reg-io-width = <4>;
45*0e8011faSEmmanuel Vadot			interrupt-parent = <&gic>;
46*0e8011faSEmmanuel Vadot			interrupts = <GIC_SHARED 43 IRQ_TYPE_LEVEL_HIGH>;
47*0e8011faSEmmanuel Vadot			clocks = <&occ_periph_w>, <&occ_periph_w>;
48*0e8011faSEmmanuel Vadot			clock-names = "uartclk", "apb_pclk";
49*0e8011faSEmmanuel Vadot		};
50*0e8011faSEmmanuel Vadot
51*0e8011faSEmmanuel Vadot		pinctrl_west: pinctrl@d3337000 {
52*0e8011faSEmmanuel Vadot			compatible = "pinctrl-single";
53*0e8011faSEmmanuel Vadot			reg = <0x0 0xd3337000 0x0 0xb0>;
54*0e8011faSEmmanuel Vadot			#pinctrl-cells = <1>;
55*0e8011faSEmmanuel Vadot			pinctrl-single,register-width = <32>;
56*0e8011faSEmmanuel Vadot			pinctrl-single,function-mask = <0xffff>;
57*0e8011faSEmmanuel Vadot		};
58*0e8011faSEmmanuel Vadot
59*0e8011faSEmmanuel Vadot		pinctrl_east: pinctrl@d3357000 {
60*0e8011faSEmmanuel Vadot			compatible = "pinctrl-single";
61*0e8011faSEmmanuel Vadot			reg = <0x0 0xd3357000 0x0 0xb0>;
62*0e8011faSEmmanuel Vadot			#pinctrl-cells = <1>;
63*0e8011faSEmmanuel Vadot			pinctrl-single,register-width = <32>;
64*0e8011faSEmmanuel Vadot			pinctrl-single,function-mask = <0xffff>;
65*0e8011faSEmmanuel Vadot		};
66*0e8011faSEmmanuel Vadot
67*0e8011faSEmmanuel Vadot		pinctrl_south: pinctrl@d8014000 {
68*0e8011faSEmmanuel Vadot			compatible = "pinctrl-single";
69*0e8011faSEmmanuel Vadot			reg = <0x0 0xd8014000 0x0 0xf8>;
70*0e8011faSEmmanuel Vadot			#pinctrl-cells = <1>;
71*0e8011faSEmmanuel Vadot			pinctrl-single,register-width = <32>;
72*0e8011faSEmmanuel Vadot			pinctrl-single,function-mask = <0xffff>;
73*0e8011faSEmmanuel Vadot		};
74*0e8011faSEmmanuel Vadot
75*0e8011faSEmmanuel Vadot		gic: interrupt-controller@f0920000 {
76*0e8011faSEmmanuel Vadot			compatible = "mti,gic";
77*0e8011faSEmmanuel Vadot			reg = <0x0 0xf0920000 0x0 0x20000>;
78*0e8011faSEmmanuel Vadot			interrupt-controller;
79*0e8011faSEmmanuel Vadot			#interrupt-cells = <3>;
80*0e8011faSEmmanuel Vadot
81*0e8011faSEmmanuel Vadot			/*
82*0e8011faSEmmanuel Vadot			 * Declare the interrupt-parent even though the mti,gic
83*0e8011faSEmmanuel Vadot			 * binding doesn't require it, such that the kernel can
84*0e8011faSEmmanuel Vadot			 * figure out that cpu_intc is the root interrupt
85*0e8011faSEmmanuel Vadot			 * controller & should be probed first.
86*0e8011faSEmmanuel Vadot			 */
87*0e8011faSEmmanuel Vadot			interrupt-parent = <&cpu_intc>;
88*0e8011faSEmmanuel Vadot
89*0e8011faSEmmanuel Vadot			timer {
90*0e8011faSEmmanuel Vadot				compatible = "mti,gic-timer";
91*0e8011faSEmmanuel Vadot				interrupts = <GIC_LOCAL 1 IRQ_TYPE_NONE>;
92*0e8011faSEmmanuel Vadot				clocks = <&occ_cpu>;
93*0e8011faSEmmanuel Vadot			};
94*0e8011faSEmmanuel Vadot		};
95*0e8011faSEmmanuel Vadot	};
96*0e8011faSEmmanuel Vadot};
97*0e8011faSEmmanuel Vadot
98*0e8011faSEmmanuel Vadot#include "eyeq6h-pins.dtsi"
99