0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * Copyright (c) 2017-2018 MediaTek Inc.
0004 * Author: Sean Wang <sean.wang@mediatek.com>
0005 *
0006 */
0007
0008 /dts-v1/;
0009 #include <dt-bindings/input/input.h>
0010 #include "mt7623a.dtsi"
0011 #include "mt6323.dtsi"
0012
0013 / {
0014 model = "MediaTek MT7623A with NAND reference board";
0015 compatible = "mediatek,mt7623a-rfb-nand", "mediatek,mt7623";
0016
0017 aliases {
0018 serial2 = &uart2;
0019 };
0020
0021 chosen {
0022 stdout-path = "serial2:115200n8";
0023 };
0024
0025 cpus {
0026 cpu@0 {
0027 proc-supply = <&mt6323_vproc_reg>;
0028 };
0029
0030 cpu@1 {
0031 proc-supply = <&mt6323_vproc_reg>;
0032 };
0033
0034 cpu@2 {
0035 proc-supply = <&mt6323_vproc_reg>;
0036 };
0037
0038 cpu@3 {
0039 proc-supply = <&mt6323_vproc_reg>;
0040 };
0041 };
0042
0043 gpio-keys {
0044 compatible = "gpio-keys";
0045 pinctrl-names = "default";
0046 pinctrl-0 = <&key_pins_a>;
0047
0048 button-factory {
0049 label = "factory";
0050 linux,code = <BTN_0>;
0051 gpios = <&pio 256 GPIO_ACTIVE_LOW>;
0052 };
0053
0054 button-wps {
0055 label = "wps";
0056 linux,code = <KEY_WPS_BUTTON>;
0057 gpios = <&pio 257 GPIO_ACTIVE_HIGH>;
0058 };
0059 };
0060
0061 memory@80000000 {
0062 device_type = "memory";
0063 reg = <0 0x80000000 0 0x20000000>;
0064 };
0065
0066 reg_1p8v: regulator-1p8v {
0067 compatible = "regulator-fixed";
0068 regulator-name = "fixed-1.8V";
0069 regulator-min-microvolt = <1800000>;
0070 regulator-max-microvolt = <1800000>;
0071 regulator-boot-on;
0072 regulator-always-on;
0073 };
0074
0075 reg_3p3v: regulator-3p3v {
0076 compatible = "regulator-fixed";
0077 regulator-name = "fixed-3.3V";
0078 regulator-min-microvolt = <3300000>;
0079 regulator-max-microvolt = <3300000>;
0080 regulator-boot-on;
0081 regulator-always-on;
0082 };
0083
0084 reg_5v: regulator-5v {
0085 compatible = "regulator-fixed";
0086 regulator-name = "fixed-5V";
0087 regulator-min-microvolt = <5000000>;
0088 regulator-max-microvolt = <5000000>;
0089 regulator-boot-on;
0090 regulator-always-on;
0091 };
0092
0093 sound {
0094 compatible = "mediatek,mt2701-wm8960-machine";
0095 mediatek,platform = <&afe>;
0096 audio-routing =
0097 "Headphone", "HP_L",
0098 "Headphone", "HP_R",
0099 "LINPUT1", "AMIC",
0100 "RINPUT1", "AMIC";
0101 mediatek,audio-codec = <&wm8960>;
0102 pinctrl-names = "default";
0103 pinctrl-0 = <&i2s0_pins_a>;
0104 };
0105 };
0106
0107 &bch {
0108 status = "okay";
0109 };
0110
0111 &btif {
0112 status = "okay";
0113 };
0114
0115 &crypto {
0116 status = "okay";
0117 };
0118
0119 ð {
0120 status = "okay";
0121
0122 gmac0: mac@0 {
0123 compatible = "mediatek,eth-mac";
0124 reg = <0>;
0125 phy-mode = "trgmii";
0126
0127 fixed-link {
0128 speed = <1000>;
0129 full-duplex;
0130 pause;
0131 };
0132 };
0133
0134 mdio-bus {
0135 #address-cells = <1>;
0136 #size-cells = <0>;
0137
0138 switch@0 {
0139 compatible = "mediatek,mt7530";
0140 reg = <0>;
0141 mediatek,mcm;
0142 resets = <ðsys MT2701_ETHSYS_MCM_RST>;
0143 reset-names = "mcm";
0144 core-supply = <&mt6323_vpa_reg>;
0145 io-supply = <&mt6323_vemc3v3_reg>;
0146
0147 ports {
0148 #address-cells = <1>;
0149 #size-cells = <0>;
0150
0151 port@0 {
0152 reg = <0>;
0153 label = "lan0";
0154 };
0155
0156 port@1 {
0157 reg = <1>;
0158 label = "lan1";
0159 };
0160
0161 port@2 {
0162 reg = <2>;
0163 label = "lan2";
0164 };
0165
0166 port@3 {
0167 reg = <3>;
0168 label = "lan3";
0169 };
0170
0171 port@4 {
0172 reg = <4>;
0173 label = "wan";
0174 };
0175
0176 port@6 {
0177 reg = <6>;
0178 label = "cpu";
0179 ethernet = <&gmac0>;
0180 phy-mode = "trgmii";
0181
0182 fixed-link {
0183 speed = <1000>;
0184 full-duplex;
0185 };
0186 };
0187 };
0188 };
0189 };
0190 };
0191
0192 &i2c0 {
0193 pinctrl-names = "default";
0194 pinctrl-0 = <&i2c0_pins_a>;
0195 status = "okay";
0196 };
0197
0198 &i2c1 {
0199 pinctrl-names = "default";
0200 pinctrl-0 = <&i2c1_pins_b>;
0201 status = "okay";
0202
0203 wm8960: wm8960@1a {
0204 compatible = "wlf,wm8960";
0205 reg = <0x1a>;
0206 };
0207 };
0208
0209 &i2c2 {
0210 pinctrl-names = "default";
0211 pinctrl-0 = <&i2c2_pins_b>;
0212 status = "okay";
0213 };
0214
0215 &mmc1 {
0216 pinctrl-names = "default", "state_uhs";
0217 pinctrl-0 = <&mmc1_pins_default>;
0218 pinctrl-1 = <&mmc1_pins_uhs>;
0219 status = "okay";
0220 bus-width = <4>;
0221 max-frequency = <50000000>;
0222 cap-sd-highspeed;
0223 cd-gpios = <&pio 261 GPIO_ACTIVE_LOW>;
0224 vmmc-supply = <®_3p3v>;
0225 vqmmc-supply = <®_3p3v>;
0226 };
0227
0228 &nandc {
0229 pinctrl-names = "default";
0230 pinctrl-0 = <&nand_pins_default>;
0231 status = "okay";
0232
0233 nand@0 {
0234 reg = <0>;
0235 spare_per_sector = <64>;
0236 nand-ecc-mode = "hw";
0237 nand-ecc-strength = <12>;
0238 nand-ecc-step-size = <1024>;
0239
0240 partitions {
0241 compatible = "fixed-partitions";
0242 #address-cells = <1>;
0243 #size-cells = <1>;
0244
0245 partition@0 {
0246 label = "preloader";
0247 reg = <0x0 0x40000>;
0248 };
0249
0250 partition@40000 {
0251 label = "uboot";
0252 reg = <0x40000 0x80000>;
0253 };
0254
0255 partition@c0000 {
0256 label = "uboot-env";
0257 reg = <0xC0000 0x40000>;
0258 };
0259
0260 partition@140000 {
0261 label = "bootimg";
0262 reg = <0x140000 0x2000000>;
0263 };
0264
0265 partition@2140000 {
0266 label = "recovery";
0267 reg = <0x2140000 0x2000000>;
0268 };
0269
0270 partition@4140000 {
0271 label = "rootfs";
0272 reg = <0x4140000 0x1000000>;
0273 };
0274
0275 partition@5140000 {
0276 label = "usrdata";
0277 reg = <0x5140000 0x1000000>;
0278 };
0279 };
0280 };
0281 };
0282
0283 &pcie {
0284 pinctrl-names = "default";
0285 pinctrl-0 = <&pcie_default>;
0286 status = "okay";
0287
0288 pcie@0,0 {
0289 status = "okay";
0290 };
0291
0292 pcie@1,0 {
0293 status = "okay";
0294 };
0295 };
0296
0297 &pcie0_phy {
0298 status = "okay";
0299 };
0300
0301 &pcie1_phy {
0302 status = "okay";
0303 };
0304
0305 &pwm {
0306 pinctrl-names = "default";
0307 pinctrl-0 = <&pwm_pins_a>;
0308 status = "okay";
0309 };
0310
0311 &spi0 {
0312 pinctrl-names = "default";
0313 pinctrl-0 = <&spi0_pins_a>;
0314 status = "okay";
0315 };
0316
0317 &spi1 {
0318 pinctrl-names = "default";
0319 pinctrl-0 = <&spi1_pins_a>;
0320 status = "okay";
0321 };
0322
0323 &uart2 {
0324 pinctrl-names = "default";
0325 pinctrl-0 = <&uart2_pins_b>;
0326 status = "okay";
0327 };
0328
0329 &usb1 {
0330 vusb33-supply = <®_3p3v>;
0331 vbus-supply = <®_5v>;
0332 status = "okay";
0333 };
0334
0335 &u3phy1 {
0336 status = "okay";
0337 };