xref: /openbmc/u-boot/arch/mips/dts/mscc,luton.dtsi (revision 544d5e98f3657e4ac1966be8971586aa42dad8c4)
1f8c8ceddSGregory CLEMENT// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2f8c8ceddSGregory CLEMENT/*
3f8c8ceddSGregory CLEMENT * Copyright (c) 2018 Microsemi Corporation
4f8c8ceddSGregory CLEMENT */
5f8c8ceddSGregory CLEMENT
6f8c8ceddSGregory CLEMENT#include <dt-bindings/gpio/gpio.h>
7f8c8ceddSGregory CLEMENT
8f8c8ceddSGregory CLEMENT/ {
9f8c8ceddSGregory CLEMENT	#address-cells = <1>;
10f8c8ceddSGregory CLEMENT	#size-cells = <1>;
11f8c8ceddSGregory CLEMENT	compatible = "mscc,luton";
12f8c8ceddSGregory CLEMENT
13f8c8ceddSGregory CLEMENT	cpus {
14f8c8ceddSGregory CLEMENT		#address-cells = <1>;
15f8c8ceddSGregory CLEMENT		#size-cells = <0>;
16f8c8ceddSGregory CLEMENT
17f8c8ceddSGregory CLEMENT		cpu@0 {
18f8c8ceddSGregory CLEMENT			compatible = "mips,mips24KEc";
19f8c8ceddSGregory CLEMENT			device_type = "cpu";
20f8c8ceddSGregory CLEMENT			reg = <0>;
21f8c8ceddSGregory CLEMENT		};
22f8c8ceddSGregory CLEMENT	};
23f8c8ceddSGregory CLEMENT
24f8c8ceddSGregory CLEMENT	aliases {
25f8c8ceddSGregory CLEMENT		serial0 = &uart0;
26f8c8ceddSGregory CLEMENT	};
27f8c8ceddSGregory CLEMENT
28738f2b14SLars Povlsen	sys_clk: sys-clk {
29738f2b14SLars Povlsen		compatible = "fixed-clock";
30738f2b14SLars Povlsen		#clock-cells = <0>;
31738f2b14SLars Povlsen		clock-frequency = <250000000>;
32738f2b14SLars Povlsen	};
33f8c8ceddSGregory CLEMENT	ahb_clk: ahb-clk {
34f8c8ceddSGregory CLEMENT		compatible = "fixed-clock";
35f8c8ceddSGregory CLEMENT		#clock-cells = <0>;
36f8c8ceddSGregory CLEMENT		clock-frequency = <208333333>;
37f8c8ceddSGregory CLEMENT	};
38f8c8ceddSGregory CLEMENT
39f8c8ceddSGregory CLEMENT	ahb {
40f8c8ceddSGregory CLEMENT		compatible = "simple-bus";
41f8c8ceddSGregory CLEMENT		#address-cells = <1>;
42f8c8ceddSGregory CLEMENT		#size-cells = <1>;
43f8c8ceddSGregory CLEMENT		ranges = <0 0x60000000 0x10200000>;
44f8c8ceddSGregory CLEMENT
45f8c8ceddSGregory CLEMENT		uart0: serial@10100000 {
46f8c8ceddSGregory CLEMENT			pinctrl-0 = <&uart_pins>;
47f8c8ceddSGregory CLEMENT			pinctrl-names = "default";
48f8c8ceddSGregory CLEMENT
49f8c8ceddSGregory CLEMENT			compatible = "ns16550a";
50f8c8ceddSGregory CLEMENT			reg = <0x10100000 0x20>;
51f8c8ceddSGregory CLEMENT			clocks = <&ahb_clk>;
52f8c8ceddSGregory CLEMENT			reg-io-width = <4>;
53f8c8ceddSGregory CLEMENT			reg-shift = <2>;
54f8c8ceddSGregory CLEMENT
55f8c8ceddSGregory CLEMENT			status = "disabled";
56f8c8ceddSGregory CLEMENT		};
57f8c8ceddSGregory CLEMENT
58f8c8ceddSGregory CLEMENT		gpio: pinctrl@70068 {
59f8c8ceddSGregory CLEMENT			compatible = "mscc,luton-pinctrl";
60f8c8ceddSGregory CLEMENT			reg = <0x70068 0x68>;
61f8c8ceddSGregory CLEMENT			gpio-controller;
62f8c8ceddSGregory CLEMENT			#gpio-cells = <2>;
63f8c8ceddSGregory CLEMENT			gpio-ranges = <&gpio 0 0 32>;
64f8c8ceddSGregory CLEMENT
65738f2b14SLars Povlsen			sgpio_pins: sgpio-pins {
66738f2b14SLars Povlsen				pins = "GPIO_0", "GPIO_1", "GPIO_2", "GPIO_3";
67738f2b14SLars Povlsen				function = "sio";
68738f2b14SLars Povlsen			};
69f8c8ceddSGregory CLEMENT			uart_pins: uart-pins {
70f8c8ceddSGregory CLEMENT				pins = "GPIO_30", "GPIO_31";
71f8c8ceddSGregory CLEMENT				function = "uart";
72f8c8ceddSGregory CLEMENT			};
73738f2b14SLars Povlsen		};
74f8c8ceddSGregory CLEMENT
75738f2b14SLars Povlsen		sgpio: gpio@70130 {
76738f2b14SLars Povlsen			compatible = "mscc,luton-sgpio";
77738f2b14SLars Povlsen			status = "disabled";
78738f2b14SLars Povlsen			clocks = <&sys_clk>;
79738f2b14SLars Povlsen			pinctrl-0 = <&sgpio_pins>;
80738f2b14SLars Povlsen			pinctrl-names = "default";
81738f2b14SLars Povlsen			reg = <0x0070130 0x100>;
82738f2b14SLars Povlsen			gpio-controller;
83738f2b14SLars Povlsen			#gpio-cells = <2>;
84738f2b14SLars Povlsen			gpio-ranges = <&sgpio 0 0 64>;
85f8c8ceddSGregory CLEMENT		};
86f8c8ceddSGregory CLEMENT
87f8c8ceddSGregory CLEMENT		spi0: spi-bitbang {
886492c916SLars Povlsen			compatible = "mscc,luton-bb-spi";
89f8c8ceddSGregory CLEMENT			status = "okay";
906492c916SLars Povlsen			reg = <0x10000064 0x4>;
91f8c8ceddSGregory CLEMENT			num-chipselects = <1>;
92f8c8ceddSGregory CLEMENT			#address-cells = <1>;
93f8c8ceddSGregory CLEMENT			#size-cells = <0>;
94f8c8ceddSGregory CLEMENT		};
95*ee7b65f2SHoratiu Vultur
96*ee7b65f2SHoratiu Vultur		switch: switch@1010000 {
97*ee7b65f2SHoratiu Vultur			compatible = "mscc,vsc7527-switch";
98*ee7b65f2SHoratiu Vultur			reg = <0x1e0000 0x0100>, // VTSS_TO_DEV_0
99*ee7b65f2SHoratiu Vultur			      <0x1f0000 0x0100>, // VTSS_TO_DEV_1
100*ee7b65f2SHoratiu Vultur			      <0x200000 0x0100>, // VTSS_TO_DEV_2
101*ee7b65f2SHoratiu Vultur			      <0x210000 0x0100>, // VTSS_TO_DEV_3
102*ee7b65f2SHoratiu Vultur			      <0x220000 0x0100>, // VTSS_TO_DEV_4
103*ee7b65f2SHoratiu Vultur			      <0x230000 0x0100>, // VTSS_TO_DEV_5
104*ee7b65f2SHoratiu Vultur			      <0x240000 0x0100>, // VTSS_TO_DEV_6
105*ee7b65f2SHoratiu Vultur			      <0x250000 0x0100>, // VTSS_TO_DEV_7
106*ee7b65f2SHoratiu Vultur			      <0x260000 0x0100>, // VTSS_TO_DEV_8
107*ee7b65f2SHoratiu Vultur			      <0x270000 0x0100>, // VTSS_TO_DEV_9
108*ee7b65f2SHoratiu Vultur			      <0x280000 0x0100>, // VTSS_TO_DEV_10
109*ee7b65f2SHoratiu Vultur			      <0x290000 0x0100>, // VTSS_TO_DEV_11
110*ee7b65f2SHoratiu Vultur			      <0x2a0000 0x0100>, // VTSS_TO_DEV_12
111*ee7b65f2SHoratiu Vultur			      <0x2b0000 0x0100>, // VTSS_TO_DEV_13
112*ee7b65f2SHoratiu Vultur			      <0x2c0000 0x0100>, // VTSS_TO_DEV_14
113*ee7b65f2SHoratiu Vultur			      <0x2d0000 0x0100>, // VTSS_TO_DEV_15
114*ee7b65f2SHoratiu Vultur			      <0x2e0000 0x0100>, // VTSS_TO_DEV_16
115*ee7b65f2SHoratiu Vultur			      <0x2f0000 0x0100>, // VTSS_TO_DEV_17
116*ee7b65f2SHoratiu Vultur			      <0x300000 0x0100>, // VTSS_TO_DEV_18
117*ee7b65f2SHoratiu Vultur			      <0x310000 0x0100>, // VTSS_TO_DEV_19
118*ee7b65f2SHoratiu Vultur			      <0x320000 0x0100>, // VTSS_TO_DEV_20
119*ee7b65f2SHoratiu Vultur			      <0x330000 0x0100>, // VTSS_TO_DEV_21
120*ee7b65f2SHoratiu Vultur			      <0x340000 0x0100>, // VTSS_TO_DEV_22
121*ee7b65f2SHoratiu Vultur			      <0x350000 0x0100>, // VTSS_TO_DEV_23
122*ee7b65f2SHoratiu Vultur			      <0x010000 0x1000>, // VTSS_TO_SYS
123*ee7b65f2SHoratiu Vultur			      <0x020000 0x1000>, // VTSS_TO_ANA
124*ee7b65f2SHoratiu Vultur			      <0x030000 0x1000>, // VTSS_TO_REW
125*ee7b65f2SHoratiu Vultur			      <0x070000 0x1000>, // VTSS_TO_DEVCPU_GCB
126*ee7b65f2SHoratiu Vultur			      <0x080000 0x0100>, // VTSS_TO_DEVCPU_QS
127*ee7b65f2SHoratiu Vultur			      <0x0a0000 0x0100>; // VTSS_TO_HSIO
128*ee7b65f2SHoratiu Vultur			reg-names = "port0", "port1", "port2", "port3",
129*ee7b65f2SHoratiu Vultur				    "port4", "port5", "port6", "port7",
130*ee7b65f2SHoratiu Vultur				    "port8", "port9", "port10", "port11",
131*ee7b65f2SHoratiu Vultur				    "port12", "port13", "port14", "port15",
132*ee7b65f2SHoratiu Vultur				    "port16", "port17", "port18", "port19",
133*ee7b65f2SHoratiu Vultur				    "port20", "port21", "port22", "port23",
134*ee7b65f2SHoratiu Vultur				    "sys", "ana", "rew", "gcb", "qs", "hsio";
135*ee7b65f2SHoratiu Vultur			status = "okay";
136*ee7b65f2SHoratiu Vultur
137*ee7b65f2SHoratiu Vultur			ethernet-ports {
138*ee7b65f2SHoratiu Vultur				#address-cells = <1>;
139*ee7b65f2SHoratiu Vultur				#size-cells = <0>;
140*ee7b65f2SHoratiu Vultur
141*ee7b65f2SHoratiu Vultur				port0: port@0 {
142*ee7b65f2SHoratiu Vultur					reg = <0>;
143*ee7b65f2SHoratiu Vultur				};
144*ee7b65f2SHoratiu Vultur				port1: port@1 {
145*ee7b65f2SHoratiu Vultur					reg = <1>;
146*ee7b65f2SHoratiu Vultur				};
147*ee7b65f2SHoratiu Vultur				port2: port@2 {
148*ee7b65f2SHoratiu Vultur					reg = <2>;
149*ee7b65f2SHoratiu Vultur				};
150*ee7b65f2SHoratiu Vultur				port3: port@3 {
151*ee7b65f2SHoratiu Vultur					reg = <3>;
152*ee7b65f2SHoratiu Vultur				};
153*ee7b65f2SHoratiu Vultur				port4: port@4 {
154*ee7b65f2SHoratiu Vultur					reg = <4>;
155*ee7b65f2SHoratiu Vultur				};
156*ee7b65f2SHoratiu Vultur				port5: port@5 {
157*ee7b65f2SHoratiu Vultur					reg = <5>;
158*ee7b65f2SHoratiu Vultur				};
159*ee7b65f2SHoratiu Vultur				port6: port@6 {
160*ee7b65f2SHoratiu Vultur					reg = <6>;
161*ee7b65f2SHoratiu Vultur				};
162*ee7b65f2SHoratiu Vultur				port7: port@7 {
163*ee7b65f2SHoratiu Vultur					reg = <7>;
164*ee7b65f2SHoratiu Vultur				};
165*ee7b65f2SHoratiu Vultur				port8: port@8 {
166*ee7b65f2SHoratiu Vultur					reg = <8>;
167*ee7b65f2SHoratiu Vultur				};
168*ee7b65f2SHoratiu Vultur				port9: port@9 {
169*ee7b65f2SHoratiu Vultur					reg = <9>;
170*ee7b65f2SHoratiu Vultur				};
171*ee7b65f2SHoratiu Vultur				port10: port@10 {
172*ee7b65f2SHoratiu Vultur					reg = <10>;
173*ee7b65f2SHoratiu Vultur				};
174*ee7b65f2SHoratiu Vultur				port11: port@11 {
175*ee7b65f2SHoratiu Vultur					reg = <11>;
176*ee7b65f2SHoratiu Vultur				};
177*ee7b65f2SHoratiu Vultur				port12: port@12 {
178*ee7b65f2SHoratiu Vultur					reg = <12>;
179*ee7b65f2SHoratiu Vultur				};
180*ee7b65f2SHoratiu Vultur				port13: port@13 {
181*ee7b65f2SHoratiu Vultur					reg = <13>;
182*ee7b65f2SHoratiu Vultur				};
183*ee7b65f2SHoratiu Vultur				port14: port@14 {
184*ee7b65f2SHoratiu Vultur					reg = <14>;
185*ee7b65f2SHoratiu Vultur				};
186*ee7b65f2SHoratiu Vultur				port15: port@15 {
187*ee7b65f2SHoratiu Vultur					reg = <15>;
188*ee7b65f2SHoratiu Vultur				};
189*ee7b65f2SHoratiu Vultur				port16: port@16 {
190*ee7b65f2SHoratiu Vultur					reg = <16>;
191*ee7b65f2SHoratiu Vultur				};
192*ee7b65f2SHoratiu Vultur				port17: port@17 {
193*ee7b65f2SHoratiu Vultur					reg = <17>;
194*ee7b65f2SHoratiu Vultur				};
195*ee7b65f2SHoratiu Vultur				port18: port@18 {
196*ee7b65f2SHoratiu Vultur					reg = <18>;
197*ee7b65f2SHoratiu Vultur				};
198*ee7b65f2SHoratiu Vultur				port19: port@19 {
199*ee7b65f2SHoratiu Vultur					reg = <19>;
200*ee7b65f2SHoratiu Vultur				};
201*ee7b65f2SHoratiu Vultur				port20: port@20 {
202*ee7b65f2SHoratiu Vultur					reg = <20>;
203*ee7b65f2SHoratiu Vultur				};
204*ee7b65f2SHoratiu Vultur				port21: port@21 {
205*ee7b65f2SHoratiu Vultur					reg = <21>;
206*ee7b65f2SHoratiu Vultur				};
207*ee7b65f2SHoratiu Vultur				port22: port@22 {
208*ee7b65f2SHoratiu Vultur					reg = <22>;
209*ee7b65f2SHoratiu Vultur				};
210*ee7b65f2SHoratiu Vultur				port23: port@23 {
211*ee7b65f2SHoratiu Vultur					reg = <23>;
212*ee7b65f2SHoratiu Vultur				};
213*ee7b65f2SHoratiu Vultur			};
214*ee7b65f2SHoratiu Vultur		};
215*ee7b65f2SHoratiu Vultur
216*ee7b65f2SHoratiu Vultur		mdio0: mdio@700a0 {
217*ee7b65f2SHoratiu Vultur			#address-cells = <1>;
218*ee7b65f2SHoratiu Vultur			#size-cells = <0>;
219*ee7b65f2SHoratiu Vultur			compatible = "mscc,luton-miim";
220*ee7b65f2SHoratiu Vultur			reg = <0x700a0 0x24>;
221*ee7b65f2SHoratiu Vultur			status = "disabled";
222*ee7b65f2SHoratiu Vultur
223*ee7b65f2SHoratiu Vultur			phy0: ethernet-phy@0 {
224*ee7b65f2SHoratiu Vultur				reg = <0>;
225*ee7b65f2SHoratiu Vultur			};
226*ee7b65f2SHoratiu Vultur			phy1: ethernet-phy@1 {
227*ee7b65f2SHoratiu Vultur				reg = <1>;
228*ee7b65f2SHoratiu Vultur			};
229*ee7b65f2SHoratiu Vultur			phy2: ethernet-phy@2 {
230*ee7b65f2SHoratiu Vultur				reg = <2>;
231*ee7b65f2SHoratiu Vultur			};
232*ee7b65f2SHoratiu Vultur			phy3: ethernet-phy@3 {
233*ee7b65f2SHoratiu Vultur				reg = <3>;
234*ee7b65f2SHoratiu Vultur			};
235*ee7b65f2SHoratiu Vultur			phy4: ethernet-phy@4 {
236*ee7b65f2SHoratiu Vultur				reg = <4>;
237*ee7b65f2SHoratiu Vultur			};
238*ee7b65f2SHoratiu Vultur			phy5: ethernet-phy@5 {
239*ee7b65f2SHoratiu Vultur				reg = <5>;
240*ee7b65f2SHoratiu Vultur			};
241*ee7b65f2SHoratiu Vultur			phy6: ethernet-phy@6 {
242*ee7b65f2SHoratiu Vultur				reg = <6>;
243*ee7b65f2SHoratiu Vultur			};
244*ee7b65f2SHoratiu Vultur			phy7: ethernet-phy@7 {
245*ee7b65f2SHoratiu Vultur				reg = <7>;
246*ee7b65f2SHoratiu Vultur			};
247*ee7b65f2SHoratiu Vultur			phy8: ethernet-phy@8 {
248*ee7b65f2SHoratiu Vultur				reg = <8>;
249*ee7b65f2SHoratiu Vultur			};
250*ee7b65f2SHoratiu Vultur			phy9: ethernet-phy@9 {
251*ee7b65f2SHoratiu Vultur				reg = <9>;
252*ee7b65f2SHoratiu Vultur			};
253*ee7b65f2SHoratiu Vultur			phy10: ethernet-phy@10 {
254*ee7b65f2SHoratiu Vultur				reg = <10>;
255*ee7b65f2SHoratiu Vultur			};
256*ee7b65f2SHoratiu Vultur			phy11: ethernet-phy@11 {
257*ee7b65f2SHoratiu Vultur				reg = <11>;
258*ee7b65f2SHoratiu Vultur			};
259*ee7b65f2SHoratiu Vultur		};
260f8c8ceddSGregory CLEMENT	};
261f8c8ceddSGregory CLEMENT};
262