xref: /freebsd/sys/contrib/device-tree/src/mips/mti/malta.dts (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*c66ec88fSEmmanuel Vadot/dts-v1/;
3*c66ec88fSEmmanuel Vadot
4*c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
5*c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/mips-gic.h>
6*c66ec88fSEmmanuel Vadot
7*c66ec88fSEmmanuel Vadot/memreserve/ 0x00000000 0x00001000;	/* YAMON exception vectors */
8*c66ec88fSEmmanuel Vadot/memreserve/ 0x00001000 0x000ef000;	/* YAMON */
9*c66ec88fSEmmanuel Vadot/memreserve/ 0x000f0000 0x00010000;	/* PIIX4 ISA memory */
10*c66ec88fSEmmanuel Vadot
11*c66ec88fSEmmanuel Vadot/ {
12*c66ec88fSEmmanuel Vadot	#address-cells = <1>;
13*c66ec88fSEmmanuel Vadot	#size-cells = <1>;
14*c66ec88fSEmmanuel Vadot	compatible = "mti,malta";
15*c66ec88fSEmmanuel Vadot
16*c66ec88fSEmmanuel Vadot	cpu_intc: interrupt-controller {
17*c66ec88fSEmmanuel Vadot		compatible = "mti,cpu-interrupt-controller";
18*c66ec88fSEmmanuel Vadot
19*c66ec88fSEmmanuel Vadot		interrupt-controller;
20*c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
21*c66ec88fSEmmanuel Vadot	};
22*c66ec88fSEmmanuel Vadot
23*c66ec88fSEmmanuel Vadot	gic: interrupt-controller@1bdc0000 {
24*c66ec88fSEmmanuel Vadot		compatible = "mti,gic";
25*c66ec88fSEmmanuel Vadot		reg = <0x1bdc0000 0x20000>;
26*c66ec88fSEmmanuel Vadot
27*c66ec88fSEmmanuel Vadot		interrupt-controller;
28*c66ec88fSEmmanuel Vadot		#interrupt-cells = <3>;
29*c66ec88fSEmmanuel Vadot
30*c66ec88fSEmmanuel Vadot		/*
31*c66ec88fSEmmanuel Vadot		 * Declare the interrupt-parent even though the mti,gic
32*c66ec88fSEmmanuel Vadot		 * binding doesn't require it, such that the kernel can
33*c66ec88fSEmmanuel Vadot		 * figure out that cpu_intc is the root interrupt
34*c66ec88fSEmmanuel Vadot		 * controller & should be probed first.
35*c66ec88fSEmmanuel Vadot		 */
36*c66ec88fSEmmanuel Vadot		interrupt-parent = <&cpu_intc>;
37*c66ec88fSEmmanuel Vadot
38*c66ec88fSEmmanuel Vadot		timer {
39*c66ec88fSEmmanuel Vadot			compatible = "mti,gic-timer";
40*c66ec88fSEmmanuel Vadot			interrupts = <GIC_LOCAL 1 IRQ_TYPE_NONE>;
41*c66ec88fSEmmanuel Vadot		};
42*c66ec88fSEmmanuel Vadot	};
43*c66ec88fSEmmanuel Vadot
44*c66ec88fSEmmanuel Vadot	i8259: interrupt-controller@20 {
45*c66ec88fSEmmanuel Vadot		compatible = "intel,i8259";
46*c66ec88fSEmmanuel Vadot
47*c66ec88fSEmmanuel Vadot		interrupt-controller;
48*c66ec88fSEmmanuel Vadot		#interrupt-cells = <1>;
49*c66ec88fSEmmanuel Vadot
50*c66ec88fSEmmanuel Vadot		interrupt-parent = <&gic>;
51*c66ec88fSEmmanuel Vadot		interrupts = <GIC_SHARED 3 IRQ_TYPE_LEVEL_HIGH>;
52*c66ec88fSEmmanuel Vadot	};
53*c66ec88fSEmmanuel Vadot
54*c66ec88fSEmmanuel Vadot	flash@1e000000 {
55*c66ec88fSEmmanuel Vadot		compatible = "intel,dt28f160", "cfi-flash";
56*c66ec88fSEmmanuel Vadot		reg = <0x1e000000 0x400000>;
57*c66ec88fSEmmanuel Vadot		bank-width = <4>;
58*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
59*c66ec88fSEmmanuel Vadot		#size-cells = <1>;
60*c66ec88fSEmmanuel Vadot
61*c66ec88fSEmmanuel Vadot		partitions {
62*c66ec88fSEmmanuel Vadot			compatible = "fixed-partitions";
63*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
64*c66ec88fSEmmanuel Vadot			#size-cells = <1>;
65*c66ec88fSEmmanuel Vadot
66*c66ec88fSEmmanuel Vadot			yamon@0 {
67*c66ec88fSEmmanuel Vadot				label = "YAMON";
68*c66ec88fSEmmanuel Vadot				reg = <0x0 0x100000>;
69*c66ec88fSEmmanuel Vadot				read-only;
70*c66ec88fSEmmanuel Vadot			};
71*c66ec88fSEmmanuel Vadot
72*c66ec88fSEmmanuel Vadot			user-fs@100000 {
73*c66ec88fSEmmanuel Vadot				label = "User FS";
74*c66ec88fSEmmanuel Vadot				reg = <0x100000 0x2e0000>;
75*c66ec88fSEmmanuel Vadot			};
76*c66ec88fSEmmanuel Vadot
77*c66ec88fSEmmanuel Vadot			board-config@3e0000 {
78*c66ec88fSEmmanuel Vadot				label = "Board Config";
79*c66ec88fSEmmanuel Vadot				reg = <0x3e0000 0x20000>;
80*c66ec88fSEmmanuel Vadot				read-only;
81*c66ec88fSEmmanuel Vadot			};
82*c66ec88fSEmmanuel Vadot		};
83*c66ec88fSEmmanuel Vadot	};
84*c66ec88fSEmmanuel Vadot
85*c66ec88fSEmmanuel Vadot	fpga_regs: system-controller@1f000000 {
86*c66ec88fSEmmanuel Vadot		compatible = "mti,malta-fpga", "syscon", "simple-mfd";
87*c66ec88fSEmmanuel Vadot		reg = <0x1f000000 0x1000>;
88*c66ec88fSEmmanuel Vadot		native-endian;
89*c66ec88fSEmmanuel Vadot
90*c66ec88fSEmmanuel Vadot		lcd@410 {
91*c66ec88fSEmmanuel Vadot			compatible = "mti,malta-lcd";
92*c66ec88fSEmmanuel Vadot			offset = <0x410>;
93*c66ec88fSEmmanuel Vadot		};
94*c66ec88fSEmmanuel Vadot
95*c66ec88fSEmmanuel Vadot		reboot {
96*c66ec88fSEmmanuel Vadot			compatible = "syscon-reboot";
97*c66ec88fSEmmanuel Vadot			regmap = <&fpga_regs>;
98*c66ec88fSEmmanuel Vadot			offset = <0x500>;
99*c66ec88fSEmmanuel Vadot			mask = <0x42>;
100*c66ec88fSEmmanuel Vadot		};
101*c66ec88fSEmmanuel Vadot	};
102*c66ec88fSEmmanuel Vadot
103*c66ec88fSEmmanuel Vadot	isa {
104*c66ec88fSEmmanuel Vadot		compatible = "isa";
105*c66ec88fSEmmanuel Vadot		#address-cells = <2>;
106*c66ec88fSEmmanuel Vadot		#size-cells = <1>;
107*c66ec88fSEmmanuel Vadot		ranges = <1 0 0 0x1000>;
108*c66ec88fSEmmanuel Vadot
109*c66ec88fSEmmanuel Vadot		rtc@70 {
110*c66ec88fSEmmanuel Vadot			compatible = "motorola,mc146818";
111*c66ec88fSEmmanuel Vadot			reg = <1 0x70 0x8>;
112*c66ec88fSEmmanuel Vadot
113*c66ec88fSEmmanuel Vadot			interrupt-parent = <&i8259>;
114*c66ec88fSEmmanuel Vadot			interrupts = <8>;
115*c66ec88fSEmmanuel Vadot		};
116*c66ec88fSEmmanuel Vadot	};
117*c66ec88fSEmmanuel Vadot};
118