xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/vf610-zii-cfu1.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2*4882a593Smuzhiyun
3*4882a593Smuzhiyun/*
4*4882a593Smuzhiyun * Copyright (C) 2018 Zodiac Inflight Innovations
5*4882a593Smuzhiyun */
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun/dts-v1/;
8*4882a593Smuzhiyun#include "vf610.dtsi"
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun/ {
11*4882a593Smuzhiyun	model = "ZII VF610 CFU1 Board";
12*4882a593Smuzhiyun	compatible = "zii,vf610cfu1", "zii,vf610dev", "fsl,vf610";
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun	chosen {
15*4882a593Smuzhiyun		stdout-path = &uart0;
16*4882a593Smuzhiyun	};
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun	memory@80000000 {
19*4882a593Smuzhiyun		device_type = "memory";
20*4882a593Smuzhiyun		reg = <0x80000000 0x20000000>;
21*4882a593Smuzhiyun	};
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun	gpio-leds {
24*4882a593Smuzhiyun		compatible = "gpio-leds";
25*4882a593Smuzhiyun		pinctrl-0 = <&pinctrl_leds_debug>;
26*4882a593Smuzhiyun		pinctrl-names = "default";
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun		led-debug {
29*4882a593Smuzhiyun			label = "zii:green:debug1";
30*4882a593Smuzhiyun			gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>;
31*4882a593Smuzhiyun			linux,default-trigger = "heartbeat";
32*4882a593Smuzhiyun		};
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun		led-fail {
35*4882a593Smuzhiyun			label = "zii:red:fail";
36*4882a593Smuzhiyun			gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
37*4882a593Smuzhiyun			default-state = "off";
38*4882a593Smuzhiyun		};
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun		led-status {
41*4882a593Smuzhiyun			label = "zii:green:status";
42*4882a593Smuzhiyun			gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>;
43*4882a593Smuzhiyun			default-state = "off";
44*4882a593Smuzhiyun		};
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun		led-debug-a {
47*4882a593Smuzhiyun			label = "zii:green:debug_a";
48*4882a593Smuzhiyun			gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
49*4882a593Smuzhiyun			default-state = "off";
50*4882a593Smuzhiyun		};
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun		led-debug-b {
53*4882a593Smuzhiyun			label = "zii:green:debug_b";
54*4882a593Smuzhiyun			gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>;
55*4882a593Smuzhiyun			default-state = "off";
56*4882a593Smuzhiyun		};
57*4882a593Smuzhiyun	};
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun	reg_vcc_3v3_mcu: regulator-vcc-3v3-mcu {
60*4882a593Smuzhiyun		 compatible = "regulator-fixed";
61*4882a593Smuzhiyun		 regulator-name = "vcc_3v3_mcu";
62*4882a593Smuzhiyun		 regulator-min-microvolt = <3300000>;
63*4882a593Smuzhiyun		 regulator-max-microvolt = <3300000>;
64*4882a593Smuzhiyun	};
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun	sff: sfp {
67*4882a593Smuzhiyun		compatible = "sff,sff";
68*4882a593Smuzhiyun		pinctrl-0 = <&pinctrl_optical>;
69*4882a593Smuzhiyun		pinctrl-names = "default";
70*4882a593Smuzhiyun		i2c-bus = <&i2c0>;
71*4882a593Smuzhiyun		los-gpio = <&gpio4 4 GPIO_ACTIVE_HIGH>;
72*4882a593Smuzhiyun		tx-disable-gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
73*4882a593Smuzhiyun	};
74*4882a593Smuzhiyun
75*4882a593Smuzhiyun	supply-voltage-monitor {
76*4882a593Smuzhiyun		compatible = "iio-hwmon";
77*4882a593Smuzhiyun		io-channels = <&adc0 8>, /* 28VDC_IN */
78*4882a593Smuzhiyun			      <&adc0 9>, /* +3.3V    */
79*4882a593Smuzhiyun			      <&adc1 8>, /* VCC_1V5  */
80*4882a593Smuzhiyun			      <&adc1 9>; /* VCC_1V2  */
81*4882a593Smuzhiyun	};
82*4882a593Smuzhiyun};
83*4882a593Smuzhiyun
84*4882a593Smuzhiyun&adc0 {
85*4882a593Smuzhiyun	vref-supply = <&reg_vcc_3v3_mcu>;
86*4882a593Smuzhiyun	status = "okay";
87*4882a593Smuzhiyun};
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun&adc1 {
90*4882a593Smuzhiyun	vref-supply = <&reg_vcc_3v3_mcu>;
91*4882a593Smuzhiyun	status = "okay";
92*4882a593Smuzhiyun};
93*4882a593Smuzhiyun
94*4882a593Smuzhiyun&dspi1 {
95*4882a593Smuzhiyun	bus-num = <1>;
96*4882a593Smuzhiyun	pinctrl-names = "default";
97*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_dspi1>;
98*4882a593Smuzhiyun	/*
99*4882a593Smuzhiyun	 * Some CFU1s come with SPI-NOR chip DNPed, so we leave this
100*4882a593Smuzhiyun	 * node disabled by default and rely on bootloader to enable
101*4882a593Smuzhiyun	 * it when appropriate.
102*4882a593Smuzhiyun	 */
103*4882a593Smuzhiyun	status = "disabled";
104*4882a593Smuzhiyun
105*4882a593Smuzhiyun	flash@0 {
106*4882a593Smuzhiyun		#address-cells = <1>;
107*4882a593Smuzhiyun		#size-cells = <1>;
108*4882a593Smuzhiyun		compatible = "m25p128", "jedec,spi-nor";
109*4882a593Smuzhiyun		reg = <0>;
110*4882a593Smuzhiyun		spi-max-frequency = <50000000>;
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun		partition@0 {
113*4882a593Smuzhiyun			label = "m25p128-0";
114*4882a593Smuzhiyun			reg = <0x0 0x01000000>;
115*4882a593Smuzhiyun		};
116*4882a593Smuzhiyun	};
117*4882a593Smuzhiyun};
118*4882a593Smuzhiyun
119*4882a593Smuzhiyun&edma0 {
120*4882a593Smuzhiyun	status = "okay";
121*4882a593Smuzhiyun};
122*4882a593Smuzhiyun
123*4882a593Smuzhiyun&edma1 {
124*4882a593Smuzhiyun	status = "okay";
125*4882a593Smuzhiyun};
126*4882a593Smuzhiyun
127*4882a593Smuzhiyun&esdhc0 {
128*4882a593Smuzhiyun	pinctrl-names = "default";
129*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_esdhc0>;
130*4882a593Smuzhiyun	bus-width = <8>;
131*4882a593Smuzhiyun	non-removable;
132*4882a593Smuzhiyun	no-1-8-v;
133*4882a593Smuzhiyun	keep-power-in-suspend;
134*4882a593Smuzhiyun	no-sdio;
135*4882a593Smuzhiyun	no-sd;
136*4882a593Smuzhiyun	status = "okay";
137*4882a593Smuzhiyun};
138*4882a593Smuzhiyun
139*4882a593Smuzhiyun&esdhc1 {
140*4882a593Smuzhiyun	pinctrl-names = "default";
141*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_esdhc1>;
142*4882a593Smuzhiyun	bus-width = <4>;
143*4882a593Smuzhiyun	no-sdio;
144*4882a593Smuzhiyun	status = "okay";
145*4882a593Smuzhiyun};
146*4882a593Smuzhiyun
147*4882a593Smuzhiyun&fec1 {
148*4882a593Smuzhiyun	phy-mode = "rmii";
149*4882a593Smuzhiyun	pinctrl-names = "default";
150*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_fec1>;
151*4882a593Smuzhiyun	status = "okay";
152*4882a593Smuzhiyun
153*4882a593Smuzhiyun	fixed-link {
154*4882a593Smuzhiyun		speed = <100>;
155*4882a593Smuzhiyun		full-duplex;
156*4882a593Smuzhiyun	};
157*4882a593Smuzhiyun
158*4882a593Smuzhiyun	mdio1: mdio {
159*4882a593Smuzhiyun		#address-cells = <1>;
160*4882a593Smuzhiyun		#size-cells = <0>;
161*4882a593Smuzhiyun		clock-frequency = <12500000>;
162*4882a593Smuzhiyun		suppress-preamble;
163*4882a593Smuzhiyun		status = "okay";
164*4882a593Smuzhiyun
165*4882a593Smuzhiyun		switch0: switch0@0 {
166*4882a593Smuzhiyun			compatible = "marvell,mv88e6085";
167*4882a593Smuzhiyun			pinctrl-names = "default";
168*4882a593Smuzhiyun			pinctrl-0 = <&pinctrl_switch>;
169*4882a593Smuzhiyun			reg = <0>;
170*4882a593Smuzhiyun			eeprom-length = <512>;
171*4882a593Smuzhiyun			interrupt-parent = <&gpio3>;
172*4882a593Smuzhiyun			interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
173*4882a593Smuzhiyun			interrupt-controller;
174*4882a593Smuzhiyun			#interrupt-cells = <2>;
175*4882a593Smuzhiyun
176*4882a593Smuzhiyun			ports {
177*4882a593Smuzhiyun				#address-cells = <1>;
178*4882a593Smuzhiyun				#size-cells = <0>;
179*4882a593Smuzhiyun
180*4882a593Smuzhiyun				port@0 {
181*4882a593Smuzhiyun					reg = <0>;
182*4882a593Smuzhiyun					label = "eth_cu_1000_1";
183*4882a593Smuzhiyun				};
184*4882a593Smuzhiyun
185*4882a593Smuzhiyun				port@1 {
186*4882a593Smuzhiyun					reg = <1>;
187*4882a593Smuzhiyun					label = "eth_cu_1000_2";
188*4882a593Smuzhiyun				};
189*4882a593Smuzhiyun
190*4882a593Smuzhiyun				port@2 {
191*4882a593Smuzhiyun					reg = <2>;
192*4882a593Smuzhiyun					label = "eth_cu_1000_3";
193*4882a593Smuzhiyun				};
194*4882a593Smuzhiyun
195*4882a593Smuzhiyun				port@5 {
196*4882a593Smuzhiyun					reg = <5>;
197*4882a593Smuzhiyun					label = "eth_fc_1000_1";
198*4882a593Smuzhiyun					phy-mode = "1000base-x";
199*4882a593Smuzhiyun					managed = "in-band-status";
200*4882a593Smuzhiyun					sfp = <&sff>;
201*4882a593Smuzhiyun				};
202*4882a593Smuzhiyun
203*4882a593Smuzhiyun				port@6 {
204*4882a593Smuzhiyun					reg = <6>;
205*4882a593Smuzhiyun					label = "cpu";
206*4882a593Smuzhiyun					ethernet = <&fec1>;
207*4882a593Smuzhiyun
208*4882a593Smuzhiyun					fixed-link {
209*4882a593Smuzhiyun						speed = <100>;
210*4882a593Smuzhiyun						full-duplex;
211*4882a593Smuzhiyun					};
212*4882a593Smuzhiyun				};
213*4882a593Smuzhiyun			};
214*4882a593Smuzhiyun		};
215*4882a593Smuzhiyun	};
216*4882a593Smuzhiyun};
217*4882a593Smuzhiyun
218*4882a593Smuzhiyun&i2c0 {
219*4882a593Smuzhiyun	clock-frequency = <100000>;
220*4882a593Smuzhiyun	pinctrl-names = "default";
221*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_i2c0>;
222*4882a593Smuzhiyun	status = "okay";
223*4882a593Smuzhiyun
224*4882a593Smuzhiyun	io-expander@22 {
225*4882a593Smuzhiyun		compatible = "nxp,pca9554";
226*4882a593Smuzhiyun		reg = <0x22>;
227*4882a593Smuzhiyun		gpio-controller;
228*4882a593Smuzhiyun		#gpio-cells = <2>;
229*4882a593Smuzhiyun	};
230*4882a593Smuzhiyun
231*4882a593Smuzhiyun	lm75@48 {
232*4882a593Smuzhiyun		compatible = "national,lm75";
233*4882a593Smuzhiyun		reg = <0x48>;
234*4882a593Smuzhiyun	};
235*4882a593Smuzhiyun
236*4882a593Smuzhiyun	eeprom@52 {
237*4882a593Smuzhiyun		compatible = "atmel,24c04";
238*4882a593Smuzhiyun		reg = <0x52>;
239*4882a593Smuzhiyun		label = "nvm";
240*4882a593Smuzhiyun	};
241*4882a593Smuzhiyun
242*4882a593Smuzhiyun	eeprom@54 {
243*4882a593Smuzhiyun		compatible = "atmel,24c04";
244*4882a593Smuzhiyun		reg = <0x54>;
245*4882a593Smuzhiyun		label = "nameplate";
246*4882a593Smuzhiyun	};
247*4882a593Smuzhiyun};
248*4882a593Smuzhiyun
249*4882a593Smuzhiyun&i2c1 {
250*4882a593Smuzhiyun	clock-frequency = <100000>;
251*4882a593Smuzhiyun	pinctrl-names = "default";
252*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_i2c1>;
253*4882a593Smuzhiyun	status = "okay";
254*4882a593Smuzhiyun
255*4882a593Smuzhiyun	watchdog@38 {
256*4882a593Smuzhiyun		compatible = "zii,rave-wdt";
257*4882a593Smuzhiyun		reg = <0x38>;
258*4882a593Smuzhiyun	};
259*4882a593Smuzhiyun};
260*4882a593Smuzhiyun
261*4882a593Smuzhiyun&snvsrtc {
262*4882a593Smuzhiyun	status = "disabled";
263*4882a593Smuzhiyun};
264*4882a593Smuzhiyun
265*4882a593Smuzhiyun&uart0 {
266*4882a593Smuzhiyun	pinctrl-names = "default";
267*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_uart0>;
268*4882a593Smuzhiyun	status = "okay";
269*4882a593Smuzhiyun};
270*4882a593Smuzhiyun
271*4882a593Smuzhiyun&iomuxc {
272*4882a593Smuzhiyun	pinctrl_dspi1: dspi1grp {
273*4882a593Smuzhiyun		fsl,pins = <
274*4882a593Smuzhiyun			VF610_PAD_PTD5__DSPI1_CS0		0x1182
275*4882a593Smuzhiyun			VF610_PAD_PTC6__DSPI1_SIN		0x1181
276*4882a593Smuzhiyun			VF610_PAD_PTC7__DSPI1_SOUT		0x1182
277*4882a593Smuzhiyun			VF610_PAD_PTC8__DSPI1_SCK		0x1182
278*4882a593Smuzhiyun		>;
279*4882a593Smuzhiyun	};
280*4882a593Smuzhiyun
281*4882a593Smuzhiyun	pinctrl_esdhc0: esdhc0grp {
282*4882a593Smuzhiyun		fsl,pins = <
283*4882a593Smuzhiyun			VF610_PAD_PTC0__ESDHC0_CLK		0x31ef
284*4882a593Smuzhiyun			VF610_PAD_PTC1__ESDHC0_CMD		0x31ef
285*4882a593Smuzhiyun			VF610_PAD_PTC2__ESDHC0_DAT0		0x31ef
286*4882a593Smuzhiyun			VF610_PAD_PTC3__ESDHC0_DAT1		0x31ef
287*4882a593Smuzhiyun			VF610_PAD_PTC4__ESDHC0_DAT2		0x31ef
288*4882a593Smuzhiyun			VF610_PAD_PTC5__ESDHC0_DAT3		0x31ef
289*4882a593Smuzhiyun			VF610_PAD_PTD23__ESDHC0_DAT4		0x31ef
290*4882a593Smuzhiyun			VF610_PAD_PTD22__ESDHC0_DAT5		0x31ef
291*4882a593Smuzhiyun			VF610_PAD_PTD21__ESDHC0_DAT6		0x31ef
292*4882a593Smuzhiyun			VF610_PAD_PTD20__ESDHC0_DAT7		0x31ef
293*4882a593Smuzhiyun		>;
294*4882a593Smuzhiyun	};
295*4882a593Smuzhiyun
296*4882a593Smuzhiyun	pinctrl_esdhc1: esdhc1grp {
297*4882a593Smuzhiyun		fsl,pins = <
298*4882a593Smuzhiyun			VF610_PAD_PTA24__ESDHC1_CLK		0x31ef
299*4882a593Smuzhiyun			VF610_PAD_PTA25__ESDHC1_CMD		0x31ef
300*4882a593Smuzhiyun			VF610_PAD_PTA26__ESDHC1_DAT0		0x31ef
301*4882a593Smuzhiyun			VF610_PAD_PTA27__ESDHC1_DAT1		0x31ef
302*4882a593Smuzhiyun			VF610_PAD_PTA28__ESDHC1_DATA2		0x31ef
303*4882a593Smuzhiyun			VF610_PAD_PTA29__ESDHC1_DAT3		0x31ef
304*4882a593Smuzhiyun		>;
305*4882a593Smuzhiyun	};
306*4882a593Smuzhiyun
307*4882a593Smuzhiyun	pinctrl_fec1: fec1grp {
308*4882a593Smuzhiyun		fsl,pins = <
309*4882a593Smuzhiyun			VF610_PAD_PTA6__RMII_CLKIN		0x30d1
310*4882a593Smuzhiyun			VF610_PAD_PTC9__ENET_RMII1_MDC		0x30fe
311*4882a593Smuzhiyun			VF610_PAD_PTC10__ENET_RMII1_MDIO	0x30d3
312*4882a593Smuzhiyun			VF610_PAD_PTC11__ENET_RMII1_CRS		0x30d1
313*4882a593Smuzhiyun			VF610_PAD_PTC12__ENET_RMII1_RXD1	0x30d1
314*4882a593Smuzhiyun			VF610_PAD_PTC13__ENET_RMII1_RXD0	0x30d1
315*4882a593Smuzhiyun			VF610_PAD_PTC14__ENET_RMII1_RXER	0x30d1
316*4882a593Smuzhiyun			VF610_PAD_PTC15__ENET_RMII1_TXD1	0x30d2
317*4882a593Smuzhiyun			VF610_PAD_PTC16__ENET_RMII1_TXD0	0x30d2
318*4882a593Smuzhiyun			VF610_PAD_PTC17__ENET_RMII1_TXEN	0x30d2
319*4882a593Smuzhiyun		>;
320*4882a593Smuzhiyun	};
321*4882a593Smuzhiyun
322*4882a593Smuzhiyun	pinctrl_i2c0: i2c0grp {
323*4882a593Smuzhiyun		fsl,pins = <
324*4882a593Smuzhiyun			VF610_PAD_PTB14__I2C0_SCL		0x37ff
325*4882a593Smuzhiyun			VF610_PAD_PTB15__I2C0_SDA		0x37ff
326*4882a593Smuzhiyun		>;
327*4882a593Smuzhiyun	};
328*4882a593Smuzhiyun
329*4882a593Smuzhiyun	pinctrl_i2c1: i2c1grp {
330*4882a593Smuzhiyun		fsl,pins = <
331*4882a593Smuzhiyun			VF610_PAD_PTB16__I2C1_SCL		0x37ff
332*4882a593Smuzhiyun			VF610_PAD_PTB17__I2C1_SDA		0x37ff
333*4882a593Smuzhiyun		>;
334*4882a593Smuzhiyun	};
335*4882a593Smuzhiyun
336*4882a593Smuzhiyun	pinctrl_leds_debug: pinctrl-leds-debug {
337*4882a593Smuzhiyun		fsl,pins = <
338*4882a593Smuzhiyun			VF610_PAD_PTD3__GPIO_82			0x31c2
339*4882a593Smuzhiyun			VF610_PAD_PTE3__GPIO_108		0x31c2
340*4882a593Smuzhiyun			VF610_PAD_PTE4__GPIO_109		0x31c2
341*4882a593Smuzhiyun			VF610_PAD_PTE5__GPIO_110		0x31c2
342*4882a593Smuzhiyun			VF610_PAD_PTE6__GPIO_111		0x31c2
343*4882a593Smuzhiyun		>;
344*4882a593Smuzhiyun	};
345*4882a593Smuzhiyun
346*4882a593Smuzhiyun	pinctrl_optical: optical-grp {
347*4882a593Smuzhiyun		fsl,pins = <
348*4882a593Smuzhiyun		/* SFF SD input */
349*4882a593Smuzhiyun		VF610_PAD_PTE27__GPIO_132	0x3061
350*4882a593Smuzhiyun
351*4882a593Smuzhiyun		/* SFF Transmit disable output */
352*4882a593Smuzhiyun		VF610_PAD_PTE13__GPIO_118	0x3043
353*4882a593Smuzhiyun		>;
354*4882a593Smuzhiyun	};
355*4882a593Smuzhiyun
356*4882a593Smuzhiyun	pinctrl_switch: switch-grp {
357*4882a593Smuzhiyun		fsl,pins = <
358*4882a593Smuzhiyun			VF610_PAD_PTB28__GPIO_98		0x3061
359*4882a593Smuzhiyun		>;
360*4882a593Smuzhiyun	};
361*4882a593Smuzhiyun
362*4882a593Smuzhiyun	pinctrl_uart0: uart0grp {
363*4882a593Smuzhiyun		fsl,pins = <
364*4882a593Smuzhiyun			VF610_PAD_PTB10__UART0_TX		0x21a2
365*4882a593Smuzhiyun			VF610_PAD_PTB11__UART0_RX		0x21a1
366*4882a593Smuzhiyun		>;
367*4882a593Smuzhiyun	};
368*4882a593Smuzhiyun};
369