18c2ecf20Sopenharmony_ci/* 28c2ecf20Sopenharmony_ci * Copyright (c) 2018 MediaTek Inc. 38c2ecf20Sopenharmony_ci * Author: Ryder Lee <ryder.lee@mediatek.com> 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * SPDX-License-Identifier: (GPL-2.0 OR MIT) 68c2ecf20Sopenharmony_ci */ 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci/dts-v1/; 98c2ecf20Sopenharmony_ci#include <dt-bindings/input/input.h> 108c2ecf20Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci#include "mt7622.dtsi" 138c2ecf20Sopenharmony_ci#include "mt6380.dtsi" 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci/ { 168c2ecf20Sopenharmony_ci model = "Bananapi BPI-R64"; 178c2ecf20Sopenharmony_ci compatible = "bananapi,bpi-r64", "mediatek,mt7622"; 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci aliases { 208c2ecf20Sopenharmony_ci serial0 = &uart0; 218c2ecf20Sopenharmony_ci }; 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci chosen { 248c2ecf20Sopenharmony_ci stdout-path = "serial0:115200n8"; 258c2ecf20Sopenharmony_ci bootargs = "earlycon=uart8250,mmio32,0x11002000 swiotlb=512"; 268c2ecf20Sopenharmony_ci }; 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci cpus { 298c2ecf20Sopenharmony_ci cpu@0 { 308c2ecf20Sopenharmony_ci proc-supply = <&mt6380_vcpu_reg>; 318c2ecf20Sopenharmony_ci sram-supply = <&mt6380_vm_reg>; 328c2ecf20Sopenharmony_ci }; 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci cpu@1 { 358c2ecf20Sopenharmony_ci proc-supply = <&mt6380_vcpu_reg>; 368c2ecf20Sopenharmony_ci sram-supply = <&mt6380_vm_reg>; 378c2ecf20Sopenharmony_ci }; 388c2ecf20Sopenharmony_ci }; 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci gpio-keys { 418c2ecf20Sopenharmony_ci compatible = "gpio-keys"; 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci factory { 448c2ecf20Sopenharmony_ci label = "factory"; 458c2ecf20Sopenharmony_ci linux,code = <BTN_0>; 468c2ecf20Sopenharmony_ci gpios = <&pio 0 GPIO_ACTIVE_HIGH>; 478c2ecf20Sopenharmony_ci }; 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci wps { 508c2ecf20Sopenharmony_ci label = "wps"; 518c2ecf20Sopenharmony_ci linux,code = <KEY_WPS_BUTTON>; 528c2ecf20Sopenharmony_ci gpios = <&pio 102 GPIO_ACTIVE_LOW>; 538c2ecf20Sopenharmony_ci }; 548c2ecf20Sopenharmony_ci }; 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ci leds { 578c2ecf20Sopenharmony_ci compatible = "gpio-leds"; 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci green { 608c2ecf20Sopenharmony_ci label = "bpi-r64:pio:green"; 618c2ecf20Sopenharmony_ci gpios = <&pio 89 GPIO_ACTIVE_HIGH>; 628c2ecf20Sopenharmony_ci default-state = "off"; 638c2ecf20Sopenharmony_ci }; 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci red { 668c2ecf20Sopenharmony_ci label = "bpi-r64:pio:red"; 678c2ecf20Sopenharmony_ci gpios = <&pio 88 GPIO_ACTIVE_HIGH>; 688c2ecf20Sopenharmony_ci default-state = "off"; 698c2ecf20Sopenharmony_ci }; 708c2ecf20Sopenharmony_ci }; 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_ci memory@40000000 { 738c2ecf20Sopenharmony_ci reg = <0 0x40000000 0 0x40000000>; 748c2ecf20Sopenharmony_ci }; 758c2ecf20Sopenharmony_ci 768c2ecf20Sopenharmony_ci reg_1p8v: regulator-1p8v { 778c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 788c2ecf20Sopenharmony_ci regulator-name = "fixed-1.8V"; 798c2ecf20Sopenharmony_ci regulator-min-microvolt = <1800000>; 808c2ecf20Sopenharmony_ci regulator-max-microvolt = <1800000>; 818c2ecf20Sopenharmony_ci regulator-always-on; 828c2ecf20Sopenharmony_ci }; 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci reg_3p3v: regulator-3p3v { 858c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 868c2ecf20Sopenharmony_ci regulator-name = "fixed-3.3V"; 878c2ecf20Sopenharmony_ci regulator-min-microvolt = <3300000>; 888c2ecf20Sopenharmony_ci regulator-max-microvolt = <3300000>; 898c2ecf20Sopenharmony_ci regulator-boot-on; 908c2ecf20Sopenharmony_ci regulator-always-on; 918c2ecf20Sopenharmony_ci }; 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_ci reg_5v: regulator-5v { 948c2ecf20Sopenharmony_ci compatible = "regulator-fixed"; 958c2ecf20Sopenharmony_ci regulator-name = "fixed-5V"; 968c2ecf20Sopenharmony_ci regulator-min-microvolt = <5000000>; 978c2ecf20Sopenharmony_ci regulator-max-microvolt = <5000000>; 988c2ecf20Sopenharmony_ci regulator-boot-on; 998c2ecf20Sopenharmony_ci regulator-always-on; 1008c2ecf20Sopenharmony_ci }; 1018c2ecf20Sopenharmony_ci}; 1028c2ecf20Sopenharmony_ci 1038c2ecf20Sopenharmony_ci&bch { 1048c2ecf20Sopenharmony_ci status = "disabled"; 1058c2ecf20Sopenharmony_ci}; 1068c2ecf20Sopenharmony_ci 1078c2ecf20Sopenharmony_ci&btif { 1088c2ecf20Sopenharmony_ci status = "okay"; 1098c2ecf20Sopenharmony_ci}; 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ci&cir { 1128c2ecf20Sopenharmony_ci pinctrl-names = "default"; 1138c2ecf20Sopenharmony_ci pinctrl-0 = <&irrx_pins>; 1148c2ecf20Sopenharmony_ci status = "okay"; 1158c2ecf20Sopenharmony_ci}; 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_cið { 1188c2ecf20Sopenharmony_ci status = "okay"; 1198c2ecf20Sopenharmony_ci gmac0: mac@0 { 1208c2ecf20Sopenharmony_ci compatible = "mediatek,eth-mac"; 1218c2ecf20Sopenharmony_ci reg = <0>; 1228c2ecf20Sopenharmony_ci phy-mode = "2500base-x"; 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ci fixed-link { 1258c2ecf20Sopenharmony_ci speed = <2500>; 1268c2ecf20Sopenharmony_ci full-duplex; 1278c2ecf20Sopenharmony_ci pause; 1288c2ecf20Sopenharmony_ci }; 1298c2ecf20Sopenharmony_ci }; 1308c2ecf20Sopenharmony_ci 1318c2ecf20Sopenharmony_ci gmac1: mac@1 { 1328c2ecf20Sopenharmony_ci compatible = "mediatek,eth-mac"; 1338c2ecf20Sopenharmony_ci reg = <1>; 1348c2ecf20Sopenharmony_ci phy-mode = "rgmii"; 1358c2ecf20Sopenharmony_ci 1368c2ecf20Sopenharmony_ci fixed-link { 1378c2ecf20Sopenharmony_ci speed = <1000>; 1388c2ecf20Sopenharmony_ci full-duplex; 1398c2ecf20Sopenharmony_ci pause; 1408c2ecf20Sopenharmony_ci }; 1418c2ecf20Sopenharmony_ci }; 1428c2ecf20Sopenharmony_ci 1438c2ecf20Sopenharmony_ci mdio: mdio-bus { 1448c2ecf20Sopenharmony_ci #address-cells = <1>; 1458c2ecf20Sopenharmony_ci #size-cells = <0>; 1468c2ecf20Sopenharmony_ci 1478c2ecf20Sopenharmony_ci switch@0 { 1488c2ecf20Sopenharmony_ci compatible = "mediatek,mt7531"; 1498c2ecf20Sopenharmony_ci reg = <0>; 1508c2ecf20Sopenharmony_ci reset-gpios = <&pio 54 0>; 1518c2ecf20Sopenharmony_ci 1528c2ecf20Sopenharmony_ci ports { 1538c2ecf20Sopenharmony_ci #address-cells = <1>; 1548c2ecf20Sopenharmony_ci #size-cells = <0>; 1558c2ecf20Sopenharmony_ci 1568c2ecf20Sopenharmony_ci port@0 { 1578c2ecf20Sopenharmony_ci reg = <0>; 1588c2ecf20Sopenharmony_ci label = "wan"; 1598c2ecf20Sopenharmony_ci }; 1608c2ecf20Sopenharmony_ci 1618c2ecf20Sopenharmony_ci port@1 { 1628c2ecf20Sopenharmony_ci reg = <1>; 1638c2ecf20Sopenharmony_ci label = "lan0"; 1648c2ecf20Sopenharmony_ci }; 1658c2ecf20Sopenharmony_ci 1668c2ecf20Sopenharmony_ci port@2 { 1678c2ecf20Sopenharmony_ci reg = <2>; 1688c2ecf20Sopenharmony_ci label = "lan1"; 1698c2ecf20Sopenharmony_ci }; 1708c2ecf20Sopenharmony_ci 1718c2ecf20Sopenharmony_ci port@3 { 1728c2ecf20Sopenharmony_ci reg = <3>; 1738c2ecf20Sopenharmony_ci label = "lan2"; 1748c2ecf20Sopenharmony_ci }; 1758c2ecf20Sopenharmony_ci 1768c2ecf20Sopenharmony_ci port@4 { 1778c2ecf20Sopenharmony_ci reg = <4>; 1788c2ecf20Sopenharmony_ci label = "lan3"; 1798c2ecf20Sopenharmony_ci }; 1808c2ecf20Sopenharmony_ci 1818c2ecf20Sopenharmony_ci port@6 { 1828c2ecf20Sopenharmony_ci reg = <6>; 1838c2ecf20Sopenharmony_ci label = "cpu"; 1848c2ecf20Sopenharmony_ci ethernet = <&gmac0>; 1858c2ecf20Sopenharmony_ci phy-mode = "2500base-x"; 1868c2ecf20Sopenharmony_ci 1878c2ecf20Sopenharmony_ci fixed-link { 1888c2ecf20Sopenharmony_ci speed = <2500>; 1898c2ecf20Sopenharmony_ci full-duplex; 1908c2ecf20Sopenharmony_ci pause; 1918c2ecf20Sopenharmony_ci }; 1928c2ecf20Sopenharmony_ci }; 1938c2ecf20Sopenharmony_ci }; 1948c2ecf20Sopenharmony_ci }; 1958c2ecf20Sopenharmony_ci 1968c2ecf20Sopenharmony_ci }; 1978c2ecf20Sopenharmony_ci}; 1988c2ecf20Sopenharmony_ci 1998c2ecf20Sopenharmony_ci&i2c1 { 2008c2ecf20Sopenharmony_ci pinctrl-names = "default"; 2018c2ecf20Sopenharmony_ci pinctrl-0 = <&i2c1_pins>; 2028c2ecf20Sopenharmony_ci status = "okay"; 2038c2ecf20Sopenharmony_ci}; 2048c2ecf20Sopenharmony_ci 2058c2ecf20Sopenharmony_ci&i2c2 { 2068c2ecf20Sopenharmony_ci pinctrl-names = "default"; 2078c2ecf20Sopenharmony_ci pinctrl-0 = <&i2c2_pins>; 2088c2ecf20Sopenharmony_ci status = "okay"; 2098c2ecf20Sopenharmony_ci}; 2108c2ecf20Sopenharmony_ci 2118c2ecf20Sopenharmony_ci&mmc0 { 2128c2ecf20Sopenharmony_ci pinctrl-names = "default", "state_uhs"; 2138c2ecf20Sopenharmony_ci pinctrl-0 = <&emmc_pins_default>; 2148c2ecf20Sopenharmony_ci pinctrl-1 = <&emmc_pins_uhs>; 2158c2ecf20Sopenharmony_ci status = "okay"; 2168c2ecf20Sopenharmony_ci bus-width = <8>; 2178c2ecf20Sopenharmony_ci max-frequency = <50000000>; 2188c2ecf20Sopenharmony_ci cap-mmc-highspeed; 2198c2ecf20Sopenharmony_ci mmc-hs200-1_8v; 2208c2ecf20Sopenharmony_ci vmmc-supply = <®_3p3v>; 2218c2ecf20Sopenharmony_ci vqmmc-supply = <®_1p8v>; 2228c2ecf20Sopenharmony_ci assigned-clocks = <&topckgen CLK_TOP_MSDC30_0_SEL>; 2238c2ecf20Sopenharmony_ci assigned-clock-parents = <&topckgen CLK_TOP_UNIV48M>; 2248c2ecf20Sopenharmony_ci non-removable; 2258c2ecf20Sopenharmony_ci}; 2268c2ecf20Sopenharmony_ci 2278c2ecf20Sopenharmony_ci&mmc1 { 2288c2ecf20Sopenharmony_ci pinctrl-names = "default", "state_uhs"; 2298c2ecf20Sopenharmony_ci pinctrl-0 = <&sd0_pins_default>; 2308c2ecf20Sopenharmony_ci pinctrl-1 = <&sd0_pins_uhs>; 2318c2ecf20Sopenharmony_ci status = "okay"; 2328c2ecf20Sopenharmony_ci bus-width = <4>; 2338c2ecf20Sopenharmony_ci max-frequency = <50000000>; 2348c2ecf20Sopenharmony_ci cap-sd-highspeed; 2358c2ecf20Sopenharmony_ci r_smpl = <1>; 2368c2ecf20Sopenharmony_ci cd-gpios = <&pio 81 GPIO_ACTIVE_LOW>; 2378c2ecf20Sopenharmony_ci vmmc-supply = <®_3p3v>; 2388c2ecf20Sopenharmony_ci vqmmc-supply = <®_3p3v>; 2398c2ecf20Sopenharmony_ci assigned-clocks = <&topckgen CLK_TOP_MSDC30_1_SEL>; 2408c2ecf20Sopenharmony_ci assigned-clock-parents = <&topckgen CLK_TOP_UNIV48M>; 2418c2ecf20Sopenharmony_ci}; 2428c2ecf20Sopenharmony_ci 2438c2ecf20Sopenharmony_ci&nandc { 2448c2ecf20Sopenharmony_ci pinctrl-names = "default"; 2458c2ecf20Sopenharmony_ci pinctrl-0 = <¶llel_nand_pins>; 2468c2ecf20Sopenharmony_ci status = "disabled"; 2478c2ecf20Sopenharmony_ci}; 2488c2ecf20Sopenharmony_ci 2498c2ecf20Sopenharmony_ci&nor_flash { 2508c2ecf20Sopenharmony_ci pinctrl-names = "default"; 2518c2ecf20Sopenharmony_ci pinctrl-0 = <&spi_nor_pins>; 2528c2ecf20Sopenharmony_ci status = "disabled"; 2538c2ecf20Sopenharmony_ci 2548c2ecf20Sopenharmony_ci flash@0 { 2558c2ecf20Sopenharmony_ci compatible = "jedec,spi-nor"; 2568c2ecf20Sopenharmony_ci reg = <0>; 2578c2ecf20Sopenharmony_ci }; 2588c2ecf20Sopenharmony_ci}; 2598c2ecf20Sopenharmony_ci 2608c2ecf20Sopenharmony_ci&pcie { 2618c2ecf20Sopenharmony_ci pinctrl-names = "default"; 2628c2ecf20Sopenharmony_ci pinctrl-0 = <&pcie0_pins>, <&pcie1_pins>; 2638c2ecf20Sopenharmony_ci status = "okay"; 2648c2ecf20Sopenharmony_ci 2658c2ecf20Sopenharmony_ci pcie@0,0 { 2668c2ecf20Sopenharmony_ci status = "okay"; 2678c2ecf20Sopenharmony_ci }; 2688c2ecf20Sopenharmony_ci 2698c2ecf20Sopenharmony_ci pcie@1,0 { 2708c2ecf20Sopenharmony_ci status = "okay"; 2718c2ecf20Sopenharmony_ci }; 2728c2ecf20Sopenharmony_ci}; 2738c2ecf20Sopenharmony_ci 2748c2ecf20Sopenharmony_ci&pio { 2758c2ecf20Sopenharmony_ci /* Attention: GPIO 90 is used to switch between PCIe@1,0 and 2768c2ecf20Sopenharmony_ci * SATA functions. i.e. output-high: PCIe, output-low: SATA 2778c2ecf20Sopenharmony_ci */ 2788c2ecf20Sopenharmony_ci asm_sel { 2798c2ecf20Sopenharmony_ci gpio-hog; 2808c2ecf20Sopenharmony_ci gpios = <90 GPIO_ACTIVE_HIGH>; 2818c2ecf20Sopenharmony_ci output-high; 2828c2ecf20Sopenharmony_ci }; 2838c2ecf20Sopenharmony_ci 2848c2ecf20Sopenharmony_ci /* eMMC is shared pin with parallel NAND */ 2858c2ecf20Sopenharmony_ci emmc_pins_default: emmc-pins-default { 2868c2ecf20Sopenharmony_ci mux { 2878c2ecf20Sopenharmony_ci function = "emmc", "emmc_rst"; 2888c2ecf20Sopenharmony_ci groups = "emmc"; 2898c2ecf20Sopenharmony_ci }; 2908c2ecf20Sopenharmony_ci 2918c2ecf20Sopenharmony_ci /* "NDL0","NDL1","NDL2","NDL3","NDL4","NDL5","NDL6","NDL7", 2928c2ecf20Sopenharmony_ci * "NRB","NCLE" pins are used as DAT0,DAT1,DAT2,DAT3,DAT4, 2938c2ecf20Sopenharmony_ci * DAT5,DAT6,DAT7,CMD,CLK for eMMC respectively 2948c2ecf20Sopenharmony_ci */ 2958c2ecf20Sopenharmony_ci conf-cmd-dat { 2968c2ecf20Sopenharmony_ci pins = "NDL0", "NDL1", "NDL2", 2978c2ecf20Sopenharmony_ci "NDL3", "NDL4", "NDL5", 2988c2ecf20Sopenharmony_ci "NDL6", "NDL7", "NRB"; 2998c2ecf20Sopenharmony_ci input-enable; 3008c2ecf20Sopenharmony_ci bias-pull-up; 3018c2ecf20Sopenharmony_ci }; 3028c2ecf20Sopenharmony_ci 3038c2ecf20Sopenharmony_ci conf-clk { 3048c2ecf20Sopenharmony_ci pins = "NCLE"; 3058c2ecf20Sopenharmony_ci bias-pull-down; 3068c2ecf20Sopenharmony_ci }; 3078c2ecf20Sopenharmony_ci }; 3088c2ecf20Sopenharmony_ci 3098c2ecf20Sopenharmony_ci emmc_pins_uhs: emmc-pins-uhs { 3108c2ecf20Sopenharmony_ci mux { 3118c2ecf20Sopenharmony_ci function = "emmc"; 3128c2ecf20Sopenharmony_ci groups = "emmc"; 3138c2ecf20Sopenharmony_ci }; 3148c2ecf20Sopenharmony_ci 3158c2ecf20Sopenharmony_ci conf-cmd-dat { 3168c2ecf20Sopenharmony_ci pins = "NDL0", "NDL1", "NDL2", 3178c2ecf20Sopenharmony_ci "NDL3", "NDL4", "NDL5", 3188c2ecf20Sopenharmony_ci "NDL6", "NDL7", "NRB"; 3198c2ecf20Sopenharmony_ci input-enable; 3208c2ecf20Sopenharmony_ci drive-strength = <4>; 3218c2ecf20Sopenharmony_ci bias-pull-up; 3228c2ecf20Sopenharmony_ci }; 3238c2ecf20Sopenharmony_ci 3248c2ecf20Sopenharmony_ci conf-clk { 3258c2ecf20Sopenharmony_ci pins = "NCLE"; 3268c2ecf20Sopenharmony_ci drive-strength = <4>; 3278c2ecf20Sopenharmony_ci bias-pull-down; 3288c2ecf20Sopenharmony_ci }; 3298c2ecf20Sopenharmony_ci }; 3308c2ecf20Sopenharmony_ci 3318c2ecf20Sopenharmony_ci eth_pins: eth-pins { 3328c2ecf20Sopenharmony_ci mux { 3338c2ecf20Sopenharmony_ci function = "eth"; 3348c2ecf20Sopenharmony_ci groups = "mdc_mdio", "rgmii_via_gmac2"; 3358c2ecf20Sopenharmony_ci }; 3368c2ecf20Sopenharmony_ci }; 3378c2ecf20Sopenharmony_ci 3388c2ecf20Sopenharmony_ci i2c1_pins: i2c1-pins { 3398c2ecf20Sopenharmony_ci mux { 3408c2ecf20Sopenharmony_ci function = "i2c"; 3418c2ecf20Sopenharmony_ci groups = "i2c1_0"; 3428c2ecf20Sopenharmony_ci }; 3438c2ecf20Sopenharmony_ci }; 3448c2ecf20Sopenharmony_ci 3458c2ecf20Sopenharmony_ci i2c2_pins: i2c2-pins { 3468c2ecf20Sopenharmony_ci mux { 3478c2ecf20Sopenharmony_ci function = "i2c"; 3488c2ecf20Sopenharmony_ci groups = "i2c2_0"; 3498c2ecf20Sopenharmony_ci }; 3508c2ecf20Sopenharmony_ci }; 3518c2ecf20Sopenharmony_ci 3528c2ecf20Sopenharmony_ci i2s1_pins: i2s1-pins { 3538c2ecf20Sopenharmony_ci mux { 3548c2ecf20Sopenharmony_ci function = "i2s"; 3558c2ecf20Sopenharmony_ci groups = "i2s_out_mclk_bclk_ws", 3568c2ecf20Sopenharmony_ci "i2s1_in_data", 3578c2ecf20Sopenharmony_ci "i2s1_out_data"; 3588c2ecf20Sopenharmony_ci }; 3598c2ecf20Sopenharmony_ci 3608c2ecf20Sopenharmony_ci conf { 3618c2ecf20Sopenharmony_ci pins = "I2S1_IN", "I2S1_OUT", "I2S_BCLK", 3628c2ecf20Sopenharmony_ci "I2S_WS", "I2S_MCLK"; 3638c2ecf20Sopenharmony_ci drive-strength = <12>; 3648c2ecf20Sopenharmony_ci bias-pull-down; 3658c2ecf20Sopenharmony_ci }; 3668c2ecf20Sopenharmony_ci }; 3678c2ecf20Sopenharmony_ci 3688c2ecf20Sopenharmony_ci irrx_pins: irrx-pins { 3698c2ecf20Sopenharmony_ci mux { 3708c2ecf20Sopenharmony_ci function = "ir"; 3718c2ecf20Sopenharmony_ci groups = "ir_1_rx"; 3728c2ecf20Sopenharmony_ci }; 3738c2ecf20Sopenharmony_ci }; 3748c2ecf20Sopenharmony_ci 3758c2ecf20Sopenharmony_ci irtx_pins: irtx-pins { 3768c2ecf20Sopenharmony_ci mux { 3778c2ecf20Sopenharmony_ci function = "ir"; 3788c2ecf20Sopenharmony_ci groups = "ir_1_tx"; 3798c2ecf20Sopenharmony_ci }; 3808c2ecf20Sopenharmony_ci }; 3818c2ecf20Sopenharmony_ci 3828c2ecf20Sopenharmony_ci /* Parallel nand is shared pin with eMMC */ 3838c2ecf20Sopenharmony_ci parallel_nand_pins: parallel-nand-pins { 3848c2ecf20Sopenharmony_ci mux { 3858c2ecf20Sopenharmony_ci function = "flash"; 3868c2ecf20Sopenharmony_ci groups = "par_nand"; 3878c2ecf20Sopenharmony_ci }; 3888c2ecf20Sopenharmony_ci }; 3898c2ecf20Sopenharmony_ci 3908c2ecf20Sopenharmony_ci pcie0_pins: pcie0-pins { 3918c2ecf20Sopenharmony_ci mux { 3928c2ecf20Sopenharmony_ci function = "pcie"; 3938c2ecf20Sopenharmony_ci groups = "pcie0_pad_perst", 3948c2ecf20Sopenharmony_ci "pcie0_1_waken", 3958c2ecf20Sopenharmony_ci "pcie0_1_clkreq"; 3968c2ecf20Sopenharmony_ci }; 3978c2ecf20Sopenharmony_ci }; 3988c2ecf20Sopenharmony_ci 3998c2ecf20Sopenharmony_ci pcie1_pins: pcie1-pins { 4008c2ecf20Sopenharmony_ci mux { 4018c2ecf20Sopenharmony_ci function = "pcie"; 4028c2ecf20Sopenharmony_ci groups = "pcie1_pad_perst", 4038c2ecf20Sopenharmony_ci "pcie1_0_waken", 4048c2ecf20Sopenharmony_ci "pcie1_0_clkreq"; 4058c2ecf20Sopenharmony_ci }; 4068c2ecf20Sopenharmony_ci }; 4078c2ecf20Sopenharmony_ci 4088c2ecf20Sopenharmony_ci pmic_bus_pins: pmic-bus-pins { 4098c2ecf20Sopenharmony_ci mux { 4108c2ecf20Sopenharmony_ci function = "pmic"; 4118c2ecf20Sopenharmony_ci groups = "pmic_bus"; 4128c2ecf20Sopenharmony_ci }; 4138c2ecf20Sopenharmony_ci }; 4148c2ecf20Sopenharmony_ci 4158c2ecf20Sopenharmony_ci pwm7_pins: pwm1-2-pins { 4168c2ecf20Sopenharmony_ci mux { 4178c2ecf20Sopenharmony_ci function = "pwm"; 4188c2ecf20Sopenharmony_ci groups = "pwm_ch7_2"; 4198c2ecf20Sopenharmony_ci }; 4208c2ecf20Sopenharmony_ci }; 4218c2ecf20Sopenharmony_ci 4228c2ecf20Sopenharmony_ci wled_pins: wled-pins { 4238c2ecf20Sopenharmony_ci mux { 4248c2ecf20Sopenharmony_ci function = "led"; 4258c2ecf20Sopenharmony_ci groups = "wled"; 4268c2ecf20Sopenharmony_ci }; 4278c2ecf20Sopenharmony_ci }; 4288c2ecf20Sopenharmony_ci 4298c2ecf20Sopenharmony_ci sd0_pins_default: sd0-pins-default { 4308c2ecf20Sopenharmony_ci mux { 4318c2ecf20Sopenharmony_ci function = "sd"; 4328c2ecf20Sopenharmony_ci groups = "sd_0"; 4338c2ecf20Sopenharmony_ci }; 4348c2ecf20Sopenharmony_ci 4358c2ecf20Sopenharmony_ci /* "I2S2_OUT, "I2S4_IN"", "I2S3_IN", "I2S2_IN", 4368c2ecf20Sopenharmony_ci * "I2S4_OUT", "I2S3_OUT" are used as DAT0, DAT1, 4378c2ecf20Sopenharmony_ci * DAT2, DAT3, CMD, CLK for SD respectively. 4388c2ecf20Sopenharmony_ci */ 4398c2ecf20Sopenharmony_ci conf-cmd-data { 4408c2ecf20Sopenharmony_ci pins = "I2S2_OUT", "I2S4_IN", "I2S3_IN", 4418c2ecf20Sopenharmony_ci "I2S2_IN","I2S4_OUT"; 4428c2ecf20Sopenharmony_ci input-enable; 4438c2ecf20Sopenharmony_ci drive-strength = <8>; 4448c2ecf20Sopenharmony_ci bias-pull-up; 4458c2ecf20Sopenharmony_ci }; 4468c2ecf20Sopenharmony_ci conf-clk { 4478c2ecf20Sopenharmony_ci pins = "I2S3_OUT"; 4488c2ecf20Sopenharmony_ci drive-strength = <12>; 4498c2ecf20Sopenharmony_ci bias-pull-down; 4508c2ecf20Sopenharmony_ci }; 4518c2ecf20Sopenharmony_ci conf-cd { 4528c2ecf20Sopenharmony_ci pins = "TXD3"; 4538c2ecf20Sopenharmony_ci bias-pull-up; 4548c2ecf20Sopenharmony_ci }; 4558c2ecf20Sopenharmony_ci }; 4568c2ecf20Sopenharmony_ci 4578c2ecf20Sopenharmony_ci sd0_pins_uhs: sd0-pins-uhs { 4588c2ecf20Sopenharmony_ci mux { 4598c2ecf20Sopenharmony_ci function = "sd"; 4608c2ecf20Sopenharmony_ci groups = "sd_0"; 4618c2ecf20Sopenharmony_ci }; 4628c2ecf20Sopenharmony_ci 4638c2ecf20Sopenharmony_ci conf-cmd-data { 4648c2ecf20Sopenharmony_ci pins = "I2S2_OUT", "I2S4_IN", "I2S3_IN", 4658c2ecf20Sopenharmony_ci "I2S2_IN","I2S4_OUT"; 4668c2ecf20Sopenharmony_ci input-enable; 4678c2ecf20Sopenharmony_ci bias-pull-up; 4688c2ecf20Sopenharmony_ci }; 4698c2ecf20Sopenharmony_ci 4708c2ecf20Sopenharmony_ci conf-clk { 4718c2ecf20Sopenharmony_ci pins = "I2S3_OUT"; 4728c2ecf20Sopenharmony_ci bias-pull-down; 4738c2ecf20Sopenharmony_ci }; 4748c2ecf20Sopenharmony_ci }; 4758c2ecf20Sopenharmony_ci 4768c2ecf20Sopenharmony_ci /* Serial NAND is shared pin with SPI-NOR */ 4778c2ecf20Sopenharmony_ci serial_nand_pins: serial-nand-pins { 4788c2ecf20Sopenharmony_ci mux { 4798c2ecf20Sopenharmony_ci function = "flash"; 4808c2ecf20Sopenharmony_ci groups = "snfi"; 4818c2ecf20Sopenharmony_ci }; 4828c2ecf20Sopenharmony_ci }; 4838c2ecf20Sopenharmony_ci 4848c2ecf20Sopenharmony_ci spic0_pins: spic0-pins { 4858c2ecf20Sopenharmony_ci mux { 4868c2ecf20Sopenharmony_ci function = "spi"; 4878c2ecf20Sopenharmony_ci groups = "spic0_0"; 4888c2ecf20Sopenharmony_ci }; 4898c2ecf20Sopenharmony_ci }; 4908c2ecf20Sopenharmony_ci 4918c2ecf20Sopenharmony_ci spic1_pins: spic1-pins { 4928c2ecf20Sopenharmony_ci mux { 4938c2ecf20Sopenharmony_ci function = "spi"; 4948c2ecf20Sopenharmony_ci groups = "spic1_0"; 4958c2ecf20Sopenharmony_ci }; 4968c2ecf20Sopenharmony_ci }; 4978c2ecf20Sopenharmony_ci 4988c2ecf20Sopenharmony_ci /* SPI-NOR is shared pin with serial NAND */ 4998c2ecf20Sopenharmony_ci spi_nor_pins: spi-nor-pins { 5008c2ecf20Sopenharmony_ci mux { 5018c2ecf20Sopenharmony_ci function = "flash"; 5028c2ecf20Sopenharmony_ci groups = "spi_nor"; 5038c2ecf20Sopenharmony_ci }; 5048c2ecf20Sopenharmony_ci }; 5058c2ecf20Sopenharmony_ci 5068c2ecf20Sopenharmony_ci /* serial NAND is shared pin with SPI-NOR */ 5078c2ecf20Sopenharmony_ci serial_nand_pins: serial-nand-pins { 5088c2ecf20Sopenharmony_ci mux { 5098c2ecf20Sopenharmony_ci function = "flash"; 5108c2ecf20Sopenharmony_ci groups = "snfi"; 5118c2ecf20Sopenharmony_ci }; 5128c2ecf20Sopenharmony_ci }; 5138c2ecf20Sopenharmony_ci 5148c2ecf20Sopenharmony_ci uart0_pins: uart0-pins { 5158c2ecf20Sopenharmony_ci mux { 5168c2ecf20Sopenharmony_ci function = "uart"; 5178c2ecf20Sopenharmony_ci groups = "uart0_0_tx_rx" ; 5188c2ecf20Sopenharmony_ci }; 5198c2ecf20Sopenharmony_ci }; 5208c2ecf20Sopenharmony_ci 5218c2ecf20Sopenharmony_ci uart2_pins: uart2-pins { 5228c2ecf20Sopenharmony_ci mux { 5238c2ecf20Sopenharmony_ci function = "uart"; 5248c2ecf20Sopenharmony_ci groups = "uart2_1_tx_rx" ; 5258c2ecf20Sopenharmony_ci }; 5268c2ecf20Sopenharmony_ci }; 5278c2ecf20Sopenharmony_ci 5288c2ecf20Sopenharmony_ci watchdog_pins: watchdog-pins { 5298c2ecf20Sopenharmony_ci mux { 5308c2ecf20Sopenharmony_ci function = "watchdog"; 5318c2ecf20Sopenharmony_ci groups = "watchdog"; 5328c2ecf20Sopenharmony_ci }; 5338c2ecf20Sopenharmony_ci }; 5348c2ecf20Sopenharmony_ci}; 5358c2ecf20Sopenharmony_ci 5368c2ecf20Sopenharmony_ci&pwm { 5378c2ecf20Sopenharmony_ci pinctrl-names = "default"; 5388c2ecf20Sopenharmony_ci pinctrl-0 = <&pwm7_pins>; 5398c2ecf20Sopenharmony_ci status = "okay"; 5408c2ecf20Sopenharmony_ci}; 5418c2ecf20Sopenharmony_ci 5428c2ecf20Sopenharmony_ci&pwrap { 5438c2ecf20Sopenharmony_ci pinctrl-names = "default"; 5448c2ecf20Sopenharmony_ci pinctrl-0 = <&pmic_bus_pins>; 5458c2ecf20Sopenharmony_ci 5468c2ecf20Sopenharmony_ci status = "okay"; 5478c2ecf20Sopenharmony_ci}; 5488c2ecf20Sopenharmony_ci 5498c2ecf20Sopenharmony_ci&sata { 5508c2ecf20Sopenharmony_ci status = "disable"; 5518c2ecf20Sopenharmony_ci}; 5528c2ecf20Sopenharmony_ci 5538c2ecf20Sopenharmony_ci&sata_phy { 5548c2ecf20Sopenharmony_ci status = "disable"; 5558c2ecf20Sopenharmony_ci}; 5568c2ecf20Sopenharmony_ci 5578c2ecf20Sopenharmony_ci&spi0 { 5588c2ecf20Sopenharmony_ci pinctrl-names = "default"; 5598c2ecf20Sopenharmony_ci pinctrl-0 = <&spic0_pins>; 5608c2ecf20Sopenharmony_ci status = "okay"; 5618c2ecf20Sopenharmony_ci}; 5628c2ecf20Sopenharmony_ci 5638c2ecf20Sopenharmony_ci&spi1 { 5648c2ecf20Sopenharmony_ci pinctrl-names = "default"; 5658c2ecf20Sopenharmony_ci pinctrl-0 = <&spic1_pins>; 5668c2ecf20Sopenharmony_ci status = "okay"; 5678c2ecf20Sopenharmony_ci}; 5688c2ecf20Sopenharmony_ci 5698c2ecf20Sopenharmony_ci&ssusb { 5708c2ecf20Sopenharmony_ci vusb33-supply = <®_3p3v>; 5718c2ecf20Sopenharmony_ci vbus-supply = <®_5v>; 5728c2ecf20Sopenharmony_ci status = "okay"; 5738c2ecf20Sopenharmony_ci}; 5748c2ecf20Sopenharmony_ci 5758c2ecf20Sopenharmony_ci&u3phy { 5768c2ecf20Sopenharmony_ci status = "okay"; 5778c2ecf20Sopenharmony_ci}; 5788c2ecf20Sopenharmony_ci 5798c2ecf20Sopenharmony_ci&uart0 { 5808c2ecf20Sopenharmony_ci pinctrl-names = "default"; 5818c2ecf20Sopenharmony_ci pinctrl-0 = <&uart0_pins>; 5828c2ecf20Sopenharmony_ci status = "okay"; 5838c2ecf20Sopenharmony_ci}; 5848c2ecf20Sopenharmony_ci 5858c2ecf20Sopenharmony_ci&uart2 { 5868c2ecf20Sopenharmony_ci pinctrl-names = "default"; 5878c2ecf20Sopenharmony_ci pinctrl-0 = <&uart2_pins>; 5888c2ecf20Sopenharmony_ci status = "okay"; 5898c2ecf20Sopenharmony_ci}; 5908c2ecf20Sopenharmony_ci 5918c2ecf20Sopenharmony_ci&watchdog { 5928c2ecf20Sopenharmony_ci pinctrl-names = "default"; 5938c2ecf20Sopenharmony_ci pinctrl-0 = <&watchdog_pins>; 5948c2ecf20Sopenharmony_ci status = "okay"; 5958c2ecf20Sopenharmony_ci}; 5968c2ecf20Sopenharmony_ci 5978c2ecf20Sopenharmony_ci&wmac { 5988c2ecf20Sopenharmony_ci status = "okay"; 5998c2ecf20Sopenharmony_ci}; 600