10b6286ddSRyder Lee/* 20b6286ddSRyder Lee * Copyright (c) 2018 MediaTek Inc. 30b6286ddSRyder Lee * Author: Ryder Lee <ryder.lee@mediatek.com> 40b6286ddSRyder Lee * 50b6286ddSRyder Lee * SPDX-License-Identifier: (GPL-2.0 OR MIT) 60b6286ddSRyder Lee */ 70b6286ddSRyder Lee 80b6286ddSRyder Lee/dts-v1/; 90b6286ddSRyder Lee#include <dt-bindings/input/input.h> 100b6286ddSRyder Lee#include <dt-bindings/gpio/gpio.h> 117db5dfd3SKrzysztof Kozlowski#include <dt-bindings/leds/common.h> 120b6286ddSRyder Lee 130b6286ddSRyder Lee#include "mt7622.dtsi" 140b6286ddSRyder Lee#include "mt6380.dtsi" 150b6286ddSRyder Lee 160b6286ddSRyder Lee/ { 170b6286ddSRyder Lee model = "Bananapi BPI-R64"; 18380d18fbSAngeloGioacchino Del Regno chassis-type = "embedded"; 190b6286ddSRyder Lee compatible = "bananapi,bpi-r64", "mediatek,mt7622"; 200b6286ddSRyder Lee 21396defa8SRyder Lee aliases { 22396defa8SRyder Lee serial0 = &uart0; 23396defa8SRyder Lee }; 24396defa8SRyder Lee 250b6286ddSRyder Lee chosen { 26396defa8SRyder Lee stdout-path = "serial0:115200n8"; 27396defa8SRyder Lee bootargs = "earlycon=uart8250,mmio32,0x11002000 swiotlb=512"; 280b6286ddSRyder Lee }; 290b6286ddSRyder Lee 300b6286ddSRyder Lee cpus { 310b6286ddSRyder Lee cpu@0 { 320b6286ddSRyder Lee proc-supply = <&mt6380_vcpu_reg>; 330b6286ddSRyder Lee sram-supply = <&mt6380_vm_reg>; 340b6286ddSRyder Lee }; 350b6286ddSRyder Lee 360b6286ddSRyder Lee cpu@1 { 370b6286ddSRyder Lee proc-supply = <&mt6380_vcpu_reg>; 380b6286ddSRyder Lee sram-supply = <&mt6380_vm_reg>; 390b6286ddSRyder Lee }; 400b6286ddSRyder Lee }; 410b6286ddSRyder Lee 420b6286ddSRyder Lee gpio-keys { 430b6286ddSRyder Lee compatible = "gpio-keys"; 440b6286ddSRyder Lee 45335d1603SKrzysztof Kozlowski factory-key { 460b6286ddSRyder Lee label = "factory"; 470b6286ddSRyder Lee linux,code = <BTN_0>; 480b6286ddSRyder Lee gpios = <&pio 0 GPIO_ACTIVE_HIGH>; 490b6286ddSRyder Lee }; 500b6286ddSRyder Lee 51335d1603SKrzysztof Kozlowski wps-key { 520b6286ddSRyder Lee label = "wps"; 530b6286ddSRyder Lee linux,code = <KEY_WPS_BUTTON>; 54c98e6e68SNick Hainke gpios = <&pio 102 GPIO_ACTIVE_LOW>; 550b6286ddSRyder Lee }; 560b6286ddSRyder Lee }; 570b6286ddSRyder Lee 580b6286ddSRyder Lee leds { 590b6286ddSRyder Lee compatible = "gpio-leds"; 600b6286ddSRyder Lee 617db5dfd3SKrzysztof Kozlowski led-0 { 620b6286ddSRyder Lee label = "bpi-r64:pio:green"; 637db5dfd3SKrzysztof Kozlowski color = <LED_COLOR_ID_GREEN>; 640b6286ddSRyder Lee gpios = <&pio 89 GPIO_ACTIVE_HIGH>; 650b6286ddSRyder Lee default-state = "off"; 660b6286ddSRyder Lee }; 670b6286ddSRyder Lee 687db5dfd3SKrzysztof Kozlowski led-1 { 690b6286ddSRyder Lee label = "bpi-r64:pio:red"; 707db5dfd3SKrzysztof Kozlowski color = <LED_COLOR_ID_RED>; 710b6286ddSRyder Lee gpios = <&pio 88 GPIO_ACTIVE_HIGH>; 720b6286ddSRyder Lee default-state = "off"; 730b6286ddSRyder Lee }; 740b6286ddSRyder Lee }; 750b6286ddSRyder Lee 766a6df679SEugen Hristev memory@40000000 { 770b6286ddSRyder Lee reg = <0 0x40000000 0 0x40000000>; 78*248ebf21SRafał Miłecki device_type = "memory"; 790b6286ddSRyder Lee }; 800b6286ddSRyder Lee 810b6286ddSRyder Lee reg_1p8v: regulator-1p8v { 820b6286ddSRyder Lee compatible = "regulator-fixed"; 830b6286ddSRyder Lee regulator-name = "fixed-1.8V"; 840b6286ddSRyder Lee regulator-min-microvolt = <1800000>; 850b6286ddSRyder Lee regulator-max-microvolt = <1800000>; 860b6286ddSRyder Lee regulator-always-on; 870b6286ddSRyder Lee }; 880b6286ddSRyder Lee 890b6286ddSRyder Lee reg_3p3v: regulator-3p3v { 900b6286ddSRyder Lee compatible = "regulator-fixed"; 910b6286ddSRyder Lee regulator-name = "fixed-3.3V"; 920b6286ddSRyder Lee regulator-min-microvolt = <3300000>; 930b6286ddSRyder Lee regulator-max-microvolt = <3300000>; 940b6286ddSRyder Lee regulator-boot-on; 950b6286ddSRyder Lee regulator-always-on; 960b6286ddSRyder Lee }; 970b6286ddSRyder Lee 980b6286ddSRyder Lee reg_5v: regulator-5v { 990b6286ddSRyder Lee compatible = "regulator-fixed"; 1000b6286ddSRyder Lee regulator-name = "fixed-5V"; 1010b6286ddSRyder Lee regulator-min-microvolt = <5000000>; 1020b6286ddSRyder Lee regulator-max-microvolt = <5000000>; 1030b6286ddSRyder Lee regulator-boot-on; 1040b6286ddSRyder Lee regulator-always-on; 1050b6286ddSRyder Lee }; 1060b6286ddSRyder Lee}; 1070b6286ddSRyder Lee 1080b6286ddSRyder Lee&bch { 1090b6286ddSRyder Lee status = "disabled"; 1100b6286ddSRyder Lee}; 1110b6286ddSRyder Lee 1120b6286ddSRyder Lee&btif { 1130b6286ddSRyder Lee status = "okay"; 1140b6286ddSRyder Lee}; 1150b6286ddSRyder Lee 1160b6286ddSRyder Lee&cir { 1170b6286ddSRyder Lee pinctrl-names = "default"; 1180b6286ddSRyder Lee pinctrl-0 = <&irrx_pins>; 1190b6286ddSRyder Lee status = "okay"; 1200b6286ddSRyder Lee}; 1210b6286ddSRyder Lee 1220b6286ddSRyder Leeð { 1230b6286ddSRyder Lee status = "okay"; 124bd69baaaSRené van Dorst gmac0: mac@0 { 125bd69baaaSRené van Dorst compatible = "mediatek,eth-mac"; 126bd69baaaSRené van Dorst reg = <0>; 127bd69baaaSRené van Dorst phy-mode = "2500base-x"; 128bd69baaaSRené van Dorst 129bd69baaaSRené van Dorst fixed-link { 130bd69baaaSRené van Dorst speed = <2500>; 131bd69baaaSRené van Dorst full-duplex; 132bd69baaaSRené van Dorst pause; 133bd69baaaSRené van Dorst }; 134bd69baaaSRené van Dorst }; 1350b6286ddSRyder Lee 1360b6286ddSRyder Lee gmac1: mac@1 { 1370b6286ddSRyder Lee compatible = "mediatek,eth-mac"; 1380b6286ddSRyder Lee reg = <1>; 139bd69baaaSRené van Dorst phy-mode = "rgmii"; 140bd69baaaSRené van Dorst 141bd69baaaSRené van Dorst fixed-link { 142bd69baaaSRené van Dorst speed = <1000>; 143bd69baaaSRené van Dorst full-duplex; 144bd69baaaSRené van Dorst pause; 145bd69baaaSRené van Dorst }; 1460b6286ddSRyder Lee }; 1470b6286ddSRyder Lee 148bd69baaaSRené van Dorst mdio: mdio-bus { 1490b6286ddSRyder Lee #address-cells = <1>; 1500b6286ddSRyder Lee #size-cells = <0>; 15179a675e6SLanden Chao 15279a675e6SLanden Chao switch@0 { 15379a675e6SLanden Chao compatible = "mediatek,mt7531"; 15479a675e6SLanden Chao reg = <0>; 155983f37eeSDaniel Golle interrupt-controller; 156983f37eeSDaniel Golle #interrupt-cells = <1>; 157983f37eeSDaniel Golle interrupt-parent = <&pio>; 158983f37eeSDaniel Golle interrupts = <53 IRQ_TYPE_LEVEL_HIGH>; 15979a675e6SLanden Chao reset-gpios = <&pio 54 0>; 16079a675e6SLanden Chao 16179a675e6SLanden Chao ports { 16279a675e6SLanden Chao #address-cells = <1>; 16379a675e6SLanden Chao #size-cells = <0>; 16479a675e6SLanden Chao 16579a675e6SLanden Chao port@0 { 16679a675e6SLanden Chao reg = <0>; 16779a675e6SLanden Chao label = "wan"; 16879a675e6SLanden Chao }; 16979a675e6SLanden Chao 17079a675e6SLanden Chao port@1 { 17179a675e6SLanden Chao reg = <1>; 17279a675e6SLanden Chao label = "lan0"; 17379a675e6SLanden Chao }; 17479a675e6SLanden Chao 17579a675e6SLanden Chao port@2 { 17679a675e6SLanden Chao reg = <2>; 17779a675e6SLanden Chao label = "lan1"; 17879a675e6SLanden Chao }; 17979a675e6SLanden Chao 18079a675e6SLanden Chao port@3 { 18179a675e6SLanden Chao reg = <3>; 18279a675e6SLanden Chao label = "lan2"; 18379a675e6SLanden Chao }; 18479a675e6SLanden Chao 18579a675e6SLanden Chao port@4 { 18679a675e6SLanden Chao reg = <4>; 18779a675e6SLanden Chao label = "lan3"; 18879a675e6SLanden Chao }; 18979a675e6SLanden Chao 19079a675e6SLanden Chao port@6 { 19179a675e6SLanden Chao reg = <6>; 19279a675e6SLanden Chao label = "cpu"; 19379a675e6SLanden Chao ethernet = <&gmac0>; 19479a675e6SLanden Chao phy-mode = "2500base-x"; 19579a675e6SLanden Chao 19679a675e6SLanden Chao fixed-link { 19779a675e6SLanden Chao speed = <2500>; 19879a675e6SLanden Chao full-duplex; 19979a675e6SLanden Chao pause; 20079a675e6SLanden Chao }; 20179a675e6SLanden Chao }; 20279a675e6SLanden Chao }; 20379a675e6SLanden Chao }; 20479a675e6SLanden Chao 2050b6286ddSRyder Lee }; 2060b6286ddSRyder Lee}; 2070b6286ddSRyder Lee 2080b6286ddSRyder Lee&i2c1 { 2090b6286ddSRyder Lee pinctrl-names = "default"; 2100b6286ddSRyder Lee pinctrl-0 = <&i2c1_pins>; 2110b6286ddSRyder Lee status = "okay"; 2120b6286ddSRyder Lee}; 2130b6286ddSRyder Lee 2140b6286ddSRyder Lee&i2c2 { 2150b6286ddSRyder Lee pinctrl-names = "default"; 2160b6286ddSRyder Lee pinctrl-0 = <&i2c2_pins>; 2170b6286ddSRyder Lee status = "okay"; 2180b6286ddSRyder Lee}; 2190b6286ddSRyder Lee 2200b6286ddSRyder Lee&mmc0 { 2210b6286ddSRyder Lee pinctrl-names = "default", "state_uhs"; 2220b6286ddSRyder Lee pinctrl-0 = <&emmc_pins_default>; 2230b6286ddSRyder Lee pinctrl-1 = <&emmc_pins_uhs>; 2240b6286ddSRyder Lee status = "okay"; 2250b6286ddSRyder Lee bus-width = <8>; 2260b6286ddSRyder Lee max-frequency = <50000000>; 2270b6286ddSRyder Lee cap-mmc-highspeed; 2280b6286ddSRyder Lee mmc-hs200-1_8v; 2290b6286ddSRyder Lee vmmc-supply = <®_3p3v>; 2300b6286ddSRyder Lee vqmmc-supply = <®_1p8v>; 2310b6286ddSRyder Lee assigned-clocks = <&topckgen CLK_TOP_MSDC30_0_SEL>; 2320b6286ddSRyder Lee assigned-clock-parents = <&topckgen CLK_TOP_UNIV48M>; 2330b6286ddSRyder Lee non-removable; 2340b6286ddSRyder Lee}; 2350b6286ddSRyder Lee 2360b6286ddSRyder Lee&mmc1 { 2370b6286ddSRyder Lee pinctrl-names = "default", "state_uhs"; 2380b6286ddSRyder Lee pinctrl-0 = <&sd0_pins_default>; 2390b6286ddSRyder Lee pinctrl-1 = <&sd0_pins_uhs>; 2400b6286ddSRyder Lee status = "okay"; 2410b6286ddSRyder Lee bus-width = <4>; 2420b6286ddSRyder Lee max-frequency = <50000000>; 2430b6286ddSRyder Lee cap-sd-highspeed; 2440b6286ddSRyder Lee cd-gpios = <&pio 81 GPIO_ACTIVE_LOW>; 2450b6286ddSRyder Lee vmmc-supply = <®_3p3v>; 2460b6286ddSRyder Lee vqmmc-supply = <®_3p3v>; 2470b6286ddSRyder Lee assigned-clocks = <&topckgen CLK_TOP_MSDC30_1_SEL>; 2480b6286ddSRyder Lee assigned-clock-parents = <&topckgen CLK_TOP_UNIV48M>; 2490b6286ddSRyder Lee}; 2500b6286ddSRyder Lee 2510b6286ddSRyder Lee&nandc { 2520b6286ddSRyder Lee pinctrl-names = "default"; 2530b6286ddSRyder Lee pinctrl-0 = <¶llel_nand_pins>; 2540b6286ddSRyder Lee status = "disabled"; 2550b6286ddSRyder Lee}; 2560b6286ddSRyder Lee 257d278f43fSDaniel Golle&bch { 258d278f43fSDaniel Golle status = "okay"; 259d278f43fSDaniel Golle}; 2600b6286ddSRyder Lee 261d278f43fSDaniel Golle&snfi { 262d278f43fSDaniel Golle pinctrl-names = "default"; 263d278f43fSDaniel Golle pinctrl-0 = <&serial_nand_pins>; 264d278f43fSDaniel Golle status = "okay"; 2650b6286ddSRyder Lee flash@0 { 266d278f43fSDaniel Golle compatible = "spi-nand"; 2670b6286ddSRyder Lee reg = <0>; 268d278f43fSDaniel Golle spi-tx-bus-width = <4>; 269d278f43fSDaniel Golle spi-rx-bus-width = <4>; 270d278f43fSDaniel Golle nand-ecc-engine = <&snfi>; 271d278f43fSDaniel Golle partitions { 272d278f43fSDaniel Golle compatible = "fixed-partitions"; 273d278f43fSDaniel Golle #address-cells = <1>; 274d278f43fSDaniel Golle #size-cells = <1>; 275d278f43fSDaniel Golle 276d278f43fSDaniel Golle partition@0 { 277d278f43fSDaniel Golle label = "bl2"; 278d278f43fSDaniel Golle reg = <0x0 0x80000>; 279d278f43fSDaniel Golle read-only; 280d278f43fSDaniel Golle }; 281d278f43fSDaniel Golle 282d278f43fSDaniel Golle partition@80000 { 283d278f43fSDaniel Golle label = "fip"; 284d278f43fSDaniel Golle reg = <0x80000 0x200000>; 285d278f43fSDaniel Golle read-only; 286d278f43fSDaniel Golle }; 287d278f43fSDaniel Golle 288d278f43fSDaniel Golle ubi: partition@280000 { 289d278f43fSDaniel Golle label = "ubi"; 290d278f43fSDaniel Golle reg = <0x280000 0x7d80000>; 291d278f43fSDaniel Golle }; 292d278f43fSDaniel Golle }; 2930b6286ddSRyder Lee }; 2940b6286ddSRyder Lee}; 2950b6286ddSRyder Lee 296c99c4733SChuanjia Liu&pcie0 { 2970b6286ddSRyder Lee pinctrl-names = "default"; 298c99c4733SChuanjia Liu pinctrl-0 = <&pcie0_pins>; 2990b6286ddSRyder Lee status = "okay"; 3000b6286ddSRyder Lee}; 3010b6286ddSRyder Lee 302c99c4733SChuanjia Liu&pcie1 { 303c99c4733SChuanjia Liu pinctrl-names = "default"; 304c99c4733SChuanjia Liu pinctrl-0 = <&pcie1_pins>; 3050b6286ddSRyder Lee status = "okay"; 3060b6286ddSRyder Lee}; 3070b6286ddSRyder Lee 3080b6286ddSRyder Lee&pio { 3090b6286ddSRyder Lee /* Attention: GPIO 90 is used to switch between PCIe@1,0 and 3100b6286ddSRyder Lee * SATA functions. i.e. output-high: PCIe, output-low: SATA 3110b6286ddSRyder Lee */ 3120b6286ddSRyder Lee asm_sel { 3130b6286ddSRyder Lee gpio-hog; 3140b6286ddSRyder Lee gpios = <90 GPIO_ACTIVE_HIGH>; 3150b6286ddSRyder Lee output-high; 3160b6286ddSRyder Lee }; 3170b6286ddSRyder Lee 3180b6286ddSRyder Lee /* eMMC is shared pin with parallel NAND */ 3190b6286ddSRyder Lee emmc_pins_default: emmc-pins-default { 3200b6286ddSRyder Lee mux { 3210b6286ddSRyder Lee function = "emmc", "emmc_rst"; 3220b6286ddSRyder Lee groups = "emmc"; 3230b6286ddSRyder Lee }; 3240b6286ddSRyder Lee 3250b6286ddSRyder Lee /* "NDL0","NDL1","NDL2","NDL3","NDL4","NDL5","NDL6","NDL7", 3260b6286ddSRyder Lee * "NRB","NCLE" pins are used as DAT0,DAT1,DAT2,DAT3,DAT4, 3270b6286ddSRyder Lee * DAT5,DAT6,DAT7,CMD,CLK for eMMC respectively 3280b6286ddSRyder Lee */ 3290b6286ddSRyder Lee conf-cmd-dat { 3300b6286ddSRyder Lee pins = "NDL0", "NDL1", "NDL2", 3310b6286ddSRyder Lee "NDL3", "NDL4", "NDL5", 3320b6286ddSRyder Lee "NDL6", "NDL7", "NRB"; 3330b6286ddSRyder Lee input-enable; 3340b6286ddSRyder Lee bias-pull-up; 3350b6286ddSRyder Lee }; 3360b6286ddSRyder Lee 3370b6286ddSRyder Lee conf-clk { 3380b6286ddSRyder Lee pins = "NCLE"; 3390b6286ddSRyder Lee bias-pull-down; 3400b6286ddSRyder Lee }; 3410b6286ddSRyder Lee }; 3420b6286ddSRyder Lee 3430b6286ddSRyder Lee emmc_pins_uhs: emmc-pins-uhs { 3440b6286ddSRyder Lee mux { 3450b6286ddSRyder Lee function = "emmc"; 3460b6286ddSRyder Lee groups = "emmc"; 3470b6286ddSRyder Lee }; 3480b6286ddSRyder Lee 3490b6286ddSRyder Lee conf-cmd-dat { 3500b6286ddSRyder Lee pins = "NDL0", "NDL1", "NDL2", 3510b6286ddSRyder Lee "NDL3", "NDL4", "NDL5", 3520b6286ddSRyder Lee "NDL6", "NDL7", "NRB"; 3530b6286ddSRyder Lee input-enable; 3540b6286ddSRyder Lee drive-strength = <4>; 3550b6286ddSRyder Lee bias-pull-up; 3560b6286ddSRyder Lee }; 3570b6286ddSRyder Lee 3580b6286ddSRyder Lee conf-clk { 3590b6286ddSRyder Lee pins = "NCLE"; 3600b6286ddSRyder Lee drive-strength = <4>; 3610b6286ddSRyder Lee bias-pull-down; 3620b6286ddSRyder Lee }; 3630b6286ddSRyder Lee }; 3640b6286ddSRyder Lee 3650b6286ddSRyder Lee eth_pins: eth-pins { 3660b6286ddSRyder Lee mux { 3670b6286ddSRyder Lee function = "eth"; 3680b6286ddSRyder Lee groups = "mdc_mdio", "rgmii_via_gmac2"; 3690b6286ddSRyder Lee }; 3700b6286ddSRyder Lee }; 3710b6286ddSRyder Lee 3720b6286ddSRyder Lee i2c1_pins: i2c1-pins { 3730b6286ddSRyder Lee mux { 3740b6286ddSRyder Lee function = "i2c"; 3750b6286ddSRyder Lee groups = "i2c1_0"; 3760b6286ddSRyder Lee }; 3770b6286ddSRyder Lee }; 3780b6286ddSRyder Lee 3790b6286ddSRyder Lee i2c2_pins: i2c2-pins { 3800b6286ddSRyder Lee mux { 3810b6286ddSRyder Lee function = "i2c"; 3820b6286ddSRyder Lee groups = "i2c2_0"; 3830b6286ddSRyder Lee }; 3840b6286ddSRyder Lee }; 3850b6286ddSRyder Lee 3860b6286ddSRyder Lee i2s1_pins: i2s1-pins { 3870b6286ddSRyder Lee mux { 3880b6286ddSRyder Lee function = "i2s"; 3890b6286ddSRyder Lee groups = "i2s_out_mclk_bclk_ws", 3900b6286ddSRyder Lee "i2s1_in_data", 3910b6286ddSRyder Lee "i2s1_out_data"; 3920b6286ddSRyder Lee }; 3930b6286ddSRyder Lee 3940b6286ddSRyder Lee conf { 3950b6286ddSRyder Lee pins = "I2S1_IN", "I2S1_OUT", "I2S_BCLK", 3960b6286ddSRyder Lee "I2S_WS", "I2S_MCLK"; 3970b6286ddSRyder Lee drive-strength = <12>; 3980b6286ddSRyder Lee bias-pull-down; 3990b6286ddSRyder Lee }; 4000b6286ddSRyder Lee }; 4010b6286ddSRyder Lee 4020b6286ddSRyder Lee irrx_pins: irrx-pins { 4030b6286ddSRyder Lee mux { 4040b6286ddSRyder Lee function = "ir"; 4050b6286ddSRyder Lee groups = "ir_1_rx"; 4060b6286ddSRyder Lee }; 4070b6286ddSRyder Lee }; 4080b6286ddSRyder Lee 4090b6286ddSRyder Lee irtx_pins: irtx-pins { 4100b6286ddSRyder Lee mux { 4110b6286ddSRyder Lee function = "ir"; 4120b6286ddSRyder Lee groups = "ir_1_tx"; 4130b6286ddSRyder Lee }; 4140b6286ddSRyder Lee }; 4150b6286ddSRyder Lee 4160b6286ddSRyder Lee /* Parallel nand is shared pin with eMMC */ 4170b6286ddSRyder Lee parallel_nand_pins: parallel-nand-pins { 4180b6286ddSRyder Lee mux { 4190b6286ddSRyder Lee function = "flash"; 4200b6286ddSRyder Lee groups = "par_nand"; 4210b6286ddSRyder Lee }; 4220b6286ddSRyder Lee }; 4230b6286ddSRyder Lee 4240b6286ddSRyder Lee pcie0_pins: pcie0-pins { 4250b6286ddSRyder Lee mux { 4260b6286ddSRyder Lee function = "pcie"; 4270b6286ddSRyder Lee groups = "pcie0_pad_perst", 4280b6286ddSRyder Lee "pcie0_1_waken", 4290b6286ddSRyder Lee "pcie0_1_clkreq"; 4300b6286ddSRyder Lee }; 4310b6286ddSRyder Lee }; 4320b6286ddSRyder Lee 4330b6286ddSRyder Lee pcie1_pins: pcie1-pins { 4340b6286ddSRyder Lee mux { 4350b6286ddSRyder Lee function = "pcie"; 4360b6286ddSRyder Lee groups = "pcie1_pad_perst", 4370b6286ddSRyder Lee "pcie1_0_waken", 4380b6286ddSRyder Lee "pcie1_0_clkreq"; 4390b6286ddSRyder Lee }; 4400b6286ddSRyder Lee }; 4410b6286ddSRyder Lee 4420b6286ddSRyder Lee pmic_bus_pins: pmic-bus-pins { 4430b6286ddSRyder Lee mux { 4440b6286ddSRyder Lee function = "pmic"; 4450b6286ddSRyder Lee groups = "pmic_bus"; 4460b6286ddSRyder Lee }; 4470b6286ddSRyder Lee }; 4480b6286ddSRyder Lee 4493f071671SFrank Wunderlich pwm_pins: pwm-pins { 4500b6286ddSRyder Lee mux { 4510b6286ddSRyder Lee function = "pwm"; 4523f071671SFrank Wunderlich groups = "pwm_ch1_0", /* mt7622_pwm_ch1_0_pins[] = { 51, }; */ 4533f071671SFrank Wunderlich "pwm_ch2_0", /* mt7622_pwm_ch2_0_pins[] = { 52, }; */ 4543f071671SFrank Wunderlich "pwm_ch3_2", /* mt7622_pwm_ch3_2_pins[] = { 97, }; */ 4553f071671SFrank Wunderlich "pwm_ch4_1", /* mt7622_pwm_ch4_1_pins[] = { 67, }; */ 4563f071671SFrank Wunderlich "pwm_ch5_0", /* mt7622_pwm_ch5_0_pins[] = { 68, }; */ 4573f071671SFrank Wunderlich "pwm_ch6_0"; /* mt7622_pwm_ch6_0_pins[] = { 69, }; */ 4580b6286ddSRyder Lee }; 4590b6286ddSRyder Lee }; 4600b6286ddSRyder Lee 4610b6286ddSRyder Lee wled_pins: wled-pins { 4620b6286ddSRyder Lee mux { 4630b6286ddSRyder Lee function = "led"; 4640b6286ddSRyder Lee groups = "wled"; 4650b6286ddSRyder Lee }; 4660b6286ddSRyder Lee }; 4670b6286ddSRyder Lee 4680b6286ddSRyder Lee sd0_pins_default: sd0-pins-default { 4690b6286ddSRyder Lee mux { 4700b6286ddSRyder Lee function = "sd"; 4710b6286ddSRyder Lee groups = "sd_0"; 4720b6286ddSRyder Lee }; 4730b6286ddSRyder Lee 4740b6286ddSRyder Lee /* "I2S2_OUT, "I2S4_IN"", "I2S3_IN", "I2S2_IN", 4750b6286ddSRyder Lee * "I2S4_OUT", "I2S3_OUT" are used as DAT0, DAT1, 4760b6286ddSRyder Lee * DAT2, DAT3, CMD, CLK for SD respectively. 4770b6286ddSRyder Lee */ 4780b6286ddSRyder Lee conf-cmd-data { 4790b6286ddSRyder Lee pins = "I2S2_OUT", "I2S4_IN", "I2S3_IN", 4800b6286ddSRyder Lee "I2S2_IN","I2S4_OUT"; 4810b6286ddSRyder Lee input-enable; 4820b6286ddSRyder Lee drive-strength = <8>; 4830b6286ddSRyder Lee bias-pull-up; 4840b6286ddSRyder Lee }; 4850b6286ddSRyder Lee conf-clk { 4860b6286ddSRyder Lee pins = "I2S3_OUT"; 4870b6286ddSRyder Lee drive-strength = <12>; 4880b6286ddSRyder Lee bias-pull-down; 4890b6286ddSRyder Lee }; 4900b6286ddSRyder Lee conf-cd { 4910b6286ddSRyder Lee pins = "TXD3"; 4920b6286ddSRyder Lee bias-pull-up; 4930b6286ddSRyder Lee }; 4940b6286ddSRyder Lee }; 4950b6286ddSRyder Lee 4960b6286ddSRyder Lee sd0_pins_uhs: sd0-pins-uhs { 4970b6286ddSRyder Lee mux { 4980b6286ddSRyder Lee function = "sd"; 4990b6286ddSRyder Lee groups = "sd_0"; 5000b6286ddSRyder Lee }; 5010b6286ddSRyder Lee 5020b6286ddSRyder Lee conf-cmd-data { 5030b6286ddSRyder Lee pins = "I2S2_OUT", "I2S4_IN", "I2S3_IN", 5040b6286ddSRyder Lee "I2S2_IN","I2S4_OUT"; 5050b6286ddSRyder Lee input-enable; 5060b6286ddSRyder Lee bias-pull-up; 5070b6286ddSRyder Lee }; 5080b6286ddSRyder Lee 5090b6286ddSRyder Lee conf-clk { 5100b6286ddSRyder Lee pins = "I2S3_OUT"; 5110b6286ddSRyder Lee bias-pull-down; 5120b6286ddSRyder Lee }; 5130b6286ddSRyder Lee }; 5140b6286ddSRyder Lee 5150b6286ddSRyder Lee /* Serial NAND is shared pin with SPI-NOR */ 5160b6286ddSRyder Lee serial_nand_pins: serial-nand-pins { 5170b6286ddSRyder Lee mux { 5180b6286ddSRyder Lee function = "flash"; 5190b6286ddSRyder Lee groups = "snfi"; 5200b6286ddSRyder Lee }; 5210b6286ddSRyder Lee }; 5220b6286ddSRyder Lee 5230b6286ddSRyder Lee spic0_pins: spic0-pins { 5240b6286ddSRyder Lee mux { 5250b6286ddSRyder Lee function = "spi"; 5260b6286ddSRyder Lee groups = "spic0_0"; 5270b6286ddSRyder Lee }; 5280b6286ddSRyder Lee }; 5290b6286ddSRyder Lee 5300b6286ddSRyder Lee spic1_pins: spic1-pins { 5310b6286ddSRyder Lee mux { 5320b6286ddSRyder Lee function = "spi"; 5330b6286ddSRyder Lee groups = "spic1_0"; 5340b6286ddSRyder Lee }; 5350b6286ddSRyder Lee }; 5360b6286ddSRyder Lee 5370b6286ddSRyder Lee /* SPI-NOR is shared pin with serial NAND */ 5380b6286ddSRyder Lee spi_nor_pins: spi-nor-pins { 5390b6286ddSRyder Lee mux { 5400b6286ddSRyder Lee function = "flash"; 5410b6286ddSRyder Lee groups = "spi_nor"; 5420b6286ddSRyder Lee }; 5430b6286ddSRyder Lee }; 5440b6286ddSRyder Lee 5450b6286ddSRyder Lee /* serial NAND is shared pin with SPI-NOR */ 5460b6286ddSRyder Lee serial_nand_pins: serial-nand-pins { 5470b6286ddSRyder Lee mux { 5480b6286ddSRyder Lee function = "flash"; 5490b6286ddSRyder Lee groups = "snfi"; 5500b6286ddSRyder Lee }; 5510b6286ddSRyder Lee }; 5520b6286ddSRyder Lee 5530b6286ddSRyder Lee uart0_pins: uart0-pins { 5540b6286ddSRyder Lee mux { 5550b6286ddSRyder Lee function = "uart"; 5560b6286ddSRyder Lee groups = "uart0_0_tx_rx" ; 5570b6286ddSRyder Lee }; 5580b6286ddSRyder Lee }; 5590b6286ddSRyder Lee 5600b6286ddSRyder Lee uart2_pins: uart2-pins { 5610b6286ddSRyder Lee mux { 5620b6286ddSRyder Lee function = "uart"; 5630b6286ddSRyder Lee groups = "uart2_1_tx_rx" ; 5640b6286ddSRyder Lee }; 5650b6286ddSRyder Lee }; 5660b6286ddSRyder Lee 5670b6286ddSRyder Lee watchdog_pins: watchdog-pins { 5680b6286ddSRyder Lee mux { 5690b6286ddSRyder Lee function = "watchdog"; 5700b6286ddSRyder Lee groups = "watchdog"; 5710b6286ddSRyder Lee }; 5720b6286ddSRyder Lee }; 5730b6286ddSRyder Lee}; 5740b6286ddSRyder Lee 5750b6286ddSRyder Lee&pwm { 5760b6286ddSRyder Lee pinctrl-names = "default"; 5773f071671SFrank Wunderlich pinctrl-0 = <&pwm_pins>; 5780b6286ddSRyder Lee status = "okay"; 5790b6286ddSRyder Lee}; 5800b6286ddSRyder Lee 5810b6286ddSRyder Lee&pwrap { 5820b6286ddSRyder Lee pinctrl-names = "default"; 5830b6286ddSRyder Lee pinctrl-0 = <&pmic_bus_pins>; 5840b6286ddSRyder Lee 5850b6286ddSRyder Lee status = "okay"; 5860b6286ddSRyder Lee}; 5870b6286ddSRyder Lee 5880b6286ddSRyder Lee&sata { 589c718f36cSRob Herring status = "disabled"; 5900b6286ddSRyder Lee}; 5910b6286ddSRyder Lee 5920b6286ddSRyder Lee&sata_phy { 593c718f36cSRob Herring status = "disabled"; 5940b6286ddSRyder Lee}; 5950b6286ddSRyder Lee 5960b6286ddSRyder Lee&spi0 { 5970b6286ddSRyder Lee pinctrl-names = "default"; 5980b6286ddSRyder Lee pinctrl-0 = <&spic0_pins>; 5990b6286ddSRyder Lee status = "okay"; 6000b6286ddSRyder Lee}; 6010b6286ddSRyder Lee 6020b6286ddSRyder Lee&spi1 { 6030b6286ddSRyder Lee pinctrl-names = "default"; 6040b6286ddSRyder Lee pinctrl-0 = <&spic1_pins>; 6050b6286ddSRyder Lee}; 6060b6286ddSRyder Lee 6070b6286ddSRyder Lee&ssusb { 6080b6286ddSRyder Lee vusb33-supply = <®_3p3v>; 6090b6286ddSRyder Lee vbus-supply = <®_5v>; 6100b6286ddSRyder Lee status = "okay"; 6110b6286ddSRyder Lee}; 6120b6286ddSRyder Lee 6130b6286ddSRyder Lee&u3phy { 6140b6286ddSRyder Lee status = "okay"; 6150b6286ddSRyder Lee}; 6160b6286ddSRyder Lee 6170b6286ddSRyder Lee&uart0 { 6180b6286ddSRyder Lee pinctrl-names = "default"; 6190b6286ddSRyder Lee pinctrl-0 = <&uart0_pins>; 6200b6286ddSRyder Lee status = "okay"; 6210b6286ddSRyder Lee}; 6220b6286ddSRyder Lee 6230b6286ddSRyder Lee&uart2 { 6240b6286ddSRyder Lee pinctrl-names = "default"; 6250b6286ddSRyder Lee pinctrl-0 = <&uart2_pins>; 6260b6286ddSRyder Lee}; 6270b6286ddSRyder Lee 6280b6286ddSRyder Lee&watchdog { 6290b6286ddSRyder Lee pinctrl-names = "default"; 6300b6286ddSRyder Lee pinctrl-0 = <&watchdog_pins>; 6310b6286ddSRyder Lee status = "okay"; 6320b6286ddSRyder Lee}; 6331ba2ed77SRyder Lee 6341ba2ed77SRyder Lee&wmac { 6351ba2ed77SRyder Lee status = "okay"; 6361ba2ed77SRyder Lee}; 637