xref: /OK3568_Linux_fs/kernel/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun/*
2*4882a593Smuzhiyun * Copyright (c) 2017 MediaTek Inc.
3*4882a593Smuzhiyun * Author: Ming Huang <ming.huang@mediatek.com>
4*4882a593Smuzhiyun *	   Sean Wang <sean.wang@mediatek.com>
5*4882a593Smuzhiyun *
6*4882a593Smuzhiyun * SPDX-License-Identifier: (GPL-2.0 OR MIT)
7*4882a593Smuzhiyun */
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun/dts-v1/;
10*4882a593Smuzhiyun#include <dt-bindings/input/input.h>
11*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun#include "mt7622.dtsi"
14*4882a593Smuzhiyun#include "mt6380.dtsi"
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun/ {
17*4882a593Smuzhiyun	model = "MediaTek MT7622 RFB1 board";
18*4882a593Smuzhiyun	compatible = "mediatek,mt7622-rfb1", "mediatek,mt7622";
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun	aliases {
21*4882a593Smuzhiyun		serial0 = &uart0;
22*4882a593Smuzhiyun	};
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun	chosen {
25*4882a593Smuzhiyun		stdout-path = "serial0:115200n8";
26*4882a593Smuzhiyun		bootargs = "earlycon=uart8250,mmio32,0x11002000 swiotlb=512";
27*4882a593Smuzhiyun	};
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun	cpus {
30*4882a593Smuzhiyun		cpu@0 {
31*4882a593Smuzhiyun			proc-supply = <&mt6380_vcpu_reg>;
32*4882a593Smuzhiyun			sram-supply = <&mt6380_vm_reg>;
33*4882a593Smuzhiyun		};
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun		cpu@1 {
36*4882a593Smuzhiyun			proc-supply = <&mt6380_vcpu_reg>;
37*4882a593Smuzhiyun			sram-supply = <&mt6380_vm_reg>;
38*4882a593Smuzhiyun		};
39*4882a593Smuzhiyun	};
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun	gpio-keys {
42*4882a593Smuzhiyun		compatible = "gpio-keys";
43*4882a593Smuzhiyun		poll-interval = <100>;
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun		factory {
46*4882a593Smuzhiyun			label = "factory";
47*4882a593Smuzhiyun			linux,code = <BTN_0>;
48*4882a593Smuzhiyun			gpios = <&pio 0 0>;
49*4882a593Smuzhiyun		};
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun		wps {
52*4882a593Smuzhiyun			label = "wps";
53*4882a593Smuzhiyun			linux,code = <KEY_WPS_BUTTON>;
54*4882a593Smuzhiyun			gpios = <&pio 102 0>;
55*4882a593Smuzhiyun		};
56*4882a593Smuzhiyun	};
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun	memory {
59*4882a593Smuzhiyun		reg = <0 0x40000000 0 0x20000000>;
60*4882a593Smuzhiyun	};
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun	reg_1p8v: regulator-1p8v {
63*4882a593Smuzhiyun		compatible = "regulator-fixed";
64*4882a593Smuzhiyun		regulator-name = "fixed-1.8V";
65*4882a593Smuzhiyun		regulator-min-microvolt = <1800000>;
66*4882a593Smuzhiyun		regulator-max-microvolt = <1800000>;
67*4882a593Smuzhiyun		regulator-always-on;
68*4882a593Smuzhiyun	};
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun	reg_3p3v: regulator-3p3v {
71*4882a593Smuzhiyun		compatible = "regulator-fixed";
72*4882a593Smuzhiyun		regulator-name = "fixed-3.3V";
73*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
74*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
75*4882a593Smuzhiyun		regulator-boot-on;
76*4882a593Smuzhiyun		regulator-always-on;
77*4882a593Smuzhiyun	};
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun	reg_5v: regulator-5v {
80*4882a593Smuzhiyun		compatible = "regulator-fixed";
81*4882a593Smuzhiyun		regulator-name = "fixed-5V";
82*4882a593Smuzhiyun		regulator-min-microvolt = <5000000>;
83*4882a593Smuzhiyun		regulator-max-microvolt = <5000000>;
84*4882a593Smuzhiyun		regulator-boot-on;
85*4882a593Smuzhiyun		regulator-always-on;
86*4882a593Smuzhiyun	};
87*4882a593Smuzhiyun};
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun&bch {
90*4882a593Smuzhiyun	status = "disabled";
91*4882a593Smuzhiyun};
92*4882a593Smuzhiyun
93*4882a593Smuzhiyun&btif {
94*4882a593Smuzhiyun	status = "okay";
95*4882a593Smuzhiyun};
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun&cir {
98*4882a593Smuzhiyun	pinctrl-names = "default";
99*4882a593Smuzhiyun	pinctrl-0 = <&irrx_pins>;
100*4882a593Smuzhiyun	status = "okay";
101*4882a593Smuzhiyun};
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun&eth {
104*4882a593Smuzhiyun	pinctrl-names = "default";
105*4882a593Smuzhiyun	pinctrl-0 = <&eth_pins>;
106*4882a593Smuzhiyun	status = "okay";
107*4882a593Smuzhiyun
108*4882a593Smuzhiyun	gmac0: mac@0 {
109*4882a593Smuzhiyun		compatible = "mediatek,eth-mac";
110*4882a593Smuzhiyun		reg = <0>;
111*4882a593Smuzhiyun		phy-mode = "2500base-x";
112*4882a593Smuzhiyun
113*4882a593Smuzhiyun		fixed-link {
114*4882a593Smuzhiyun			speed = <2500>;
115*4882a593Smuzhiyun			full-duplex;
116*4882a593Smuzhiyun			pause;
117*4882a593Smuzhiyun		};
118*4882a593Smuzhiyun	};
119*4882a593Smuzhiyun
120*4882a593Smuzhiyun	mdio-bus {
121*4882a593Smuzhiyun		#address-cells = <1>;
122*4882a593Smuzhiyun		#size-cells = <0>;
123*4882a593Smuzhiyun
124*4882a593Smuzhiyun		switch@0 {
125*4882a593Smuzhiyun			compatible = "mediatek,mt7531";
126*4882a593Smuzhiyun			reg = <0>;
127*4882a593Smuzhiyun			reset-gpios = <&pio 54 0>;
128*4882a593Smuzhiyun
129*4882a593Smuzhiyun			ports {
130*4882a593Smuzhiyun				#address-cells = <1>;
131*4882a593Smuzhiyun				#size-cells = <0>;
132*4882a593Smuzhiyun
133*4882a593Smuzhiyun				port@0 {
134*4882a593Smuzhiyun					reg = <0>;
135*4882a593Smuzhiyun					label = "lan0";
136*4882a593Smuzhiyun				};
137*4882a593Smuzhiyun
138*4882a593Smuzhiyun				port@1 {
139*4882a593Smuzhiyun					reg = <1>;
140*4882a593Smuzhiyun					label = "lan1";
141*4882a593Smuzhiyun				};
142*4882a593Smuzhiyun
143*4882a593Smuzhiyun				port@2 {
144*4882a593Smuzhiyun					reg = <2>;
145*4882a593Smuzhiyun					label = "lan2";
146*4882a593Smuzhiyun				};
147*4882a593Smuzhiyun
148*4882a593Smuzhiyun				port@3 {
149*4882a593Smuzhiyun					reg = <3>;
150*4882a593Smuzhiyun					label = "lan3";
151*4882a593Smuzhiyun				};
152*4882a593Smuzhiyun
153*4882a593Smuzhiyun				port@4 {
154*4882a593Smuzhiyun					reg = <4>;
155*4882a593Smuzhiyun					label = "wan";
156*4882a593Smuzhiyun				};
157*4882a593Smuzhiyun
158*4882a593Smuzhiyun				port@6 {
159*4882a593Smuzhiyun					reg = <6>;
160*4882a593Smuzhiyun					label = "cpu";
161*4882a593Smuzhiyun					ethernet = <&gmac0>;
162*4882a593Smuzhiyun					phy-mode = "2500base-x";
163*4882a593Smuzhiyun
164*4882a593Smuzhiyun					fixed-link {
165*4882a593Smuzhiyun						speed = <2500>;
166*4882a593Smuzhiyun						full-duplex;
167*4882a593Smuzhiyun						pause;
168*4882a593Smuzhiyun					};
169*4882a593Smuzhiyun				};
170*4882a593Smuzhiyun			};
171*4882a593Smuzhiyun		};
172*4882a593Smuzhiyun
173*4882a593Smuzhiyun	};
174*4882a593Smuzhiyun};
175*4882a593Smuzhiyun
176*4882a593Smuzhiyun&i2c1 {
177*4882a593Smuzhiyun	pinctrl-names = "default";
178*4882a593Smuzhiyun	pinctrl-0 = <&i2c1_pins>;
179*4882a593Smuzhiyun	status = "okay";
180*4882a593Smuzhiyun};
181*4882a593Smuzhiyun
182*4882a593Smuzhiyun&i2c2 {
183*4882a593Smuzhiyun	pinctrl-names = "default";
184*4882a593Smuzhiyun	pinctrl-0 = <&i2c2_pins>;
185*4882a593Smuzhiyun	status = "okay";
186*4882a593Smuzhiyun};
187*4882a593Smuzhiyun
188*4882a593Smuzhiyun&mmc0 {
189*4882a593Smuzhiyun	pinctrl-names = "default", "state_uhs";
190*4882a593Smuzhiyun	pinctrl-0 = <&emmc_pins_default>;
191*4882a593Smuzhiyun	pinctrl-1 = <&emmc_pins_uhs>;
192*4882a593Smuzhiyun	status = "okay";
193*4882a593Smuzhiyun	bus-width = <8>;
194*4882a593Smuzhiyun	max-frequency = <50000000>;
195*4882a593Smuzhiyun	cap-mmc-highspeed;
196*4882a593Smuzhiyun	mmc-hs200-1_8v;
197*4882a593Smuzhiyun	vmmc-supply = <&reg_3p3v>;
198*4882a593Smuzhiyun	vqmmc-supply = <&reg_1p8v>;
199*4882a593Smuzhiyun	assigned-clocks = <&topckgen CLK_TOP_MSDC30_0_SEL>;
200*4882a593Smuzhiyun	assigned-clock-parents = <&topckgen CLK_TOP_UNIV48M>;
201*4882a593Smuzhiyun	non-removable;
202*4882a593Smuzhiyun};
203*4882a593Smuzhiyun
204*4882a593Smuzhiyun&mmc1 {
205*4882a593Smuzhiyun	pinctrl-names = "default", "state_uhs";
206*4882a593Smuzhiyun	pinctrl-0 = <&sd0_pins_default>;
207*4882a593Smuzhiyun	pinctrl-1 = <&sd0_pins_uhs>;
208*4882a593Smuzhiyun	status = "okay";
209*4882a593Smuzhiyun	bus-width = <4>;
210*4882a593Smuzhiyun	max-frequency = <50000000>;
211*4882a593Smuzhiyun	cap-sd-highspeed;
212*4882a593Smuzhiyun	r_smpl = <1>;
213*4882a593Smuzhiyun	cd-gpios = <&pio 81 GPIO_ACTIVE_LOW>;
214*4882a593Smuzhiyun	vmmc-supply = <&reg_3p3v>;
215*4882a593Smuzhiyun	vqmmc-supply = <&reg_3p3v>;
216*4882a593Smuzhiyun	assigned-clocks = <&topckgen CLK_TOP_MSDC30_1_SEL>;
217*4882a593Smuzhiyun	assigned-clock-parents = <&topckgen CLK_TOP_UNIV48M>;
218*4882a593Smuzhiyun};
219*4882a593Smuzhiyun
220*4882a593Smuzhiyun&nandc {
221*4882a593Smuzhiyun	pinctrl-names = "default";
222*4882a593Smuzhiyun	pinctrl-0 = <&parallel_nand_pins>;
223*4882a593Smuzhiyun	status = "disabled";
224*4882a593Smuzhiyun};
225*4882a593Smuzhiyun
226*4882a593Smuzhiyun&nor_flash {
227*4882a593Smuzhiyun	pinctrl-names = "default";
228*4882a593Smuzhiyun	pinctrl-0 = <&spi_nor_pins>;
229*4882a593Smuzhiyun	status = "disabled";
230*4882a593Smuzhiyun
231*4882a593Smuzhiyun	flash@0 {
232*4882a593Smuzhiyun		compatible = "jedec,spi-nor";
233*4882a593Smuzhiyun		reg = <0>;
234*4882a593Smuzhiyun	};
235*4882a593Smuzhiyun};
236*4882a593Smuzhiyun
237*4882a593Smuzhiyun&pcie {
238*4882a593Smuzhiyun	pinctrl-names = "default";
239*4882a593Smuzhiyun	pinctrl-0 = <&pcie0_pins>;
240*4882a593Smuzhiyun	status = "okay";
241*4882a593Smuzhiyun
242*4882a593Smuzhiyun	pcie@0,0 {
243*4882a593Smuzhiyun		status = "okay";
244*4882a593Smuzhiyun	};
245*4882a593Smuzhiyun};
246*4882a593Smuzhiyun
247*4882a593Smuzhiyun&pio {
248*4882a593Smuzhiyun	/* eMMC is shared pin with parallel NAND */
249*4882a593Smuzhiyun	emmc_pins_default: emmc-pins-default {
250*4882a593Smuzhiyun		mux {
251*4882a593Smuzhiyun			function = "emmc", "emmc_rst";
252*4882a593Smuzhiyun			groups = "emmc";
253*4882a593Smuzhiyun		};
254*4882a593Smuzhiyun
255*4882a593Smuzhiyun		/* "NDL0","NDL1","NDL2","NDL3","NDL4","NDL5","NDL6","NDL7",
256*4882a593Smuzhiyun		 * "NRB","NCLE" pins are used as DAT0,DAT1,DAT2,DAT3,DAT4,
257*4882a593Smuzhiyun		 * DAT5,DAT6,DAT7,CMD,CLK for eMMC respectively
258*4882a593Smuzhiyun		 */
259*4882a593Smuzhiyun		conf-cmd-dat {
260*4882a593Smuzhiyun			pins = "NDL0", "NDL1", "NDL2",
261*4882a593Smuzhiyun			       "NDL3", "NDL4", "NDL5",
262*4882a593Smuzhiyun			       "NDL6", "NDL7", "NRB";
263*4882a593Smuzhiyun			input-enable;
264*4882a593Smuzhiyun			bias-pull-up;
265*4882a593Smuzhiyun		};
266*4882a593Smuzhiyun
267*4882a593Smuzhiyun		conf-clk {
268*4882a593Smuzhiyun			pins = "NCLE";
269*4882a593Smuzhiyun			bias-pull-down;
270*4882a593Smuzhiyun		};
271*4882a593Smuzhiyun	};
272*4882a593Smuzhiyun
273*4882a593Smuzhiyun	emmc_pins_uhs: emmc-pins-uhs {
274*4882a593Smuzhiyun		mux {
275*4882a593Smuzhiyun			function = "emmc";
276*4882a593Smuzhiyun			groups = "emmc";
277*4882a593Smuzhiyun		};
278*4882a593Smuzhiyun
279*4882a593Smuzhiyun		conf-cmd-dat {
280*4882a593Smuzhiyun			pins = "NDL0", "NDL1", "NDL2",
281*4882a593Smuzhiyun			       "NDL3", "NDL4", "NDL5",
282*4882a593Smuzhiyun			       "NDL6", "NDL7", "NRB";
283*4882a593Smuzhiyun			input-enable;
284*4882a593Smuzhiyun			drive-strength = <4>;
285*4882a593Smuzhiyun			bias-pull-up;
286*4882a593Smuzhiyun		};
287*4882a593Smuzhiyun
288*4882a593Smuzhiyun		conf-clk {
289*4882a593Smuzhiyun			pins = "NCLE";
290*4882a593Smuzhiyun			drive-strength = <4>;
291*4882a593Smuzhiyun			bias-pull-down;
292*4882a593Smuzhiyun		};
293*4882a593Smuzhiyun	};
294*4882a593Smuzhiyun
295*4882a593Smuzhiyun	eth_pins: eth-pins {
296*4882a593Smuzhiyun		mux {
297*4882a593Smuzhiyun			function = "eth";
298*4882a593Smuzhiyun			groups = "mdc_mdio", "rgmii_via_gmac2";
299*4882a593Smuzhiyun		};
300*4882a593Smuzhiyun	};
301*4882a593Smuzhiyun
302*4882a593Smuzhiyun	i2c1_pins: i2c1-pins {
303*4882a593Smuzhiyun		mux {
304*4882a593Smuzhiyun			function = "i2c";
305*4882a593Smuzhiyun			groups =  "i2c1_0";
306*4882a593Smuzhiyun		};
307*4882a593Smuzhiyun	};
308*4882a593Smuzhiyun
309*4882a593Smuzhiyun	i2c2_pins: i2c2-pins {
310*4882a593Smuzhiyun		mux {
311*4882a593Smuzhiyun			function = "i2c";
312*4882a593Smuzhiyun			groups =  "i2c2_0";
313*4882a593Smuzhiyun		};
314*4882a593Smuzhiyun	};
315*4882a593Smuzhiyun
316*4882a593Smuzhiyun	i2s1_pins: i2s1-pins {
317*4882a593Smuzhiyun		mux {
318*4882a593Smuzhiyun			function = "i2s";
319*4882a593Smuzhiyun			groups =  "i2s_out_mclk_bclk_ws",
320*4882a593Smuzhiyun				  "i2s1_in_data",
321*4882a593Smuzhiyun				  "i2s1_out_data";
322*4882a593Smuzhiyun		};
323*4882a593Smuzhiyun
324*4882a593Smuzhiyun		conf {
325*4882a593Smuzhiyun			pins = "I2S1_IN", "I2S1_OUT", "I2S_BCLK",
326*4882a593Smuzhiyun			       "I2S_WS", "I2S_MCLK";
327*4882a593Smuzhiyun			drive-strength = <12>;
328*4882a593Smuzhiyun			bias-pull-down;
329*4882a593Smuzhiyun		};
330*4882a593Smuzhiyun	};
331*4882a593Smuzhiyun
332*4882a593Smuzhiyun	irrx_pins: irrx-pins {
333*4882a593Smuzhiyun		mux {
334*4882a593Smuzhiyun			function = "ir";
335*4882a593Smuzhiyun			groups =  "ir_1_rx";
336*4882a593Smuzhiyun		};
337*4882a593Smuzhiyun	};
338*4882a593Smuzhiyun
339*4882a593Smuzhiyun	irtx_pins: irtx-pins {
340*4882a593Smuzhiyun		mux {
341*4882a593Smuzhiyun			function = "ir";
342*4882a593Smuzhiyun			groups =  "ir_1_tx";
343*4882a593Smuzhiyun		};
344*4882a593Smuzhiyun	};
345*4882a593Smuzhiyun
346*4882a593Smuzhiyun	/* Parallel nand is shared pin with eMMC */
347*4882a593Smuzhiyun	parallel_nand_pins: parallel-nand-pins {
348*4882a593Smuzhiyun		mux {
349*4882a593Smuzhiyun			function = "flash";
350*4882a593Smuzhiyun			groups = "par_nand";
351*4882a593Smuzhiyun		};
352*4882a593Smuzhiyun	};
353*4882a593Smuzhiyun
354*4882a593Smuzhiyun	pcie0_pins: pcie0-pins {
355*4882a593Smuzhiyun		mux {
356*4882a593Smuzhiyun			function = "pcie";
357*4882a593Smuzhiyun			groups = "pcie0_pad_perst",
358*4882a593Smuzhiyun				 "pcie0_1_waken",
359*4882a593Smuzhiyun				 "pcie0_1_clkreq";
360*4882a593Smuzhiyun		};
361*4882a593Smuzhiyun	};
362*4882a593Smuzhiyun
363*4882a593Smuzhiyun	pcie1_pins: pcie1-pins {
364*4882a593Smuzhiyun		mux {
365*4882a593Smuzhiyun			function = "pcie";
366*4882a593Smuzhiyun			groups = "pcie1_pad_perst",
367*4882a593Smuzhiyun				 "pcie1_0_waken",
368*4882a593Smuzhiyun				 "pcie1_0_clkreq";
369*4882a593Smuzhiyun		};
370*4882a593Smuzhiyun	};
371*4882a593Smuzhiyun
372*4882a593Smuzhiyun	pmic_bus_pins: pmic-bus-pins {
373*4882a593Smuzhiyun		mux {
374*4882a593Smuzhiyun			function = "pmic";
375*4882a593Smuzhiyun			groups = "pmic_bus";
376*4882a593Smuzhiyun		};
377*4882a593Smuzhiyun	};
378*4882a593Smuzhiyun
379*4882a593Smuzhiyun	pwm7_pins: pwm1-2-pins {
380*4882a593Smuzhiyun		mux {
381*4882a593Smuzhiyun			function = "pwm";
382*4882a593Smuzhiyun			groups = "pwm_ch7_2";
383*4882a593Smuzhiyun		};
384*4882a593Smuzhiyun	};
385*4882a593Smuzhiyun
386*4882a593Smuzhiyun	wled_pins: wled-pins {
387*4882a593Smuzhiyun		mux {
388*4882a593Smuzhiyun			function = "led";
389*4882a593Smuzhiyun			groups = "wled";
390*4882a593Smuzhiyun		};
391*4882a593Smuzhiyun	};
392*4882a593Smuzhiyun
393*4882a593Smuzhiyun	sd0_pins_default: sd0-pins-default {
394*4882a593Smuzhiyun		mux {
395*4882a593Smuzhiyun			function = "sd";
396*4882a593Smuzhiyun			groups = "sd_0";
397*4882a593Smuzhiyun		};
398*4882a593Smuzhiyun
399*4882a593Smuzhiyun		/* "I2S2_OUT, "I2S4_IN"", "I2S3_IN", "I2S2_IN",
400*4882a593Smuzhiyun		 *  "I2S4_OUT", "I2S3_OUT" are used as DAT0, DAT1,
401*4882a593Smuzhiyun		 *  DAT2, DAT3, CMD, CLK for SD respectively.
402*4882a593Smuzhiyun		 */
403*4882a593Smuzhiyun		conf-cmd-data {
404*4882a593Smuzhiyun			pins = "I2S2_OUT", "I2S4_IN", "I2S3_IN",
405*4882a593Smuzhiyun			       "I2S2_IN","I2S4_OUT";
406*4882a593Smuzhiyun			input-enable;
407*4882a593Smuzhiyun			drive-strength = <8>;
408*4882a593Smuzhiyun			bias-pull-up;
409*4882a593Smuzhiyun		};
410*4882a593Smuzhiyun		conf-clk {
411*4882a593Smuzhiyun			pins = "I2S3_OUT";
412*4882a593Smuzhiyun			drive-strength = <12>;
413*4882a593Smuzhiyun			bias-pull-down;
414*4882a593Smuzhiyun		};
415*4882a593Smuzhiyun		conf-cd {
416*4882a593Smuzhiyun			pins = "TXD3";
417*4882a593Smuzhiyun			bias-pull-up;
418*4882a593Smuzhiyun		};
419*4882a593Smuzhiyun	};
420*4882a593Smuzhiyun
421*4882a593Smuzhiyun	sd0_pins_uhs: sd0-pins-uhs {
422*4882a593Smuzhiyun		mux {
423*4882a593Smuzhiyun			function = "sd";
424*4882a593Smuzhiyun			groups = "sd_0";
425*4882a593Smuzhiyun		};
426*4882a593Smuzhiyun
427*4882a593Smuzhiyun		conf-cmd-data {
428*4882a593Smuzhiyun			pins = "I2S2_OUT", "I2S4_IN", "I2S3_IN",
429*4882a593Smuzhiyun			       "I2S2_IN","I2S4_OUT";
430*4882a593Smuzhiyun			input-enable;
431*4882a593Smuzhiyun			bias-pull-up;
432*4882a593Smuzhiyun		};
433*4882a593Smuzhiyun
434*4882a593Smuzhiyun		conf-clk {
435*4882a593Smuzhiyun			pins = "I2S3_OUT";
436*4882a593Smuzhiyun			bias-pull-down;
437*4882a593Smuzhiyun		};
438*4882a593Smuzhiyun	};
439*4882a593Smuzhiyun
440*4882a593Smuzhiyun	/* Serial NAND is shared pin with SPI-NOR */
441*4882a593Smuzhiyun	serial_nand_pins: serial-nand-pins {
442*4882a593Smuzhiyun		mux {
443*4882a593Smuzhiyun			function = "flash";
444*4882a593Smuzhiyun			groups = "snfi";
445*4882a593Smuzhiyun		};
446*4882a593Smuzhiyun	};
447*4882a593Smuzhiyun
448*4882a593Smuzhiyun	spic0_pins: spic0-pins {
449*4882a593Smuzhiyun		mux {
450*4882a593Smuzhiyun			function = "spi";
451*4882a593Smuzhiyun			groups = "spic0_0";
452*4882a593Smuzhiyun		};
453*4882a593Smuzhiyun	};
454*4882a593Smuzhiyun
455*4882a593Smuzhiyun	spic1_pins: spic1-pins {
456*4882a593Smuzhiyun		mux {
457*4882a593Smuzhiyun			function = "spi";
458*4882a593Smuzhiyun			groups = "spic1_0";
459*4882a593Smuzhiyun		};
460*4882a593Smuzhiyun	};
461*4882a593Smuzhiyun
462*4882a593Smuzhiyun	/* SPI-NOR is shared pin with serial NAND */
463*4882a593Smuzhiyun	spi_nor_pins: spi-nor-pins {
464*4882a593Smuzhiyun		mux {
465*4882a593Smuzhiyun			function = "flash";
466*4882a593Smuzhiyun			groups = "spi_nor";
467*4882a593Smuzhiyun		};
468*4882a593Smuzhiyun	};
469*4882a593Smuzhiyun
470*4882a593Smuzhiyun	/* serial NAND is shared pin with SPI-NOR */
471*4882a593Smuzhiyun	serial_nand_pins: serial-nand-pins {
472*4882a593Smuzhiyun		mux {
473*4882a593Smuzhiyun			function = "flash";
474*4882a593Smuzhiyun			groups = "snfi";
475*4882a593Smuzhiyun		};
476*4882a593Smuzhiyun	};
477*4882a593Smuzhiyun
478*4882a593Smuzhiyun	uart0_pins: uart0-pins {
479*4882a593Smuzhiyun		mux {
480*4882a593Smuzhiyun			function = "uart";
481*4882a593Smuzhiyun			groups = "uart0_0_tx_rx" ;
482*4882a593Smuzhiyun		};
483*4882a593Smuzhiyun	};
484*4882a593Smuzhiyun
485*4882a593Smuzhiyun	uart2_pins: uart2-pins {
486*4882a593Smuzhiyun		mux {
487*4882a593Smuzhiyun			function = "uart";
488*4882a593Smuzhiyun			groups = "uart2_1_tx_rx" ;
489*4882a593Smuzhiyun		};
490*4882a593Smuzhiyun	};
491*4882a593Smuzhiyun
492*4882a593Smuzhiyun	watchdog_pins: watchdog-pins {
493*4882a593Smuzhiyun		mux {
494*4882a593Smuzhiyun			function = "watchdog";
495*4882a593Smuzhiyun			groups = "watchdog";
496*4882a593Smuzhiyun		};
497*4882a593Smuzhiyun	};
498*4882a593Smuzhiyun};
499*4882a593Smuzhiyun
500*4882a593Smuzhiyun&pwm {
501*4882a593Smuzhiyun	pinctrl-names = "default";
502*4882a593Smuzhiyun	pinctrl-0 = <&pwm7_pins>;
503*4882a593Smuzhiyun	status = "okay";
504*4882a593Smuzhiyun};
505*4882a593Smuzhiyun
506*4882a593Smuzhiyun&pwrap {
507*4882a593Smuzhiyun	pinctrl-names = "default";
508*4882a593Smuzhiyun	pinctrl-0 = <&pmic_bus_pins>;
509*4882a593Smuzhiyun
510*4882a593Smuzhiyun	status = "okay";
511*4882a593Smuzhiyun};
512*4882a593Smuzhiyun
513*4882a593Smuzhiyun&sata {
514*4882a593Smuzhiyun	status = "okay";
515*4882a593Smuzhiyun};
516*4882a593Smuzhiyun
517*4882a593Smuzhiyun&sata_phy {
518*4882a593Smuzhiyun	status = "okay";
519*4882a593Smuzhiyun};
520*4882a593Smuzhiyun
521*4882a593Smuzhiyun&spi0 {
522*4882a593Smuzhiyun	pinctrl-names = "default";
523*4882a593Smuzhiyun	pinctrl-0 = <&spic0_pins>;
524*4882a593Smuzhiyun	status = "okay";
525*4882a593Smuzhiyun};
526*4882a593Smuzhiyun
527*4882a593Smuzhiyun&spi1 {
528*4882a593Smuzhiyun	pinctrl-names = "default";
529*4882a593Smuzhiyun	pinctrl-0 = <&spic1_pins>;
530*4882a593Smuzhiyun	status = "okay";
531*4882a593Smuzhiyun};
532*4882a593Smuzhiyun
533*4882a593Smuzhiyun&ssusb {
534*4882a593Smuzhiyun	vusb33-supply = <&reg_3p3v>;
535*4882a593Smuzhiyun	vbus-supply = <&reg_5v>;
536*4882a593Smuzhiyun	status = "okay";
537*4882a593Smuzhiyun};
538*4882a593Smuzhiyun
539*4882a593Smuzhiyun&u3phy {
540*4882a593Smuzhiyun	status = "okay";
541*4882a593Smuzhiyun};
542*4882a593Smuzhiyun
543*4882a593Smuzhiyun&uart0 {
544*4882a593Smuzhiyun	pinctrl-names = "default";
545*4882a593Smuzhiyun	pinctrl-0 = <&uart0_pins>;
546*4882a593Smuzhiyun	status = "okay";
547*4882a593Smuzhiyun};
548*4882a593Smuzhiyun
549*4882a593Smuzhiyun&uart2 {
550*4882a593Smuzhiyun	pinctrl-names = "default";
551*4882a593Smuzhiyun	pinctrl-0 = <&uart2_pins>;
552*4882a593Smuzhiyun	status = "okay";
553*4882a593Smuzhiyun};
554*4882a593Smuzhiyun
555*4882a593Smuzhiyun&watchdog {
556*4882a593Smuzhiyun	pinctrl-names = "default";
557*4882a593Smuzhiyun	pinctrl-0 = <&watchdog_pins>;
558*4882a593Smuzhiyun	status = "okay";
559*4882a593Smuzhiyun};
560*4882a593Smuzhiyun
561*4882a593Smuzhiyun&wmac {
562*4882a593Smuzhiyun	status = "okay";
563*4882a593Smuzhiyun};
564