1// SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause
2
3/ {
4	compatible = "realtek,rtl9302-soc";
5
6	#address-cells = <1>;
7	#size-cells = <1>;
8
9	aliases {
10		serial0 = &uart0;
11		serial1 = &uart1;
12	};
13
14	cpuintc: cpuintc {
15		compatible = "mti,cpu-interrupt-controller";
16		#address-cells = <0>;
17		#interrupt-cells = <1>;
18		interrupt-controller;
19	};
20
21	cpus {
22		#address-cells = <1>;
23		#size-cells = <0>;
24
25		cpu@0 {
26			device_type = "cpu";
27			compatible = "mips,mips34Kc";
28			reg = <0>;
29			clocks = <&baseclk>;
30		};
31	};
32
33	baseclk: clock-800mhz {
34		compatible = "fixed-clock";
35		#clock-cells = <0>;
36		clock-frequency = <800000000>;
37	};
38
39	lx_clk: clock-175mhz {
40		compatible = "fixed-clock";
41		#clock-cells = <0>;
42		clock-frequency  = <175000000>;
43	};
44
45	switch0: switch@1b000000 {
46		compatible = "realtek,rtl9301-switch", "syscon", "simple-mfd";
47		reg = <0x1b000000 0x10000>;
48		#address-cells = <1>;
49		#size-cells = <1>;
50
51		reboot@c {
52			compatible = "syscon-reboot";
53			reg = <0x0c 0x4>;
54			value = <0x01>;
55		};
56
57		i2c0: i2c@36c {
58			compatible = "realtek,rtl9301-i2c";
59			reg = <0x36c 0x14>;
60			#address-cells = <1>;
61			#size-cells = <0>;
62			status = "disabled";
63		};
64
65		i2c1: i2c@388 {
66			compatible = "realtek,rtl9301-i2c";
67			reg = <0x388 0x14>;
68			#address-cells = <1>;
69			#size-cells = <0>;
70			status = "disabled";
71		};
72	};
73
74	soc: soc@18000000 {
75		compatible = "simple-bus";
76		#address-cells = <1>;
77		#size-cells = <1>;
78		ranges = <0x0 0x18000000 0x20000>;
79
80		intc: interrupt-controller@3000 {
81			compatible = "realtek,rtl9300-intc", "realtek,rtl-intc";
82			reg = <0x3000 0x18>, <0x3018 0x18>;
83			interrupt-controller;
84			#interrupt-cells = <1>;
85
86			interrupt-parent = <&cpuintc>;
87			interrupts = <2>, <3>, <4>, <5>, <6>, <7>;
88		};
89
90		spi0: spi@1200 {
91			compatible = "realtek,rtl8380-spi";
92			reg = <0x1200 0x100>;
93
94			#address-cells = <1>;
95			#size-cells = <0>;
96		};
97
98		timer0: timer@3200 {
99			compatible = "realtek,rtl9302-timer", "realtek,otto-timer";
100			reg = <0x3200 0x10>, <0x3210 0x10>, <0x3220 0x10>,
101			    <0x3230 0x10>, <0x3240 0x10>;
102
103			interrupt-parent = <&intc>;
104			interrupts = <7>, <8>, <9>, <10>, <11>;
105			clocks = <&lx_clk>;
106		};
107
108		snand: spi@1a400 {
109			compatible = "realtek,rtl9301-snand";
110			reg = <0x1a400 0x44>;
111			interrupt-parent = <&intc>;
112			interrupts = <19>;
113			clocks = <&lx_clk>;
114			#address-cells = <1>;
115			#size-cells = <0>;
116			status = "disabled";
117		};
118
119		uart0: serial@2000 {
120			compatible = "ns16550a";
121			reg = <0x2000 0x100>;
122
123			clocks = <&lx_clk>;
124
125			interrupt-parent = <&intc>;
126			interrupts = <30>;
127
128			reg-io-width = <1>;
129			reg-shift = <2>;
130			fifo-size = <1>;
131			no-loopback-test;
132
133			status = "disabled";
134		};
135
136		uart1: serial@2100 {
137			compatible = "ns16550a";
138			reg = <0x2100 0x100>;
139
140			clocks = <&lx_clk>;
141
142			interrupt-parent = <&intc>;
143			interrupts = <31>;
144
145			reg-io-width = <1>;
146			reg-shift = <2>;
147			fifo-size = <1>;
148			no-loopback-test;
149
150			status = "disabled";
151		};
152	};
153};
154