blob: 8196845a123d9e60c69136aae25188ceaeb5c18c [file] [log] [blame]
developer56ed64c2022-09-09 19:59:13 +08001// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (c) 2022 MediaTek Inc.
4 * Author: Sam Shih <sam.shih@mediatek.com>
5 */
6
7/dts-v1/;
8#include "mt7986.dtsi"
9#include <dt-bindings/gpio/gpio.h>
10
11/ {
12 #address-cells = <1>;
13 #size-cells = <1>;
14 model = "mt7986-rfb";
15 compatible = "mediatek,mt7986", "mediatek,mt7986-rfb";
16 chosen {
17 stdout-path = &uart0;
18 tick-timer = &timer0;
19 };
20
developer87bf1bc2023-07-19 17:15:41 +080021 memory@40000000 {
22 device_type = "memory";
23 reg = <0x40000000 0x10000000>;
24 };
25
developer56ed64c2022-09-09 19:59:13 +080026 reg_3p3v: regulator-3p3v {
27 compatible = "regulator-fixed";
28 regulator-name = "fixed-3.3V";
29 regulator-min-microvolt = <3300000>;
30 regulator-max-microvolt = <3300000>;
31 regulator-boot-on;
32 regulator-always-on;
33 };
34};
35
36&uart0 {
37 status = "okay";
38};
39
40&uart1 {
41 pinctrl-names = "default";
42 pinctrl-0 = <&uart1_pins>;
43 status = "disabled";
44};
45
46&eth {
47 status = "okay";
48 mediatek,gmac-id = <0>;
developer31f7ad62023-07-19 17:17:18 +080049 phy-mode = "2500base-x";
developer56ed64c2022-09-09 19:59:13 +080050 mediatek,switch = "mt7531";
51 reset-gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
52
53 fixed-link {
developer31f7ad62023-07-19 17:17:18 +080054 speed = <2500>;
developer56ed64c2022-09-09 19:59:13 +080055 full-duplex;
56 };
57};
58
59&pinctrl {
60 spi_flash_pins: spi0-pins-func-1 {
61 mux {
62 function = "flash";
63 groups = "spi0", "spi0_wp_hold";
64 };
65
66 conf-pu {
67 pins = "SPI2_CS", "SPI2_HOLD", "SPI2_WP";
68 drive-strength = <MTK_DRIVE_8mA>;
69 bias-pull-up = <MTK_PUPD_SET_R1R0_11>;
70 };
71
72 conf-pd {
73 pins = "SPI2_CLK", "SPI2_MOSI", "SPI2_MISO";
74 drive-strength = <MTK_DRIVE_8mA>;
75 bias-pull-down = <MTK_PUPD_SET_R1R0_11>;
76 };
77 };
78
79 snfi_pins: snfi-pins-func-1 {
80 mux {
81 function = "flash";
82 groups = "snfi";
83 };
84
85 clk {
86 pins = "SPI0_CLK";
87 drive-strength = <MTK_DRIVE_8mA>;
88 bias-pull-down = <MTK_PUPD_SET_R1R0_00>;
89 };
90
91 conf-pu {
92 pins = "SPI0_CS", "SPI0_HOLD", "SPI0_WP";
93 drive-strength = <MTK_DRIVE_6mA>;
94 bias-pull-up = <MTK_PUPD_SET_R1R0_00>;
95 };
96
97 conf-pd {
98 pins = "SPI0_MOSI", "SPI0_MISO";
99 drive-strength = <MTK_DRIVE_6mA>;
100 bias-pull-down = <MTK_PUPD_SET_R1R0_00>;
101 };
102 };
103
104 spic_pins: spi1-pins-func-1 {
105 mux {
106 function = "spi";
107 groups = "spi1_2";
108 };
109 };
110
111 uart1_pins: spi1-pins-func-3 {
112 mux {
113 function = "uart";
114 groups = "uart1_2";
115 };
116 };
117
118 pwm_pins: pwm0-pins-func-1 {
119 mux {
120 function = "pwm";
121 groups = "pwm0";
122 };
123 };
124
125 mmc0_pins_default: mmc0default {
126 mux {
127 function = "flash";
128 groups = "emmc_45";
129 input-schmitt-enable;
130 };
131
132 conf-cmd-dat {
133 pins = "SPI0_CLK", "SPI0_MOSI", "SPI0_MISO",
134 "SPI0_CS", "SPI0_HOLD", "SPI0_WP",
135 "SPI1_CLK", "SPI1_MOSI", "SPI1_MISO";
136 input-enable;
137 drive-strength = <MTK_DRIVE_4mA>;
138 bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
139 };
140
141 conf-clk {
142 pins = "SPI1_CS";
143 drive-strength = <MTK_DRIVE_6mA>;
144 bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
145 };
146
147 conf-rst {
148 pins = "PWM1";
149 drive-strength = <MTK_DRIVE_4mA>;
150 bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
151 };
152 };
153};
154
155&snand {
156 pinctrl-names = "default";
157 pinctrl-0 = <&snfi_pins>;
158 status = "okay";
159 quad-spi;
160};
161
162&spi0 {
163 #address-cells = <1>;
164 #size-cells = <0>;
165 pinctrl-names = "default";
166 pinctrl-0 = <&spi_flash_pins>;
167 status = "okay";
168 must_tx;
169 enhance_timing;
170 dma_ext;
171 ipm_design;
172 support_quad;
173 tick_dly = <2>;
174 sample_sel = <0>;
175
176 spi_nor@0 {
177 compatible = "jedec,spi-nor";
178 reg = <0>;
179 spi-max-frequency = <52000000>;
180 };
181
182 spi_nand@1 {
183 compatible = "spi-nand";
184 reg = <1>;
185 spi-max-frequency = <52000000>;
186 };
187};
188
189&pwm {
190 pinctrl-names = "default";
191 pinctrl-0 = <&pwm_pins>;
192 status = "okay";
193};
194
195&watchdog {
196 status = "disabled";
197};
198
199&mmc0 {
200 pinctrl-names = "default";
201 pinctrl-0 = <&mmc0_pins_default>;
202 bus-width = <8>;
203 max-frequency = <52000000>;
204 cap-mmc-highspeed;
205 cap-mmc-hw-reset;
206 vmmc-supply = <&reg_3p3v>;
207 non-removable;
208 status = "okay";
209};