blob: 4f2f04851d10a5d448a0ec1280d48e38bb681f4d [file] [log] [blame]
Frank Wunderlich9b6a5b22020-08-10 16:45:46 +02001// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (c) 2019 MediaTek Inc.
4 * Author: Sam Shih <sam.shih@mediatek.com>
5 */
6
7/dts-v1/;
8#include "mt7622.dtsi"
9#include "mt7622-u-boot.dtsi"
10
11/ {
12 #address-cells = <1>;
13 #size-cells = <1>;
14 model = "mt7622-bpi-r64";
15 compatible = "mediatek,mt7622", "mediatek,mt7622-rfb";
16 chosen {
17 stdout-path = &uart0;
18 tick-timer = &timer0;
19 };
20
21 aliases {
22 spi0 = &snfi;
23 };
24
25 memory@40000000 {
26 device_type = "memory";
27 reg = <0x40000000 0x40000000>;
28 };
29
30 reg_1p8v: regulator-1p8v {
31 compatible = "regulator-fixed";
32 regulator-name = "fixed-1.8V";
33 regulator-min-microvolt = <1800000>;
34 regulator-max-microvolt = <1800000>;
35 regulator-boot-on;
36 regulator-always-on;
37 };
38
39 reg_3p3v: regulator-3p3v {
40 compatible = "regulator-fixed";
41 regulator-name = "fixed-3.3V";
42 regulator-min-microvolt = <3300000>;
43 regulator-max-microvolt = <3300000>;
44 regulator-boot-on;
45 regulator-always-on;
46 };
47};
48
Frank Wunderlich70a78502020-08-14 09:10:17 +020049&pcie {
50 pinctrl-names = "default";
51 pinctrl-0 = <&pcie0_pins>, <&pcie1_pins>;
52 status = "okay";
53
54 pcie@0,0 {
55 status = "okay";
56 };
57
58 pcie@1,0 {
59 status = "okay";
60 };
61};
Frank Wunderlich9b6a5b22020-08-10 16:45:46 +020062
63&pinctrl {
Frank Wunderlich70a78502020-08-14 09:10:17 +020064 pcie0_pins: pcie0-pins {
65 mux {
66 function = "pcie";
67 groups = "pcie0_pad_perst",
68 "pcie0_1_waken",
69 "pcie0_1_clkreq";
70 };
71 };
72
73 pcie1_pins: pcie1-pins {
74 mux {
75 function = "pcie";
76 groups = "pcie1_pad_perst",
77 "pcie1_0_waken",
78 "pcie1_0_clkreq";
79 };
80 };
81
Frank Wunderlich9b6a5b22020-08-10 16:45:46 +020082 snfi_pins: snfi-pins {
83 mux {
84 function = "flash";
85 groups = "snfi";
86 };
87 };
88
89 snor_pins: snor-pins {
90 mux {
91 function = "flash";
92 groups = "spi_nor";
93 };
94 };
95
96 uart0_pins: uart0 {
97 mux {
98 function = "uart";
99 groups = "uart0_0_tx_rx" ;
100 };
101 };
102
103 pwm_pins: pwm1 {
104 mux {
105 function = "pwm";
106 groups = "pwm_ch1_0" ;
107 };
108 };
109
110 watchdog_pins: watchdog-default {
111 mux {
112 function = "watchdog";
113 groups = "watchdog";
114 };
115 };
116
117 mmc0_pins_default: mmc0default {
118 mux {
119 function = "emmc";
120 groups = "emmc";
121 };
122
123 /* "NDL0","NDL1","NDL2","NDL3","NDL4","NDL5","NDL6","NDL7",
124 * "NRB","NCLE" pins are used as DAT0,DAT1,DAT2,DAT3,DAT4,
125 * DAT5,DAT6,DAT7,CMD,CLK for eMMC respectively
126 */
127 conf-cmd-dat {
128 pins = "NDL0", "NDL1", "NDL2",
129 "NDL3", "NDL4", "NDL5",
130 "NDL6", "NDL7", "NRB";
131 input-enable;
132 bias-pull-up;
133 };
134
135 conf-clk {
136 pins = "NCLE";
137 bias-pull-down;
138 };
139
140 };
141
142 mmc1_pins_default: mmc1default {
143 mux {
144 function = "sd";
145 groups = "sd_0";
146 };
147 /* "I2S2_OUT, "I2S4_IN"", "I2S3_IN", "I2S2_IN",
148 * "I2S4_OUT", "I2S3_OUT" are used as DAT0, DAT1,
149 * DAT2, DAT3, CMD, CLK for SD respectively.
150 */
151 conf-cmd-data {
152 pins = "I2S2_OUT", "I2S4_IN", "I2S3_IN",
153 "I2S2_IN","I2S4_OUT";
154 input-enable;
155 drive-strength = <8>;
156 bias-pull-up;
157 };
158 conf-clk {
159 pins = "I2S3_OUT";
160 drive-strength = <12>;
161 bias-pull-down;
162 };
163 conf-cd {
164 pins = "TXD3";
165 bias-pull-up;
166 };
167
168 };
169};
170
171&snfi {
172 pinctrl-names = "default", "snfi";
173 pinctrl-0 = <&snor_pins>;
174 pinctrl-1 = <&snfi_pins>;
175 status = "okay";
176
177 spi-flash@0{
178 compatible = "jedec,spi-nor";
179 reg = <0>;
180 u-boot,dm-pre-reloc;
181 };
182};
183
184&uart0 {
185 pinctrl-names = "default";
186 pinctrl-0 = <&uart0_pins>;
187 status = "okay";
188};
189
190&pwm {
191 pinctrl-names = "default";
192 pinctrl-0 = <&pwm_pins>;
193 status = "okay";
194};
195
196&mmc0 {
197 pinctrl-names = "default";
198 pinctrl-0 = <&mmc0_pins_default>;
199 status = "okay";
200 bus-width = <8>;
201 max-frequency = <50000000>;
202 cap-sd-highspeed;
203 vmmc-supply = <&reg_3p3v>;
204 vqmmc-supply = <&reg_3p3v>;
205 non-removable;
206};
207
208&mmc1 {
209 pinctrl-names = "default";
210 pinctrl-0 = <&mmc1_pins_default>;
211 status = "okay";
212 bus-width = <4>;
213 max-frequency = <50000000>;
214 cap-sd-highspeed;
215 r_smpl = <1>;
216 vmmc-supply = <&reg_3p3v>;
217 vqmmc-supply = <&reg_3p3v>;
218};
219
220&watchdog {
221 pinctrl-names = "default";
222 pinctrl-0 = <&watchdog_pins>;
223 status = "okay";
224};
225
226&eth {
227 status = "okay";
228 mediatek,gmac-id = <0>;
229 phy-mode = "sgmii";
230 mediatek,switch = "mt7531";
231 reset-gpios = <&gpio 54 GPIO_ACTIVE_HIGH>;
232
233 fixed-link {
234 speed = <1000>;
235 full-duplex;
236 };
237};
Frank Wunderlichd859f3a2020-08-13 10:20:48 +0200238
239&gpio {
240 /*gpio 90 for setting mode to sata*/
241 asm_sel {
242 gpio-hog;
243 gpios = <90 GPIO_ACTIVE_HIGH>;
244 output-low;
245 };
246};
Frank Wunderlichb59a3952020-08-20 16:37:57 +0200247
248&ssusb {
249 status = "okay";
250};
251
252&u3phy {
253 status = "okay";
254};