~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/mediatek/mt7986a-rfb.dts

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
  2 /*
  3  * Copyright (C) 2021 MediaTek Inc.
  4  * Author: Sam.Shih <sam.shih@mediatek.com>
  5  */
  6 
  7 /dts-v1/;
  8 #include <dt-bindings/pinctrl/mt65xx.h>
  9 
 10 #include "mt7986a.dtsi"
 11 
 12 / {
 13         model = "MediaTek MT7986a RFB";
 14         chassis-type = "embedded";
 15         compatible = "mediatek,mt7986a-rfb", "mediatek,mt7986a";
 16 
 17         aliases {
 18                 serial0 = &uart0;
 19         };
 20 
 21         chosen {
 22                 stdout-path = "serial0:115200n8";
 23         };
 24 
 25         memory@40000000 {
 26                 device_type = "memory";
 27                 reg = <0 0x40000000 0 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 
 49 &crypto {
 50         status = "okay";
 51 };
 52 
 53 &eth {
 54         status = "okay";
 55 
 56         gmac0: mac@0 {
 57                 compatible = "mediatek,eth-mac";
 58                 reg = <0>;
 59                 phy-mode = "2500base-x";
 60 
 61                 fixed-link {
 62                         speed = <2500>;
 63                         full-duplex;
 64                         pause;
 65                 };
 66         };
 67 
 68         gmac1: mac@1 {
 69                 compatible = "mediatek,eth-mac";
 70                 reg = <1>;
 71                 phy-mode = "rgmii";
 72 
 73                 fixed-link {
 74                         speed = <1000>;
 75                         full-duplex;
 76                         pause;
 77                 };
 78         };
 79 
 80         mdio: mdio-bus {
 81                 #address-cells = <1>;
 82                 #size-cells = <0>;
 83         };
 84 };
 85 
 86 &mdio {
 87         switch: switch@0 {
 88                 compatible = "mediatek,mt7531";
 89                 reg = <31>;
 90                 reset-gpios = <&pio 5 0>;
 91         };
 92 };
 93 
 94 &mmc0 {
 95         pinctrl-names = "default", "state_uhs";
 96         pinctrl-0 = <&mmc0_pins_default>;
 97         pinctrl-1 = <&mmc0_pins_uhs>;
 98         bus-width = <8>;
 99         max-frequency = <200000000>;
100         cap-mmc-highspeed;
101         mmc-hs200-1_8v;
102         mmc-hs400-1_8v;
103         hs400-ds-delay = <0x14014>;
104         vmmc-supply = <&reg_3p3v>;
105         vqmmc-supply = <&reg_1p8v>;
106         non-removable;
107         no-sd;
108         no-sdio;
109 };
110 
111 &pcie {
112         pinctrl-names = "default";
113         pinctrl-0 = <&pcie_pins>;
114         status = "okay";
115 };
116 
117 &pcie_phy {
118         status = "okay";
119 };
120 
121 &pio {
122         mmc0_pins_default: mmc0-pins {
123                 mux {
124                         function = "emmc";
125                         groups = "emmc_51";
126                 };
127                 conf-cmd-dat {
128                         pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2",
129                                "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5",
130                                "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD";
131                         input-enable;
132                         drive-strength = <4>;
133                         bias-pull-up = <MTK_PUPD_SET_R1R0_01>; /* pull-up 10K */
134                 };
135                 conf-clk {
136                         pins = "EMMC_CK";
137                         drive-strength = <6>;
138                         bias-pull-down = <MTK_PUPD_SET_R1R0_10>; /* pull-down 50K */
139                 };
140                 conf-ds {
141                         pins = "EMMC_DSL";
142                         bias-pull-down = <MTK_PUPD_SET_R1R0_10>; /* pull-down 50K */
143                 };
144                 conf-rst {
145                         pins = "EMMC_RSTB";
146                         drive-strength = <4>;
147                         bias-pull-up = <MTK_PUPD_SET_R1R0_01>; /* pull-up 10K */
148                 };
149         };
150 
151         mmc0_pins_uhs: mmc0-uhs-pins {
152                 mux {
153                         function = "emmc";
154                         groups = "emmc_51";
155                 };
156                 conf-cmd-dat {
157                         pins = "EMMC_DATA_0", "EMMC_DATA_1", "EMMC_DATA_2",
158                                "EMMC_DATA_3", "EMMC_DATA_4", "EMMC_DATA_5",
159                                "EMMC_DATA_6", "EMMC_DATA_7", "EMMC_CMD";
160                         input-enable;
161                         drive-strength = <4>;
162                         bias-pull-up = <MTK_PUPD_SET_R1R0_01>; /* pull-up 10K */
163                 };
164                 conf-clk {
165                         pins = "EMMC_CK";
166                         drive-strength = <6>;
167                         bias-pull-down = <MTK_PUPD_SET_R1R0_10>; /* pull-down 50K */
168                 };
169                 conf-ds {
170                         pins = "EMMC_DSL";
171                         bias-pull-down = <MTK_PUPD_SET_R1R0_10>; /* pull-down 50K */
172                 };
173                 conf-rst {
174                         pins = "EMMC_RSTB";
175                         drive-strength = <4>;
176                         bias-pull-up = <MTK_PUPD_SET_R1R0_01>; /* pull-up 10K */
177                 };
178         };
179 
180         pcie_pins: pcie-pins {
181                 mux {
182                         function = "pcie";
183                         groups = "pcie_clk", "pcie_wake", "pcie_pereset";
184                 };
185         };
186 
187         spi_flash_pins: spi-flash-pins {
188                 mux {
189                         function = "spi";
190                         groups = "spi0", "spi0_wp_hold";
191                 };
192         };
193 
194         spic_pins: spic-pins {
195                 mux {
196                         function = "spi";
197                         groups = "spi1_2";
198                 };
199         };
200 
201         uart1_pins: uart1-pins {
202                 mux {
203                         function = "uart";
204                         groups = "uart1";
205                 };
206         };
207 
208         uart2_pins: uart2-pins {
209                 mux {
210                         function = "uart";
211                         groups = "uart2";
212                 };
213         };
214 
215         wf_2g_5g_pins: wf-2g-5g-pins {
216                 mux {
217                         function = "wifi";
218                         groups = "wf_2g", "wf_5g";
219                 };
220                 conf {
221                         pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4",
222                                "WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6",
223                                "WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10",
224                                "WF0_TOP_CLK", "WF0_TOP_DATA", "WF1_HB1",
225                                "WF1_HB2", "WF1_HB3", "WF1_HB4", "WF1_HB0",
226                                "WF1_HB5", "WF1_HB6", "WF1_HB7", "WF1_HB8",
227                                "WF1_TOP_CLK", "WF1_TOP_DATA";
228                         drive-strength = <4>;
229                 };
230         };
231 
232         wf_dbdc_pins: wf-dbdc-pins {
233                 mux {
234                         function = "wifi";
235                         groups = "wf_dbdc";
236                 };
237                 conf {
238                         pins = "WF0_HB1", "WF0_HB2", "WF0_HB3", "WF0_HB4",
239                                "WF0_HB0", "WF0_HB0_B", "WF0_HB5", "WF0_HB6",
240                                "WF0_HB7", "WF0_HB8", "WF0_HB9", "WF0_HB10",
241                                "WF0_TOP_CLK", "WF0_TOP_DATA";
242                         drive-strength = <4>;
243                 };
244         };
245 };
246 
247 &spi0 {
248         pinctrl-names = "default";
249         pinctrl-0 = <&spi_flash_pins>;
250         cs-gpios = <0>, <0>;
251         status = "okay";
252 
253         spi_nand: flash@0 {
254                 compatible = "spi-nand";
255                 reg = <0>;
256                 spi-max-frequency = <10000000>;
257                 spi-tx-bus-width = <4>;
258                 spi-rx-bus-width = <4>;
259         };
260 };
261 
262 &spi1 {
263         pinctrl-names = "default";
264         pinctrl-0 = <&spic_pins>;
265         cs-gpios = <0>, <0>;
266         status = "okay";
267 };
268 
269 &ssusb {
270         status = "okay";
271 };
272 
273 &switch {
274         ports {
275                 #address-cells = <1>;
276                 #size-cells = <0>;
277 
278                 port@0 {
279                         reg = <0>;
280                         label = "lan0";
281                 };
282 
283                 port@1 {
284                         reg = <1>;
285                         label = "lan1";
286                 };
287 
288                 port@2 {
289                         reg = <2>;
290                         label = "lan2";
291                 };
292 
293                 port@3 {
294                         reg = <3>;
295                         label = "lan3";
296                 };
297 
298                 port@4 {
299                         reg = <4>;
300                         label = "lan4";
301                 };
302 
303                 port@5 {
304                         reg = <5>;
305                         ethernet = <&gmac1>;
306                         phy-mode = "rgmii";
307 
308                         fixed-link {
309                                 speed = <1000>;
310                                 full-duplex;
311                                 pause;
312                         };
313                 };
314 
315                 port@6 {
316                         reg = <6>;
317                         label = "cpu";
318                         ethernet = <&gmac0>;
319                         phy-mode = "2500base-x";
320 
321                         fixed-link {
322                                 speed = <2500>;
323                                 full-duplex;
324                                 pause;
325                         };
326                 };
327         };
328 };
329 
330 &uart0 {
331         status = "okay";
332 };
333 
334 &uart1 {
335         pinctrl-names = "default";
336         pinctrl-0 = <&uart1_pins>;
337         status = "okay";
338 };
339 
340 &uart2 {
341         pinctrl-names = "default";
342         pinctrl-0 = <&uart2_pins>;
343         status = "okay";
344 };
345 
346 &usb_phy {
347         status = "okay";
348 };
349 
350 &wifi {
351         status = "okay";
352         pinctrl-names = "default", "dbdc";
353         pinctrl-0 = <&wf_2g_5g_pins>;
354         pinctrl-1 = <&wf_dbdc_pins>;
355 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php