xref: /freebsd-src/sys/contrib/device-tree/src/arm/mediatek/mt7623a-rfb-nand.dts (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Copyright (c) 2017-2018 MediaTek Inc.
4*f126890aSEmmanuel Vadot * Author: Sean Wang <sean.wang@mediatek.com>
5*f126890aSEmmanuel Vadot *
6*f126890aSEmmanuel Vadot */
7*f126890aSEmmanuel Vadot
8*f126890aSEmmanuel Vadot/dts-v1/;
9*f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
10*f126890aSEmmanuel Vadot#include "mt7623a.dtsi"
11*f126890aSEmmanuel Vadot#include "mt6323.dtsi"
12*f126890aSEmmanuel Vadot
13*f126890aSEmmanuel Vadot/ {
14*f126890aSEmmanuel Vadot	model = "MediaTek MT7623A with NAND reference board";
15*f126890aSEmmanuel Vadot	compatible = "mediatek,mt7623a-rfb-nand", "mediatek,mt7623";
16*f126890aSEmmanuel Vadot
17*f126890aSEmmanuel Vadot	aliases {
18*f126890aSEmmanuel Vadot		serial2 = &uart2;
19*f126890aSEmmanuel Vadot	};
20*f126890aSEmmanuel Vadot
21*f126890aSEmmanuel Vadot	chosen {
22*f126890aSEmmanuel Vadot		stdout-path = "serial2:115200n8";
23*f126890aSEmmanuel Vadot	};
24*f126890aSEmmanuel Vadot
25*f126890aSEmmanuel Vadot	cpus {
26*f126890aSEmmanuel Vadot		cpu@0 {
27*f126890aSEmmanuel Vadot			proc-supply = <&mt6323_vproc_reg>;
28*f126890aSEmmanuel Vadot		};
29*f126890aSEmmanuel Vadot
30*f126890aSEmmanuel Vadot		cpu@1 {
31*f126890aSEmmanuel Vadot			proc-supply = <&mt6323_vproc_reg>;
32*f126890aSEmmanuel Vadot		};
33*f126890aSEmmanuel Vadot
34*f126890aSEmmanuel Vadot		cpu@2 {
35*f126890aSEmmanuel Vadot			proc-supply = <&mt6323_vproc_reg>;
36*f126890aSEmmanuel Vadot		};
37*f126890aSEmmanuel Vadot
38*f126890aSEmmanuel Vadot		cpu@3 {
39*f126890aSEmmanuel Vadot			proc-supply = <&mt6323_vproc_reg>;
40*f126890aSEmmanuel Vadot		};
41*f126890aSEmmanuel Vadot	};
42*f126890aSEmmanuel Vadot
43*f126890aSEmmanuel Vadot	gpio-keys {
44*f126890aSEmmanuel Vadot		compatible = "gpio-keys";
45*f126890aSEmmanuel Vadot		pinctrl-names = "default";
46*f126890aSEmmanuel Vadot		pinctrl-0 = <&key_pins_a>;
47*f126890aSEmmanuel Vadot
48*f126890aSEmmanuel Vadot		button-factory {
49*f126890aSEmmanuel Vadot			label = "factory";
50*f126890aSEmmanuel Vadot			linux,code = <BTN_0>;
51*f126890aSEmmanuel Vadot			gpios = <&pio 256 GPIO_ACTIVE_LOW>;
52*f126890aSEmmanuel Vadot		};
53*f126890aSEmmanuel Vadot
54*f126890aSEmmanuel Vadot		button-wps {
55*f126890aSEmmanuel Vadot			label = "wps";
56*f126890aSEmmanuel Vadot			linux,code = <KEY_WPS_BUTTON>;
57*f126890aSEmmanuel Vadot			gpios = <&pio 257 GPIO_ACTIVE_HIGH>;
58*f126890aSEmmanuel Vadot		};
59*f126890aSEmmanuel Vadot	};
60*f126890aSEmmanuel Vadot
61*f126890aSEmmanuel Vadot	memory@80000000 {
62*f126890aSEmmanuel Vadot		device_type = "memory";
63*f126890aSEmmanuel Vadot		reg = <0 0x80000000 0 0x20000000>;
64*f126890aSEmmanuel Vadot	};
65*f126890aSEmmanuel Vadot
66*f126890aSEmmanuel Vadot	reg_1p8v: regulator-1p8v {
67*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
68*f126890aSEmmanuel Vadot		regulator-name = "fixed-1.8V";
69*f126890aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
70*f126890aSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
71*f126890aSEmmanuel Vadot		regulator-boot-on;
72*f126890aSEmmanuel Vadot		regulator-always-on;
73*f126890aSEmmanuel Vadot	};
74*f126890aSEmmanuel Vadot
75*f126890aSEmmanuel Vadot	reg_3p3v: regulator-3p3v {
76*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
77*f126890aSEmmanuel Vadot		regulator-name = "fixed-3.3V";
78*f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
79*f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
80*f126890aSEmmanuel Vadot		regulator-boot-on;
81*f126890aSEmmanuel Vadot		regulator-always-on;
82*f126890aSEmmanuel Vadot	};
83*f126890aSEmmanuel Vadot
84*f126890aSEmmanuel Vadot	reg_5v: regulator-5v {
85*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
86*f126890aSEmmanuel Vadot		regulator-name = "fixed-5V";
87*f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
88*f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
89*f126890aSEmmanuel Vadot		regulator-boot-on;
90*f126890aSEmmanuel Vadot		regulator-always-on;
91*f126890aSEmmanuel Vadot	};
92*f126890aSEmmanuel Vadot
93*f126890aSEmmanuel Vadot	sound {
94*f126890aSEmmanuel Vadot		compatible = "mediatek,mt2701-wm8960-machine";
95*f126890aSEmmanuel Vadot		mediatek,platform = <&afe>;
96*f126890aSEmmanuel Vadot		audio-routing =
97*f126890aSEmmanuel Vadot			"Headphone", "HP_L",
98*f126890aSEmmanuel Vadot			"Headphone", "HP_R",
99*f126890aSEmmanuel Vadot			"LINPUT1", "AMIC",
100*f126890aSEmmanuel Vadot			"RINPUT1", "AMIC";
101*f126890aSEmmanuel Vadot		mediatek,audio-codec = <&wm8960>;
102*f126890aSEmmanuel Vadot		pinctrl-names = "default";
103*f126890aSEmmanuel Vadot		pinctrl-0 = <&i2s0_pins_a>;
104*f126890aSEmmanuel Vadot	};
105*f126890aSEmmanuel Vadot};
106*f126890aSEmmanuel Vadot
107*f126890aSEmmanuel Vadot&bch {
108*f126890aSEmmanuel Vadot	status = "okay";
109*f126890aSEmmanuel Vadot};
110*f126890aSEmmanuel Vadot
111*f126890aSEmmanuel Vadot&btif {
112*f126890aSEmmanuel Vadot	status = "okay";
113*f126890aSEmmanuel Vadot};
114*f126890aSEmmanuel Vadot
115*f126890aSEmmanuel Vadot&crypto {
116*f126890aSEmmanuel Vadot	status = "okay";
117*f126890aSEmmanuel Vadot};
118*f126890aSEmmanuel Vadot
119*f126890aSEmmanuel Vadot&switch0 {
120*f126890aSEmmanuel Vadot	ports {
121*f126890aSEmmanuel Vadot		port@0 {
122*f126890aSEmmanuel Vadot			status = "okay";
123*f126890aSEmmanuel Vadot			label = "lan0";
124*f126890aSEmmanuel Vadot		};
125*f126890aSEmmanuel Vadot
126*f126890aSEmmanuel Vadot		port@1 {
127*f126890aSEmmanuel Vadot			status = "okay";
128*f126890aSEmmanuel Vadot			label = "lan1";
129*f126890aSEmmanuel Vadot		};
130*f126890aSEmmanuel Vadot
131*f126890aSEmmanuel Vadot		port@2 {
132*f126890aSEmmanuel Vadot			status = "okay";
133*f126890aSEmmanuel Vadot			label = "lan2";
134*f126890aSEmmanuel Vadot		};
135*f126890aSEmmanuel Vadot
136*f126890aSEmmanuel Vadot		port@3 {
137*f126890aSEmmanuel Vadot			status = "okay";
138*f126890aSEmmanuel Vadot			label = "lan3";
139*f126890aSEmmanuel Vadot		};
140*f126890aSEmmanuel Vadot
141*f126890aSEmmanuel Vadot		port@4 {
142*f126890aSEmmanuel Vadot			status = "okay";
143*f126890aSEmmanuel Vadot			label = "wan";
144*f126890aSEmmanuel Vadot		};
145*f126890aSEmmanuel Vadot	};
146*f126890aSEmmanuel Vadot};
147*f126890aSEmmanuel Vadot
148*f126890aSEmmanuel Vadot&i2c0 {
149*f126890aSEmmanuel Vadot	pinctrl-names = "default";
150*f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c0_pins_a>;
151*f126890aSEmmanuel Vadot	status = "okay";
152*f126890aSEmmanuel Vadot};
153*f126890aSEmmanuel Vadot
154*f126890aSEmmanuel Vadot&i2c1 {
155*f126890aSEmmanuel Vadot	pinctrl-names = "default";
156*f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c1_pins_b>;
157*f126890aSEmmanuel Vadot	status = "okay";
158*f126890aSEmmanuel Vadot
159*f126890aSEmmanuel Vadot	wm8960: wm8960@1a {
160*f126890aSEmmanuel Vadot		compatible = "wlf,wm8960";
161*f126890aSEmmanuel Vadot		reg = <0x1a>;
162*f126890aSEmmanuel Vadot	};
163*f126890aSEmmanuel Vadot};
164*f126890aSEmmanuel Vadot
165*f126890aSEmmanuel Vadot&i2c2 {
166*f126890aSEmmanuel Vadot	pinctrl-names = "default";
167*f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c2_pins_b>;
168*f126890aSEmmanuel Vadot	status = "okay";
169*f126890aSEmmanuel Vadot};
170*f126890aSEmmanuel Vadot
171*f126890aSEmmanuel Vadot&mmc1 {
172*f126890aSEmmanuel Vadot	pinctrl-names = "default", "state_uhs";
173*f126890aSEmmanuel Vadot	pinctrl-0 = <&mmc1_pins_default>;
174*f126890aSEmmanuel Vadot	pinctrl-1 = <&mmc1_pins_uhs>;
175*f126890aSEmmanuel Vadot	status = "okay";
176*f126890aSEmmanuel Vadot	bus-width = <4>;
177*f126890aSEmmanuel Vadot	max-frequency = <50000000>;
178*f126890aSEmmanuel Vadot	cap-sd-highspeed;
179*f126890aSEmmanuel Vadot	cd-gpios = <&pio 261 GPIO_ACTIVE_LOW>;
180*f126890aSEmmanuel Vadot	vmmc-supply = <&reg_3p3v>;
181*f126890aSEmmanuel Vadot	vqmmc-supply = <&reg_3p3v>;
182*f126890aSEmmanuel Vadot};
183*f126890aSEmmanuel Vadot
184*f126890aSEmmanuel Vadot&nandc {
185*f126890aSEmmanuel Vadot	pinctrl-names = "default";
186*f126890aSEmmanuel Vadot	pinctrl-0 = <&nand_pins_default>;
187*f126890aSEmmanuel Vadot	status = "okay";
188*f126890aSEmmanuel Vadot
189*f126890aSEmmanuel Vadot	nand@0 {
190*f126890aSEmmanuel Vadot		reg = <0>;
191*f126890aSEmmanuel Vadot		spare_per_sector = <64>;
192*f126890aSEmmanuel Vadot		nand-ecc-mode = "hw";
193*f126890aSEmmanuel Vadot		nand-ecc-strength = <12>;
194*f126890aSEmmanuel Vadot		nand-ecc-step-size = <1024>;
195*f126890aSEmmanuel Vadot
196*f126890aSEmmanuel Vadot		partitions {
197*f126890aSEmmanuel Vadot			compatible = "fixed-partitions";
198*f126890aSEmmanuel Vadot			#address-cells = <1>;
199*f126890aSEmmanuel Vadot			#size-cells = <1>;
200*f126890aSEmmanuel Vadot
201*f126890aSEmmanuel Vadot			partition@0 {
202*f126890aSEmmanuel Vadot				label = "preloader";
203*f126890aSEmmanuel Vadot				reg = <0x0 0x40000>;
204*f126890aSEmmanuel Vadot			};
205*f126890aSEmmanuel Vadot
206*f126890aSEmmanuel Vadot			partition@40000 {
207*f126890aSEmmanuel Vadot				label = "uboot";
208*f126890aSEmmanuel Vadot				reg = <0x40000 0x80000>;
209*f126890aSEmmanuel Vadot			};
210*f126890aSEmmanuel Vadot
211*f126890aSEmmanuel Vadot			partition@c0000 {
212*f126890aSEmmanuel Vadot				label = "uboot-env";
213*f126890aSEmmanuel Vadot				reg = <0xC0000 0x40000>;
214*f126890aSEmmanuel Vadot			};
215*f126890aSEmmanuel Vadot
216*f126890aSEmmanuel Vadot			partition@140000 {
217*f126890aSEmmanuel Vadot				label = "bootimg";
218*f126890aSEmmanuel Vadot				reg = <0x140000 0x2000000>;
219*f126890aSEmmanuel Vadot			};
220*f126890aSEmmanuel Vadot
221*f126890aSEmmanuel Vadot			partition@2140000 {
222*f126890aSEmmanuel Vadot				label = "recovery";
223*f126890aSEmmanuel Vadot				reg = <0x2140000 0x2000000>;
224*f126890aSEmmanuel Vadot			};
225*f126890aSEmmanuel Vadot
226*f126890aSEmmanuel Vadot			partition@4140000 {
227*f126890aSEmmanuel Vadot				label = "rootfs";
228*f126890aSEmmanuel Vadot				reg = <0x4140000 0x1000000>;
229*f126890aSEmmanuel Vadot			};
230*f126890aSEmmanuel Vadot
231*f126890aSEmmanuel Vadot			partition@5140000 {
232*f126890aSEmmanuel Vadot				label = "usrdata";
233*f126890aSEmmanuel Vadot				reg = <0x5140000 0x1000000>;
234*f126890aSEmmanuel Vadot			};
235*f126890aSEmmanuel Vadot		};
236*f126890aSEmmanuel Vadot	};
237*f126890aSEmmanuel Vadot};
238*f126890aSEmmanuel Vadot
239*f126890aSEmmanuel Vadot&pcie {
240*f126890aSEmmanuel Vadot	pinctrl-names = "default";
241*f126890aSEmmanuel Vadot	pinctrl-0 = <&pcie_default>;
242*f126890aSEmmanuel Vadot	status = "okay";
243*f126890aSEmmanuel Vadot
244*f126890aSEmmanuel Vadot	pcie@0,0 {
245*f126890aSEmmanuel Vadot		status = "okay";
246*f126890aSEmmanuel Vadot	};
247*f126890aSEmmanuel Vadot
248*f126890aSEmmanuel Vadot	pcie@1,0 {
249*f126890aSEmmanuel Vadot		status = "okay";
250*f126890aSEmmanuel Vadot	};
251*f126890aSEmmanuel Vadot};
252*f126890aSEmmanuel Vadot
253*f126890aSEmmanuel Vadot&pcie0_phy {
254*f126890aSEmmanuel Vadot	status = "okay";
255*f126890aSEmmanuel Vadot};
256*f126890aSEmmanuel Vadot
257*f126890aSEmmanuel Vadot&pcie1_phy {
258*f126890aSEmmanuel Vadot	status = "okay";
259*f126890aSEmmanuel Vadot};
260*f126890aSEmmanuel Vadot
261*f126890aSEmmanuel Vadot&pwm {
262*f126890aSEmmanuel Vadot	pinctrl-names = "default";
263*f126890aSEmmanuel Vadot	pinctrl-0 = <&pwm_pins_a>;
264*f126890aSEmmanuel Vadot	status = "okay";
265*f126890aSEmmanuel Vadot};
266*f126890aSEmmanuel Vadot
267*f126890aSEmmanuel Vadot&spi0 {
268*f126890aSEmmanuel Vadot	pinctrl-names = "default";
269*f126890aSEmmanuel Vadot	pinctrl-0 = <&spi0_pins_a>;
270*f126890aSEmmanuel Vadot	status = "okay";
271*f126890aSEmmanuel Vadot};
272*f126890aSEmmanuel Vadot
273*f126890aSEmmanuel Vadot&spi1 {
274*f126890aSEmmanuel Vadot	pinctrl-names = "default";
275*f126890aSEmmanuel Vadot	pinctrl-0 = <&spi1_pins_a>;
276*f126890aSEmmanuel Vadot	status = "okay";
277*f126890aSEmmanuel Vadot};
278*f126890aSEmmanuel Vadot
279*f126890aSEmmanuel Vadot&uart2 {
280*f126890aSEmmanuel Vadot	pinctrl-names = "default";
281*f126890aSEmmanuel Vadot	pinctrl-0 = <&uart2_pins_b>;
282*f126890aSEmmanuel Vadot	status = "okay";
283*f126890aSEmmanuel Vadot};
284*f126890aSEmmanuel Vadot
285*f126890aSEmmanuel Vadot&usb1 {
286*f126890aSEmmanuel Vadot	vusb33-supply = <&reg_3p3v>;
287*f126890aSEmmanuel Vadot	vbus-supply = <&reg_5v>;
288*f126890aSEmmanuel Vadot	status = "okay";
289*f126890aSEmmanuel Vadot};
290*f126890aSEmmanuel Vadot
291*f126890aSEmmanuel Vadot&u3phy1 {
292*f126890aSEmmanuel Vadot	status = "okay";
293*f126890aSEmmanuel Vadot};
294