xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/vf610-zii-ssmb-dtu.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2*4882a593Smuzhiyun
3*4882a593Smuzhiyun/*
4*4882a593Smuzhiyun * Device tree file for ZII's SSMB DTU board
5*4882a593Smuzhiyun *
6*4882a593Smuzhiyun * SSMB - SPU3 Switch Management Board
7*4882a593Smuzhiyun * DTU - Digital Tapping Unit
8*4882a593Smuzhiyun *
9*4882a593Smuzhiyun * Copyright (C) 2015-2019 Zodiac Inflight Innovations
10*4882a593Smuzhiyun *
11*4882a593Smuzhiyun * Based on an original 'vf610-twr.dts' which is Copyright 2015,
12*4882a593Smuzhiyun * Freescale Semiconductor, Inc.
13*4882a593Smuzhiyun */
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun/dts-v1/;
16*4882a593Smuzhiyun#include "vf610.dtsi"
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun/ {
19*4882a593Smuzhiyun	model = "ZII VF610 SSMB DTU Board";
20*4882a593Smuzhiyun	compatible = "zii,vf610dtu", "zii,vf610dev", "fsl,vf610";
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun	chosen {
23*4882a593Smuzhiyun		stdout-path = &uart0;
24*4882a593Smuzhiyun	};
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun	memory@80000000 {
27*4882a593Smuzhiyun		device_type = "memory";
28*4882a593Smuzhiyun		reg = <0x80000000 0x20000000>;
29*4882a593Smuzhiyun	};
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun	gpio-leds {
32*4882a593Smuzhiyun		compatible = "gpio-leds";
33*4882a593Smuzhiyun		pinctrl-0 = <&pinctrl_leds_debug>;
34*4882a593Smuzhiyun		pinctrl-names = "default";
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun		led-debug {
37*4882a593Smuzhiyun			label = "zii:green:debug1";
38*4882a593Smuzhiyun			gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>;
39*4882a593Smuzhiyun			linux,default-trigger = "heartbeat";
40*4882a593Smuzhiyun		};
41*4882a593Smuzhiyun	};
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun	reg_vcc_3v3_mcu: regulator {
44*4882a593Smuzhiyun		compatible = "regulator-fixed";
45*4882a593Smuzhiyun		regulator-name = "vcc_3v3_mcu";
46*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
47*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
48*4882a593Smuzhiyun	};
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun	supply-voltage-monitor {
51*4882a593Smuzhiyun		compatible = "iio-hwmon";
52*4882a593Smuzhiyun		io-channels = <&adc0 8>, /* 12V_MAIN */
53*4882a593Smuzhiyun			      <&adc0 9>, /* +3.3V    */
54*4882a593Smuzhiyun			      <&adc1 8>, /* VCC_1V5  */
55*4882a593Smuzhiyun			      <&adc1 9>; /* VCC_1V2  */
56*4882a593Smuzhiyun	};
57*4882a593Smuzhiyun};
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun&adc0 {
60*4882a593Smuzhiyun	vref-supply = <&reg_vcc_3v3_mcu>;
61*4882a593Smuzhiyun	status = "okay";
62*4882a593Smuzhiyun};
63*4882a593Smuzhiyun
64*4882a593Smuzhiyun&adc1 {
65*4882a593Smuzhiyun	vref-supply = <&reg_vcc_3v3_mcu>;
66*4882a593Smuzhiyun	status = "okay";
67*4882a593Smuzhiyun};
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun&edma0 {
70*4882a593Smuzhiyun	status = "okay";
71*4882a593Smuzhiyun};
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun&edma1 {
74*4882a593Smuzhiyun	status = "okay";
75*4882a593Smuzhiyun};
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun&esdhc0 {
78*4882a593Smuzhiyun	pinctrl-names = "default";
79*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_esdhc0>;
80*4882a593Smuzhiyun	bus-width = <8>;
81*4882a593Smuzhiyun	non-removable;
82*4882a593Smuzhiyun	no-1-8-v;
83*4882a593Smuzhiyun	keep-power-in-suspend;
84*4882a593Smuzhiyun	no-sdio;
85*4882a593Smuzhiyun	no-sd;
86*4882a593Smuzhiyun	status = "okay";
87*4882a593Smuzhiyun};
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun&esdhc1 {
90*4882a593Smuzhiyun	pinctrl-names = "default";
91*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_esdhc1>;
92*4882a593Smuzhiyun	bus-width = <4>;
93*4882a593Smuzhiyun	no-sdio;
94*4882a593Smuzhiyun	status = "okay";
95*4882a593Smuzhiyun};
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun&fec1 {
98*4882a593Smuzhiyun	phy-mode = "rmii";
99*4882a593Smuzhiyun	pinctrl-names = "default";
100*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_fec1>;
101*4882a593Smuzhiyun	status = "okay";
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun	fixed-link {
104*4882a593Smuzhiyun		speed = <100>;
105*4882a593Smuzhiyun		full-duplex;
106*4882a593Smuzhiyun	};
107*4882a593Smuzhiyun
108*4882a593Smuzhiyun	mdio1: mdio {
109*4882a593Smuzhiyun		#address-cells = <1>;
110*4882a593Smuzhiyun		#size-cells = <0>;
111*4882a593Smuzhiyun		clock-frequency = <12500000>;
112*4882a593Smuzhiyun		suppress-preamble;
113*4882a593Smuzhiyun		status = "okay";
114*4882a593Smuzhiyun
115*4882a593Smuzhiyun		switch0: switch0@0 {
116*4882a593Smuzhiyun			compatible = "marvell,mv88e6190";
117*4882a593Smuzhiyun			pinctrl-0 = <&pinctrl_gpio_switch0>;
118*4882a593Smuzhiyun			pinctrl-names = "default";
119*4882a593Smuzhiyun			reg = <0>;
120*4882a593Smuzhiyun			eeprom-length = <65536>;
121*4882a593Smuzhiyun			interrupt-parent = <&gpio3>;
122*4882a593Smuzhiyun			interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
123*4882a593Smuzhiyun			interrupt-controller;
124*4882a593Smuzhiyun			#interrupt-cells = <2>;
125*4882a593Smuzhiyun
126*4882a593Smuzhiyun			ports {
127*4882a593Smuzhiyun				#address-cells = <1>;
128*4882a593Smuzhiyun				#size-cells = <0>;
129*4882a593Smuzhiyun
130*4882a593Smuzhiyun				port@0 {
131*4882a593Smuzhiyun					reg = <0>;
132*4882a593Smuzhiyun					label = "cpu";
133*4882a593Smuzhiyun					ethernet = <&fec1>;
134*4882a593Smuzhiyun
135*4882a593Smuzhiyun					fixed-link {
136*4882a593Smuzhiyun						speed = <100>;
137*4882a593Smuzhiyun						full-duplex;
138*4882a593Smuzhiyun					};
139*4882a593Smuzhiyun				};
140*4882a593Smuzhiyun
141*4882a593Smuzhiyun				port@1 {
142*4882a593Smuzhiyun					reg = <1>;
143*4882a593Smuzhiyun					label = "eth_cu_100_3";
144*4882a593Smuzhiyun				};
145*4882a593Smuzhiyun
146*4882a593Smuzhiyun				port@5 {
147*4882a593Smuzhiyun					reg = <5>;
148*4882a593Smuzhiyun					label = "eth_cu_1000_4";
149*4882a593Smuzhiyun				};
150*4882a593Smuzhiyun
151*4882a593Smuzhiyun				port@6 {
152*4882a593Smuzhiyun					reg = <6>;
153*4882a593Smuzhiyun					label = "eth_cu_1000_5";
154*4882a593Smuzhiyun				};
155*4882a593Smuzhiyun
156*4882a593Smuzhiyun				port@8 {
157*4882a593Smuzhiyun					reg = <8>;
158*4882a593Smuzhiyun					label = "eth_cu_1000_1";
159*4882a593Smuzhiyun				};
160*4882a593Smuzhiyun
161*4882a593Smuzhiyun				port@9 {
162*4882a593Smuzhiyun					reg = <9>;
163*4882a593Smuzhiyun					label = "eth_cu_1000_2";
164*4882a593Smuzhiyun					phy-handle = <&phy9>;
165*4882a593Smuzhiyun					phy-mode = "sgmii";
166*4882a593Smuzhiyun					managed = "in-band-status";
167*4882a593Smuzhiyun				};
168*4882a593Smuzhiyun			};
169*4882a593Smuzhiyun
170*4882a593Smuzhiyun			mdio1 {
171*4882a593Smuzhiyun				compatible = "marvell,mv88e6xxx-mdio-external";
172*4882a593Smuzhiyun				#address-cells = <1>;
173*4882a593Smuzhiyun				#size-cells = <0>;
174*4882a593Smuzhiyun
175*4882a593Smuzhiyun				phy9: phy9@0 {
176*4882a593Smuzhiyun					compatible = "ethernet-phy-ieee802.3-c45";
177*4882a593Smuzhiyun					pinctrl-0 = <&pinctrl_gpio_phy9>;
178*4882a593Smuzhiyun					pinctrl-names = "default";
179*4882a593Smuzhiyun					interrupt-parent = <&gpio2>;
180*4882a593Smuzhiyun					interrupts = <30 IRQ_TYPE_LEVEL_LOW>;
181*4882a593Smuzhiyun					reg = <0>;
182*4882a593Smuzhiyun				};
183*4882a593Smuzhiyun			};
184*4882a593Smuzhiyun		};
185*4882a593Smuzhiyun	};
186*4882a593Smuzhiyun};
187*4882a593Smuzhiyun
188*4882a593Smuzhiyun&i2c0 {
189*4882a593Smuzhiyun	clock-frequency = <100000>;
190*4882a593Smuzhiyun	pinctrl-names = "default";
191*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_i2c0>;
192*4882a593Smuzhiyun	status = "okay";
193*4882a593Smuzhiyun
194*4882a593Smuzhiyun	gpio6: gpio-expander@22 {
195*4882a593Smuzhiyun		compatible = "nxp,pca9554";
196*4882a593Smuzhiyun		reg = <0x22>;
197*4882a593Smuzhiyun		gpio-controller;
198*4882a593Smuzhiyun		#gpio-cells = <2>;
199*4882a593Smuzhiyun	};
200*4882a593Smuzhiyun
201*4882a593Smuzhiyun	/* On SSMB */
202*4882a593Smuzhiyun	temperature-sensor@48 {
203*4882a593Smuzhiyun		compatible = "national,lm75";
204*4882a593Smuzhiyun		reg = <0x48>;
205*4882a593Smuzhiyun	};
206*4882a593Smuzhiyun
207*4882a593Smuzhiyun	/* On DSB */
208*4882a593Smuzhiyun	temperature-sensor@4d {
209*4882a593Smuzhiyun		compatible = "national,lm75";
210*4882a593Smuzhiyun		reg = <0x4d>;
211*4882a593Smuzhiyun	};
212*4882a593Smuzhiyun
213*4882a593Smuzhiyun	eeprom@50 {
214*4882a593Smuzhiyun		compatible = "atmel,24c04";
215*4882a593Smuzhiyun		reg = <0x50>;
216*4882a593Smuzhiyun		label = "nameplate";
217*4882a593Smuzhiyun	};
218*4882a593Smuzhiyun
219*4882a593Smuzhiyun	eeprom@52 {
220*4882a593Smuzhiyun		compatible = "atmel,24c04";
221*4882a593Smuzhiyun		reg = <0x52>;
222*4882a593Smuzhiyun	};
223*4882a593Smuzhiyun};
224*4882a593Smuzhiyun
225*4882a593Smuzhiyun&snvsrtc {
226*4882a593Smuzhiyun	status = "disabled";
227*4882a593Smuzhiyun};
228*4882a593Smuzhiyun
229*4882a593Smuzhiyun&uart0 {
230*4882a593Smuzhiyun	pinctrl-names = "default";
231*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_uart0>;
232*4882a593Smuzhiyun	status = "okay";
233*4882a593Smuzhiyun};
234*4882a593Smuzhiyun
235*4882a593Smuzhiyun&iomuxc {
236*4882a593Smuzhiyun	pinctrl_dspi1: dspi1grp {
237*4882a593Smuzhiyun		fsl,pins = <
238*4882a593Smuzhiyun			VF610_PAD_PTD5__DSPI1_CS0		0x1182
239*4882a593Smuzhiyun			VF610_PAD_PTD4__DSPI1_CS1		0x1182
240*4882a593Smuzhiyun			VF610_PAD_PTC6__DSPI1_SIN		0x1181
241*4882a593Smuzhiyun			VF610_PAD_PTC7__DSPI1_SOUT		0x1182
242*4882a593Smuzhiyun			VF610_PAD_PTC8__DSPI1_SCK		0x1182
243*4882a593Smuzhiyun		>;
244*4882a593Smuzhiyun	};
245*4882a593Smuzhiyun
246*4882a593Smuzhiyun	pinctrl_esdhc0: esdhc0grp {
247*4882a593Smuzhiyun		fsl,pins = <
248*4882a593Smuzhiyun			VF610_PAD_PTC0__ESDHC0_CLK		0x31ef
249*4882a593Smuzhiyun			VF610_PAD_PTC1__ESDHC0_CMD		0x31ef
250*4882a593Smuzhiyun			VF610_PAD_PTC2__ESDHC0_DAT0		0x31ef
251*4882a593Smuzhiyun			VF610_PAD_PTC3__ESDHC0_DAT1		0x31ef
252*4882a593Smuzhiyun			VF610_PAD_PTC4__ESDHC0_DAT2		0x31ef
253*4882a593Smuzhiyun			VF610_PAD_PTC5__ESDHC0_DAT3		0x31ef
254*4882a593Smuzhiyun			VF610_PAD_PTD23__ESDHC0_DAT4		0x31ef
255*4882a593Smuzhiyun			VF610_PAD_PTD22__ESDHC0_DAT5		0x31ef
256*4882a593Smuzhiyun			VF610_PAD_PTD21__ESDHC0_DAT6		0x31ef
257*4882a593Smuzhiyun			VF610_PAD_PTD20__ESDHC0_DAT7		0x31ef
258*4882a593Smuzhiyun		>;
259*4882a593Smuzhiyun	};
260*4882a593Smuzhiyun
261*4882a593Smuzhiyun	pinctrl_esdhc1: esdhc1grp {
262*4882a593Smuzhiyun		fsl,pins = <
263*4882a593Smuzhiyun			VF610_PAD_PTA24__ESDHC1_CLK		0x31ef
264*4882a593Smuzhiyun			VF610_PAD_PTA25__ESDHC1_CMD		0x31ef
265*4882a593Smuzhiyun			VF610_PAD_PTA26__ESDHC1_DAT0		0x31ef
266*4882a593Smuzhiyun			VF610_PAD_PTA27__ESDHC1_DAT1		0x31ef
267*4882a593Smuzhiyun			VF610_PAD_PTA28__ESDHC1_DATA2		0x31ef
268*4882a593Smuzhiyun			VF610_PAD_PTA29__ESDHC1_DAT3		0x31ef
269*4882a593Smuzhiyun		>;
270*4882a593Smuzhiyun	};
271*4882a593Smuzhiyun
272*4882a593Smuzhiyun	pinctrl_fec1: fec1grp {
273*4882a593Smuzhiyun		fsl,pins = <
274*4882a593Smuzhiyun			VF610_PAD_PTA6__RMII_CLKIN		0x30d1
275*4882a593Smuzhiyun			VF610_PAD_PTC9__ENET_RMII1_MDC		0x30d2
276*4882a593Smuzhiyun			VF610_PAD_PTC10__ENET_RMII1_MDIO	0x30d3
277*4882a593Smuzhiyun			VF610_PAD_PTC11__ENET_RMII1_CRS		0x30d1
278*4882a593Smuzhiyun			VF610_PAD_PTC12__ENET_RMII1_RXD1	0x30d1
279*4882a593Smuzhiyun			VF610_PAD_PTC13__ENET_RMII1_RXD0	0x30d1
280*4882a593Smuzhiyun			VF610_PAD_PTC14__ENET_RMII1_RXER	0x30d1
281*4882a593Smuzhiyun			VF610_PAD_PTC15__ENET_RMII1_TXD1	0x30d2
282*4882a593Smuzhiyun			VF610_PAD_PTC16__ENET_RMII1_TXD0	0x30d2
283*4882a593Smuzhiyun			VF610_PAD_PTC17__ENET_RMII1_TXEN	0x30d2
284*4882a593Smuzhiyun		>;
285*4882a593Smuzhiyun	};
286*4882a593Smuzhiyun
287*4882a593Smuzhiyun	pinctrl_gpio_phy9: pinctrl-gpio-phy9 {
288*4882a593Smuzhiyun		fsl,pins = <
289*4882a593Smuzhiyun			VF610_PAD_PTB24__GPIO_94		0x219d
290*4882a593Smuzhiyun		>;
291*4882a593Smuzhiyun	};
292*4882a593Smuzhiyun
293*4882a593Smuzhiyun	pinctrl_gpio_switch0: pinctrl-gpio-switch0 {
294*4882a593Smuzhiyun		fsl,pins = <
295*4882a593Smuzhiyun			VF610_PAD_PTB28__GPIO_98		0x219d
296*4882a593Smuzhiyun		>;
297*4882a593Smuzhiyun	};
298*4882a593Smuzhiyun
299*4882a593Smuzhiyun	pinctrl_i2c0: i2c0grp {
300*4882a593Smuzhiyun		fsl,pins = <
301*4882a593Smuzhiyun			VF610_PAD_PTB14__I2C0_SCL		0x37ff
302*4882a593Smuzhiyun			VF610_PAD_PTB15__I2C0_SDA		0x37ff
303*4882a593Smuzhiyun		>;
304*4882a593Smuzhiyun	};
305*4882a593Smuzhiyun
306*4882a593Smuzhiyun	pinctrl_i2c1: i2c1grp {
307*4882a593Smuzhiyun		fsl,pins = <
308*4882a593Smuzhiyun			VF610_PAD_PTB16__I2C1_SCL		0x37ff
309*4882a593Smuzhiyun			VF610_PAD_PTB17__I2C1_SDA		0x37ff
310*4882a593Smuzhiyun		>;
311*4882a593Smuzhiyun	};
312*4882a593Smuzhiyun
313*4882a593Smuzhiyun	pinctrl_leds_debug: pinctrl-leds-debug {
314*4882a593Smuzhiyun		fsl,pins = <
315*4882a593Smuzhiyun			VF610_PAD_PTD3__GPIO_82			0x31c2
316*4882a593Smuzhiyun		>;
317*4882a593Smuzhiyun	};
318*4882a593Smuzhiyun
319*4882a593Smuzhiyun	pinctrl_uart0: uart0grp {
320*4882a593Smuzhiyun		fsl,pins = <
321*4882a593Smuzhiyun			VF610_PAD_PTB10__UART0_TX		0x21a2
322*4882a593Smuzhiyun			VF610_PAD_PTB11__UART0_RX		0x21a1
323*4882a593Smuzhiyun		>;
324*4882a593Smuzhiyun	};
325*4882a593Smuzhiyun};
326