162306a36Sopenharmony_ci/* 262306a36Sopenharmony_ci * Copyright (c) 2018 MediaTek Inc. 362306a36Sopenharmony_ci * Author: Ryder Lee <ryder.lee@mediatek.com> 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * SPDX-License-Identifier: (GPL-2.0 OR MIT) 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/dts-v1/; 962306a36Sopenharmony_ci#include <dt-bindings/input/input.h> 1062306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 1162306a36Sopenharmony_ci#include <dt-bindings/leds/common.h> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci#include "mt7622.dtsi" 1462306a36Sopenharmony_ci#include "mt6380.dtsi" 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci/ { 1762306a36Sopenharmony_ci model = "Bananapi BPI-R64"; 1862306a36Sopenharmony_ci chassis-type = "embedded"; 1962306a36Sopenharmony_ci compatible = "bananapi,bpi-r64", "mediatek,mt7622"; 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci aliases { 2262306a36Sopenharmony_ci serial0 = &uart0; 2362306a36Sopenharmony_ci }; 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci chosen { 2662306a36Sopenharmony_ci stdout-path = "serial0:115200n8"; 2762306a36Sopenharmony_ci bootargs = "earlycon=uart8250,mmio32,0x11002000 swiotlb=512"; 2862306a36Sopenharmony_ci }; 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci cpus { 3162306a36Sopenharmony_ci cpu@0 { 3262306a36Sopenharmony_ci proc-supply = <&mt6380_vcpu_reg>; 3362306a36Sopenharmony_ci sram-supply = <&mt6380_vm_reg>; 3462306a36Sopenharmony_ci }; 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci cpu@1 { 3762306a36Sopenharmony_ci proc-supply = <&mt6380_vcpu_reg>; 3862306a36Sopenharmony_ci sram-supply = <&mt6380_vm_reg>; 3962306a36Sopenharmony_ci }; 4062306a36Sopenharmony_ci }; 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci gpio-keys { 4362306a36Sopenharmony_ci compatible = "gpio-keys"; 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci factory-key { 4662306a36Sopenharmony_ci label = "factory"; 4762306a36Sopenharmony_ci linux,code = <BTN_0>; 4862306a36Sopenharmony_ci gpios = <&pio 0 GPIO_ACTIVE_HIGH>; 4962306a36Sopenharmony_ci }; 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci wps-key { 5262306a36Sopenharmony_ci label = "wps"; 5362306a36Sopenharmony_ci linux,code = <KEY_WPS_BUTTON>; 5462306a36Sopenharmony_ci gpios = <&pio 102 GPIO_ACTIVE_LOW>; 5562306a36Sopenharmony_ci }; 5662306a36Sopenharmony_ci }; 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci leds { 5962306a36Sopenharmony_ci compatible = "gpio-leds"; 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci led-0 { 6262306a36Sopenharmony_ci label = "bpi-r64:pio:green"; 6362306a36Sopenharmony_ci color = <LED_COLOR_ID_GREEN>; 6462306a36Sopenharmony_ci gpios = <&pio 89 GPIO_ACTIVE_HIGH>; 6562306a36Sopenharmony_ci default-state = "off"; 6662306a36Sopenharmony_ci }; 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ci led-1 { 6962306a36Sopenharmony_ci label = "bpi-r64:pio:red"; 7062306a36Sopenharmony_ci color = <LED_COLOR_ID_RED>; 7162306a36Sopenharmony_ci gpios = <&pio 88 GPIO_ACTIVE_HIGH>; 7262306a36Sopenharmony_ci default-state = "off"; 7362306a36Sopenharmony_ci }; 7462306a36Sopenharmony_ci }; 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci memory@40000000 { 7762306a36Sopenharmony_ci reg = <0 0x40000000 0 0x40000000>; 7862306a36Sopenharmony_ci device_type = "memory"; 7962306a36Sopenharmony_ci }; 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci reg_1p8v: regulator-1p8v { 8262306a36Sopenharmony_ci compatible = "regulator-fixed"; 8362306a36Sopenharmony_ci regulator-name = "fixed-1.8V"; 8462306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 8562306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 8662306a36Sopenharmony_ci regulator-always-on; 8762306a36Sopenharmony_ci }; 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci reg_3p3v: regulator-3p3v { 9062306a36Sopenharmony_ci compatible = "regulator-fixed"; 9162306a36Sopenharmony_ci regulator-name = "fixed-3.3V"; 9262306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 9362306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 9462306a36Sopenharmony_ci regulator-boot-on; 9562306a36Sopenharmony_ci regulator-always-on; 9662306a36Sopenharmony_ci }; 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci reg_5v: regulator-5v { 9962306a36Sopenharmony_ci compatible = "regulator-fixed"; 10062306a36Sopenharmony_ci regulator-name = "fixed-5V"; 10162306a36Sopenharmony_ci regulator-min-microvolt = <5000000>; 10262306a36Sopenharmony_ci regulator-max-microvolt = <5000000>; 10362306a36Sopenharmony_ci regulator-boot-on; 10462306a36Sopenharmony_ci regulator-always-on; 10562306a36Sopenharmony_ci }; 10662306a36Sopenharmony_ci}; 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci&bch { 10962306a36Sopenharmony_ci status = "disabled"; 11062306a36Sopenharmony_ci}; 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ci&btif { 11362306a36Sopenharmony_ci status = "okay"; 11462306a36Sopenharmony_ci}; 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci&cir { 11762306a36Sopenharmony_ci pinctrl-names = "default"; 11862306a36Sopenharmony_ci pinctrl-0 = <&irrx_pins>; 11962306a36Sopenharmony_ci status = "okay"; 12062306a36Sopenharmony_ci}; 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_cið { 12362306a36Sopenharmony_ci status = "okay"; 12462306a36Sopenharmony_ci gmac0: mac@0 { 12562306a36Sopenharmony_ci compatible = "mediatek,eth-mac"; 12662306a36Sopenharmony_ci reg = <0>; 12762306a36Sopenharmony_ci phy-mode = "2500base-x"; 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ci fixed-link { 13062306a36Sopenharmony_ci speed = <2500>; 13162306a36Sopenharmony_ci full-duplex; 13262306a36Sopenharmony_ci pause; 13362306a36Sopenharmony_ci }; 13462306a36Sopenharmony_ci }; 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ci gmac1: mac@1 { 13762306a36Sopenharmony_ci compatible = "mediatek,eth-mac"; 13862306a36Sopenharmony_ci reg = <1>; 13962306a36Sopenharmony_ci phy-mode = "rgmii"; 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ci fixed-link { 14262306a36Sopenharmony_ci speed = <1000>; 14362306a36Sopenharmony_ci full-duplex; 14462306a36Sopenharmony_ci pause; 14562306a36Sopenharmony_ci }; 14662306a36Sopenharmony_ci }; 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ci mdio: mdio-bus { 14962306a36Sopenharmony_ci #address-cells = <1>; 15062306a36Sopenharmony_ci #size-cells = <0>; 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ci switch@0 { 15362306a36Sopenharmony_ci compatible = "mediatek,mt7531"; 15462306a36Sopenharmony_ci reg = <0>; 15562306a36Sopenharmony_ci interrupt-controller; 15662306a36Sopenharmony_ci #interrupt-cells = <1>; 15762306a36Sopenharmony_ci interrupt-parent = <&pio>; 15862306a36Sopenharmony_ci interrupts = <53 IRQ_TYPE_LEVEL_HIGH>; 15962306a36Sopenharmony_ci reset-gpios = <&pio 54 0>; 16062306a36Sopenharmony_ci 16162306a36Sopenharmony_ci ports { 16262306a36Sopenharmony_ci #address-cells = <1>; 16362306a36Sopenharmony_ci #size-cells = <0>; 16462306a36Sopenharmony_ci 16562306a36Sopenharmony_ci port@0 { 16662306a36Sopenharmony_ci reg = <0>; 16762306a36Sopenharmony_ci label = "wan"; 16862306a36Sopenharmony_ci }; 16962306a36Sopenharmony_ci 17062306a36Sopenharmony_ci port@1 { 17162306a36Sopenharmony_ci reg = <1>; 17262306a36Sopenharmony_ci label = "lan0"; 17362306a36Sopenharmony_ci }; 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ci port@2 { 17662306a36Sopenharmony_ci reg = <2>; 17762306a36Sopenharmony_ci label = "lan1"; 17862306a36Sopenharmony_ci }; 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_ci port@3 { 18162306a36Sopenharmony_ci reg = <3>; 18262306a36Sopenharmony_ci label = "lan2"; 18362306a36Sopenharmony_ci }; 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ci port@4 { 18662306a36Sopenharmony_ci reg = <4>; 18762306a36Sopenharmony_ci label = "lan3"; 18862306a36Sopenharmony_ci }; 18962306a36Sopenharmony_ci 19062306a36Sopenharmony_ci port@6 { 19162306a36Sopenharmony_ci reg = <6>; 19262306a36Sopenharmony_ci label = "cpu"; 19362306a36Sopenharmony_ci ethernet = <&gmac0>; 19462306a36Sopenharmony_ci phy-mode = "2500base-x"; 19562306a36Sopenharmony_ci 19662306a36Sopenharmony_ci fixed-link { 19762306a36Sopenharmony_ci speed = <2500>; 19862306a36Sopenharmony_ci full-duplex; 19962306a36Sopenharmony_ci pause; 20062306a36Sopenharmony_ci }; 20162306a36Sopenharmony_ci }; 20262306a36Sopenharmony_ci }; 20362306a36Sopenharmony_ci }; 20462306a36Sopenharmony_ci 20562306a36Sopenharmony_ci }; 20662306a36Sopenharmony_ci}; 20762306a36Sopenharmony_ci 20862306a36Sopenharmony_ci&i2c1 { 20962306a36Sopenharmony_ci pinctrl-names = "default"; 21062306a36Sopenharmony_ci pinctrl-0 = <&i2c1_pins>; 21162306a36Sopenharmony_ci status = "okay"; 21262306a36Sopenharmony_ci}; 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ci&i2c2 { 21562306a36Sopenharmony_ci pinctrl-names = "default"; 21662306a36Sopenharmony_ci pinctrl-0 = <&i2c2_pins>; 21762306a36Sopenharmony_ci status = "okay"; 21862306a36Sopenharmony_ci}; 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ci&mmc0 { 22162306a36Sopenharmony_ci pinctrl-names = "default", "state_uhs"; 22262306a36Sopenharmony_ci pinctrl-0 = <&emmc_pins_default>; 22362306a36Sopenharmony_ci pinctrl-1 = <&emmc_pins_uhs>; 22462306a36Sopenharmony_ci status = "okay"; 22562306a36Sopenharmony_ci bus-width = <8>; 22662306a36Sopenharmony_ci max-frequency = <50000000>; 22762306a36Sopenharmony_ci cap-mmc-highspeed; 22862306a36Sopenharmony_ci mmc-hs200-1_8v; 22962306a36Sopenharmony_ci vmmc-supply = <®_3p3v>; 23062306a36Sopenharmony_ci vqmmc-supply = <®_1p8v>; 23162306a36Sopenharmony_ci assigned-clocks = <&topckgen CLK_TOP_MSDC30_0_SEL>; 23262306a36Sopenharmony_ci assigned-clock-parents = <&topckgen CLK_TOP_UNIV48M>; 23362306a36Sopenharmony_ci non-removable; 23462306a36Sopenharmony_ci}; 23562306a36Sopenharmony_ci 23662306a36Sopenharmony_ci&mmc1 { 23762306a36Sopenharmony_ci pinctrl-names = "default", "state_uhs"; 23862306a36Sopenharmony_ci pinctrl-0 = <&sd0_pins_default>; 23962306a36Sopenharmony_ci pinctrl-1 = <&sd0_pins_uhs>; 24062306a36Sopenharmony_ci status = "okay"; 24162306a36Sopenharmony_ci bus-width = <4>; 24262306a36Sopenharmony_ci max-frequency = <50000000>; 24362306a36Sopenharmony_ci cap-sd-highspeed; 24462306a36Sopenharmony_ci cd-gpios = <&pio 81 GPIO_ACTIVE_LOW>; 24562306a36Sopenharmony_ci vmmc-supply = <®_3p3v>; 24662306a36Sopenharmony_ci vqmmc-supply = <®_3p3v>; 24762306a36Sopenharmony_ci assigned-clocks = <&topckgen CLK_TOP_MSDC30_1_SEL>; 24862306a36Sopenharmony_ci assigned-clock-parents = <&topckgen CLK_TOP_UNIV48M>; 24962306a36Sopenharmony_ci}; 25062306a36Sopenharmony_ci 25162306a36Sopenharmony_ci&nandc { 25262306a36Sopenharmony_ci pinctrl-names = "default"; 25362306a36Sopenharmony_ci pinctrl-0 = <¶llel_nand_pins>; 25462306a36Sopenharmony_ci status = "disabled"; 25562306a36Sopenharmony_ci}; 25662306a36Sopenharmony_ci 25762306a36Sopenharmony_ci&bch { 25862306a36Sopenharmony_ci status = "okay"; 25962306a36Sopenharmony_ci}; 26062306a36Sopenharmony_ci 26162306a36Sopenharmony_ci&snfi { 26262306a36Sopenharmony_ci pinctrl-names = "default"; 26362306a36Sopenharmony_ci pinctrl-0 = <&serial_nand_pins>; 26462306a36Sopenharmony_ci status = "okay"; 26562306a36Sopenharmony_ci flash@0 { 26662306a36Sopenharmony_ci compatible = "spi-nand"; 26762306a36Sopenharmony_ci reg = <0>; 26862306a36Sopenharmony_ci spi-tx-bus-width = <4>; 26962306a36Sopenharmony_ci spi-rx-bus-width = <4>; 27062306a36Sopenharmony_ci nand-ecc-engine = <&snfi>; 27162306a36Sopenharmony_ci partitions { 27262306a36Sopenharmony_ci compatible = "fixed-partitions"; 27362306a36Sopenharmony_ci #address-cells = <1>; 27462306a36Sopenharmony_ci #size-cells = <1>; 27562306a36Sopenharmony_ci 27662306a36Sopenharmony_ci partition@0 { 27762306a36Sopenharmony_ci label = "bl2"; 27862306a36Sopenharmony_ci reg = <0x0 0x80000>; 27962306a36Sopenharmony_ci read-only; 28062306a36Sopenharmony_ci }; 28162306a36Sopenharmony_ci 28262306a36Sopenharmony_ci partition@80000 { 28362306a36Sopenharmony_ci label = "fip"; 28462306a36Sopenharmony_ci reg = <0x80000 0x200000>; 28562306a36Sopenharmony_ci read-only; 28662306a36Sopenharmony_ci }; 28762306a36Sopenharmony_ci 28862306a36Sopenharmony_ci ubi: partition@280000 { 28962306a36Sopenharmony_ci label = "ubi"; 29062306a36Sopenharmony_ci reg = <0x280000 0x7d80000>; 29162306a36Sopenharmony_ci }; 29262306a36Sopenharmony_ci }; 29362306a36Sopenharmony_ci }; 29462306a36Sopenharmony_ci}; 29562306a36Sopenharmony_ci 29662306a36Sopenharmony_ci&pcie0 { 29762306a36Sopenharmony_ci pinctrl-names = "default"; 29862306a36Sopenharmony_ci pinctrl-0 = <&pcie0_pins>; 29962306a36Sopenharmony_ci status = "okay"; 30062306a36Sopenharmony_ci}; 30162306a36Sopenharmony_ci 30262306a36Sopenharmony_ci&pcie1 { 30362306a36Sopenharmony_ci pinctrl-names = "default"; 30462306a36Sopenharmony_ci pinctrl-0 = <&pcie1_pins>; 30562306a36Sopenharmony_ci status = "okay"; 30662306a36Sopenharmony_ci}; 30762306a36Sopenharmony_ci 30862306a36Sopenharmony_ci&pio { 30962306a36Sopenharmony_ci /* Attention: GPIO 90 is used to switch between PCIe@1,0 and 31062306a36Sopenharmony_ci * SATA functions. i.e. output-high: PCIe, output-low: SATA 31162306a36Sopenharmony_ci */ 31262306a36Sopenharmony_ci asm_sel { 31362306a36Sopenharmony_ci gpio-hog; 31462306a36Sopenharmony_ci gpios = <90 GPIO_ACTIVE_HIGH>; 31562306a36Sopenharmony_ci output-high; 31662306a36Sopenharmony_ci }; 31762306a36Sopenharmony_ci 31862306a36Sopenharmony_ci /* eMMC is shared pin with parallel NAND */ 31962306a36Sopenharmony_ci emmc_pins_default: emmc-pins-default { 32062306a36Sopenharmony_ci mux { 32162306a36Sopenharmony_ci function = "emmc", "emmc_rst"; 32262306a36Sopenharmony_ci groups = "emmc"; 32362306a36Sopenharmony_ci }; 32462306a36Sopenharmony_ci 32562306a36Sopenharmony_ci /* "NDL0","NDL1","NDL2","NDL3","NDL4","NDL5","NDL6","NDL7", 32662306a36Sopenharmony_ci * "NRB","NCLE" pins are used as DAT0,DAT1,DAT2,DAT3,DAT4, 32762306a36Sopenharmony_ci * DAT5,DAT6,DAT7,CMD,CLK for eMMC respectively 32862306a36Sopenharmony_ci */ 32962306a36Sopenharmony_ci conf-cmd-dat { 33062306a36Sopenharmony_ci pins = "NDL0", "NDL1", "NDL2", 33162306a36Sopenharmony_ci "NDL3", "NDL4", "NDL5", 33262306a36Sopenharmony_ci "NDL6", "NDL7", "NRB"; 33362306a36Sopenharmony_ci input-enable; 33462306a36Sopenharmony_ci bias-pull-up; 33562306a36Sopenharmony_ci }; 33662306a36Sopenharmony_ci 33762306a36Sopenharmony_ci conf-clk { 33862306a36Sopenharmony_ci pins = "NCLE"; 33962306a36Sopenharmony_ci bias-pull-down; 34062306a36Sopenharmony_ci }; 34162306a36Sopenharmony_ci }; 34262306a36Sopenharmony_ci 34362306a36Sopenharmony_ci emmc_pins_uhs: emmc-pins-uhs { 34462306a36Sopenharmony_ci mux { 34562306a36Sopenharmony_ci function = "emmc"; 34662306a36Sopenharmony_ci groups = "emmc"; 34762306a36Sopenharmony_ci }; 34862306a36Sopenharmony_ci 34962306a36Sopenharmony_ci conf-cmd-dat { 35062306a36Sopenharmony_ci pins = "NDL0", "NDL1", "NDL2", 35162306a36Sopenharmony_ci "NDL3", "NDL4", "NDL5", 35262306a36Sopenharmony_ci "NDL6", "NDL7", "NRB"; 35362306a36Sopenharmony_ci input-enable; 35462306a36Sopenharmony_ci drive-strength = <4>; 35562306a36Sopenharmony_ci bias-pull-up; 35662306a36Sopenharmony_ci }; 35762306a36Sopenharmony_ci 35862306a36Sopenharmony_ci conf-clk { 35962306a36Sopenharmony_ci pins = "NCLE"; 36062306a36Sopenharmony_ci drive-strength = <4>; 36162306a36Sopenharmony_ci bias-pull-down; 36262306a36Sopenharmony_ci }; 36362306a36Sopenharmony_ci }; 36462306a36Sopenharmony_ci 36562306a36Sopenharmony_ci eth_pins: eth-pins { 36662306a36Sopenharmony_ci mux { 36762306a36Sopenharmony_ci function = "eth"; 36862306a36Sopenharmony_ci groups = "mdc_mdio", "rgmii_via_gmac2"; 36962306a36Sopenharmony_ci }; 37062306a36Sopenharmony_ci }; 37162306a36Sopenharmony_ci 37262306a36Sopenharmony_ci i2c1_pins: i2c1-pins { 37362306a36Sopenharmony_ci mux { 37462306a36Sopenharmony_ci function = "i2c"; 37562306a36Sopenharmony_ci groups = "i2c1_0"; 37662306a36Sopenharmony_ci }; 37762306a36Sopenharmony_ci }; 37862306a36Sopenharmony_ci 37962306a36Sopenharmony_ci i2c2_pins: i2c2-pins { 38062306a36Sopenharmony_ci mux { 38162306a36Sopenharmony_ci function = "i2c"; 38262306a36Sopenharmony_ci groups = "i2c2_0"; 38362306a36Sopenharmony_ci }; 38462306a36Sopenharmony_ci }; 38562306a36Sopenharmony_ci 38662306a36Sopenharmony_ci i2s1_pins: i2s1-pins { 38762306a36Sopenharmony_ci mux { 38862306a36Sopenharmony_ci function = "i2s"; 38962306a36Sopenharmony_ci groups = "i2s_out_mclk_bclk_ws", 39062306a36Sopenharmony_ci "i2s1_in_data", 39162306a36Sopenharmony_ci "i2s1_out_data"; 39262306a36Sopenharmony_ci }; 39362306a36Sopenharmony_ci 39462306a36Sopenharmony_ci conf { 39562306a36Sopenharmony_ci pins = "I2S1_IN", "I2S1_OUT", "I2S_BCLK", 39662306a36Sopenharmony_ci "I2S_WS", "I2S_MCLK"; 39762306a36Sopenharmony_ci drive-strength = <12>; 39862306a36Sopenharmony_ci bias-pull-down; 39962306a36Sopenharmony_ci }; 40062306a36Sopenharmony_ci }; 40162306a36Sopenharmony_ci 40262306a36Sopenharmony_ci irrx_pins: irrx-pins { 40362306a36Sopenharmony_ci mux { 40462306a36Sopenharmony_ci function = "ir"; 40562306a36Sopenharmony_ci groups = "ir_1_rx"; 40662306a36Sopenharmony_ci }; 40762306a36Sopenharmony_ci }; 40862306a36Sopenharmony_ci 40962306a36Sopenharmony_ci irtx_pins: irtx-pins { 41062306a36Sopenharmony_ci mux { 41162306a36Sopenharmony_ci function = "ir"; 41262306a36Sopenharmony_ci groups = "ir_1_tx"; 41362306a36Sopenharmony_ci }; 41462306a36Sopenharmony_ci }; 41562306a36Sopenharmony_ci 41662306a36Sopenharmony_ci /* Parallel nand is shared pin with eMMC */ 41762306a36Sopenharmony_ci parallel_nand_pins: parallel-nand-pins { 41862306a36Sopenharmony_ci mux { 41962306a36Sopenharmony_ci function = "flash"; 42062306a36Sopenharmony_ci groups = "par_nand"; 42162306a36Sopenharmony_ci }; 42262306a36Sopenharmony_ci }; 42362306a36Sopenharmony_ci 42462306a36Sopenharmony_ci pcie0_pins: pcie0-pins { 42562306a36Sopenharmony_ci mux { 42662306a36Sopenharmony_ci function = "pcie"; 42762306a36Sopenharmony_ci groups = "pcie0_pad_perst", 42862306a36Sopenharmony_ci "pcie0_1_waken", 42962306a36Sopenharmony_ci "pcie0_1_clkreq"; 43062306a36Sopenharmony_ci }; 43162306a36Sopenharmony_ci }; 43262306a36Sopenharmony_ci 43362306a36Sopenharmony_ci pcie1_pins: pcie1-pins { 43462306a36Sopenharmony_ci mux { 43562306a36Sopenharmony_ci function = "pcie"; 43662306a36Sopenharmony_ci groups = "pcie1_pad_perst", 43762306a36Sopenharmony_ci "pcie1_0_waken", 43862306a36Sopenharmony_ci "pcie1_0_clkreq"; 43962306a36Sopenharmony_ci }; 44062306a36Sopenharmony_ci }; 44162306a36Sopenharmony_ci 44262306a36Sopenharmony_ci pmic_bus_pins: pmic-bus-pins { 44362306a36Sopenharmony_ci mux { 44462306a36Sopenharmony_ci function = "pmic"; 44562306a36Sopenharmony_ci groups = "pmic_bus"; 44662306a36Sopenharmony_ci }; 44762306a36Sopenharmony_ci }; 44862306a36Sopenharmony_ci 44962306a36Sopenharmony_ci pwm_pins: pwm-pins { 45062306a36Sopenharmony_ci mux { 45162306a36Sopenharmony_ci function = "pwm"; 45262306a36Sopenharmony_ci groups = "pwm_ch1_0", /* mt7622_pwm_ch1_0_pins[] = { 51, }; */ 45362306a36Sopenharmony_ci "pwm_ch2_0", /* mt7622_pwm_ch2_0_pins[] = { 52, }; */ 45462306a36Sopenharmony_ci "pwm_ch3_2", /* mt7622_pwm_ch3_2_pins[] = { 97, }; */ 45562306a36Sopenharmony_ci "pwm_ch4_1", /* mt7622_pwm_ch4_1_pins[] = { 67, }; */ 45662306a36Sopenharmony_ci "pwm_ch5_0", /* mt7622_pwm_ch5_0_pins[] = { 68, }; */ 45762306a36Sopenharmony_ci "pwm_ch6_0"; /* mt7622_pwm_ch6_0_pins[] = { 69, }; */ 45862306a36Sopenharmony_ci }; 45962306a36Sopenharmony_ci }; 46062306a36Sopenharmony_ci 46162306a36Sopenharmony_ci wled_pins: wled-pins { 46262306a36Sopenharmony_ci mux { 46362306a36Sopenharmony_ci function = "led"; 46462306a36Sopenharmony_ci groups = "wled"; 46562306a36Sopenharmony_ci }; 46662306a36Sopenharmony_ci }; 46762306a36Sopenharmony_ci 46862306a36Sopenharmony_ci sd0_pins_default: sd0-pins-default { 46962306a36Sopenharmony_ci mux { 47062306a36Sopenharmony_ci function = "sd"; 47162306a36Sopenharmony_ci groups = "sd_0"; 47262306a36Sopenharmony_ci }; 47362306a36Sopenharmony_ci 47462306a36Sopenharmony_ci /* "I2S2_OUT, "I2S4_IN"", "I2S3_IN", "I2S2_IN", 47562306a36Sopenharmony_ci * "I2S4_OUT", "I2S3_OUT" are used as DAT0, DAT1, 47662306a36Sopenharmony_ci * DAT2, DAT3, CMD, CLK for SD respectively. 47762306a36Sopenharmony_ci */ 47862306a36Sopenharmony_ci conf-cmd-data { 47962306a36Sopenharmony_ci pins = "I2S2_OUT", "I2S4_IN", "I2S3_IN", 48062306a36Sopenharmony_ci "I2S2_IN","I2S4_OUT"; 48162306a36Sopenharmony_ci input-enable; 48262306a36Sopenharmony_ci drive-strength = <8>; 48362306a36Sopenharmony_ci bias-pull-up; 48462306a36Sopenharmony_ci }; 48562306a36Sopenharmony_ci conf-clk { 48662306a36Sopenharmony_ci pins = "I2S3_OUT"; 48762306a36Sopenharmony_ci drive-strength = <12>; 48862306a36Sopenharmony_ci bias-pull-down; 48962306a36Sopenharmony_ci }; 49062306a36Sopenharmony_ci conf-cd { 49162306a36Sopenharmony_ci pins = "TXD3"; 49262306a36Sopenharmony_ci bias-pull-up; 49362306a36Sopenharmony_ci }; 49462306a36Sopenharmony_ci }; 49562306a36Sopenharmony_ci 49662306a36Sopenharmony_ci sd0_pins_uhs: sd0-pins-uhs { 49762306a36Sopenharmony_ci mux { 49862306a36Sopenharmony_ci function = "sd"; 49962306a36Sopenharmony_ci groups = "sd_0"; 50062306a36Sopenharmony_ci }; 50162306a36Sopenharmony_ci 50262306a36Sopenharmony_ci conf-cmd-data { 50362306a36Sopenharmony_ci pins = "I2S2_OUT", "I2S4_IN", "I2S3_IN", 50462306a36Sopenharmony_ci "I2S2_IN","I2S4_OUT"; 50562306a36Sopenharmony_ci input-enable; 50662306a36Sopenharmony_ci bias-pull-up; 50762306a36Sopenharmony_ci }; 50862306a36Sopenharmony_ci 50962306a36Sopenharmony_ci conf-clk { 51062306a36Sopenharmony_ci pins = "I2S3_OUT"; 51162306a36Sopenharmony_ci bias-pull-down; 51262306a36Sopenharmony_ci }; 51362306a36Sopenharmony_ci }; 51462306a36Sopenharmony_ci 51562306a36Sopenharmony_ci /* Serial NAND is shared pin with SPI-NOR */ 51662306a36Sopenharmony_ci serial_nand_pins: serial-nand-pins { 51762306a36Sopenharmony_ci mux { 51862306a36Sopenharmony_ci function = "flash"; 51962306a36Sopenharmony_ci groups = "snfi"; 52062306a36Sopenharmony_ci }; 52162306a36Sopenharmony_ci }; 52262306a36Sopenharmony_ci 52362306a36Sopenharmony_ci spic0_pins: spic0-pins { 52462306a36Sopenharmony_ci mux { 52562306a36Sopenharmony_ci function = "spi"; 52662306a36Sopenharmony_ci groups = "spic0_0"; 52762306a36Sopenharmony_ci }; 52862306a36Sopenharmony_ci }; 52962306a36Sopenharmony_ci 53062306a36Sopenharmony_ci spic1_pins: spic1-pins { 53162306a36Sopenharmony_ci mux { 53262306a36Sopenharmony_ci function = "spi"; 53362306a36Sopenharmony_ci groups = "spic1_0"; 53462306a36Sopenharmony_ci }; 53562306a36Sopenharmony_ci }; 53662306a36Sopenharmony_ci 53762306a36Sopenharmony_ci /* SPI-NOR is shared pin with serial NAND */ 53862306a36Sopenharmony_ci spi_nor_pins: spi-nor-pins { 53962306a36Sopenharmony_ci mux { 54062306a36Sopenharmony_ci function = "flash"; 54162306a36Sopenharmony_ci groups = "spi_nor"; 54262306a36Sopenharmony_ci }; 54362306a36Sopenharmony_ci }; 54462306a36Sopenharmony_ci 54562306a36Sopenharmony_ci /* serial NAND is shared pin with SPI-NOR */ 54662306a36Sopenharmony_ci serial_nand_pins: serial-nand-pins { 54762306a36Sopenharmony_ci mux { 54862306a36Sopenharmony_ci function = "flash"; 54962306a36Sopenharmony_ci groups = "snfi"; 55062306a36Sopenharmony_ci }; 55162306a36Sopenharmony_ci }; 55262306a36Sopenharmony_ci 55362306a36Sopenharmony_ci uart0_pins: uart0-pins { 55462306a36Sopenharmony_ci mux { 55562306a36Sopenharmony_ci function = "uart"; 55662306a36Sopenharmony_ci groups = "uart0_0_tx_rx" ; 55762306a36Sopenharmony_ci }; 55862306a36Sopenharmony_ci }; 55962306a36Sopenharmony_ci 56062306a36Sopenharmony_ci uart2_pins: uart2-pins { 56162306a36Sopenharmony_ci mux { 56262306a36Sopenharmony_ci function = "uart"; 56362306a36Sopenharmony_ci groups = "uart2_1_tx_rx" ; 56462306a36Sopenharmony_ci }; 56562306a36Sopenharmony_ci }; 56662306a36Sopenharmony_ci 56762306a36Sopenharmony_ci watchdog_pins: watchdog-pins { 56862306a36Sopenharmony_ci mux { 56962306a36Sopenharmony_ci function = "watchdog"; 57062306a36Sopenharmony_ci groups = "watchdog"; 57162306a36Sopenharmony_ci }; 57262306a36Sopenharmony_ci }; 57362306a36Sopenharmony_ci}; 57462306a36Sopenharmony_ci 57562306a36Sopenharmony_ci&pwm { 57662306a36Sopenharmony_ci pinctrl-names = "default"; 57762306a36Sopenharmony_ci pinctrl-0 = <&pwm_pins>; 57862306a36Sopenharmony_ci status = "okay"; 57962306a36Sopenharmony_ci}; 58062306a36Sopenharmony_ci 58162306a36Sopenharmony_ci&pwrap { 58262306a36Sopenharmony_ci pinctrl-names = "default"; 58362306a36Sopenharmony_ci pinctrl-0 = <&pmic_bus_pins>; 58462306a36Sopenharmony_ci 58562306a36Sopenharmony_ci status = "okay"; 58662306a36Sopenharmony_ci}; 58762306a36Sopenharmony_ci 58862306a36Sopenharmony_ci&sata { 58962306a36Sopenharmony_ci status = "disabled"; 59062306a36Sopenharmony_ci}; 59162306a36Sopenharmony_ci 59262306a36Sopenharmony_ci&sata_phy { 59362306a36Sopenharmony_ci status = "disabled"; 59462306a36Sopenharmony_ci}; 59562306a36Sopenharmony_ci 59662306a36Sopenharmony_ci&spi0 { 59762306a36Sopenharmony_ci pinctrl-names = "default"; 59862306a36Sopenharmony_ci pinctrl-0 = <&spic0_pins>; 59962306a36Sopenharmony_ci status = "okay"; 60062306a36Sopenharmony_ci}; 60162306a36Sopenharmony_ci 60262306a36Sopenharmony_ci&spi1 { 60362306a36Sopenharmony_ci pinctrl-names = "default"; 60462306a36Sopenharmony_ci pinctrl-0 = <&spic1_pins>; 60562306a36Sopenharmony_ci}; 60662306a36Sopenharmony_ci 60762306a36Sopenharmony_ci&ssusb { 60862306a36Sopenharmony_ci vusb33-supply = <®_3p3v>; 60962306a36Sopenharmony_ci vbus-supply = <®_5v>; 61062306a36Sopenharmony_ci status = "okay"; 61162306a36Sopenharmony_ci}; 61262306a36Sopenharmony_ci 61362306a36Sopenharmony_ci&u3phy { 61462306a36Sopenharmony_ci status = "okay"; 61562306a36Sopenharmony_ci}; 61662306a36Sopenharmony_ci 61762306a36Sopenharmony_ci&uart0 { 61862306a36Sopenharmony_ci pinctrl-names = "default"; 61962306a36Sopenharmony_ci pinctrl-0 = <&uart0_pins>; 62062306a36Sopenharmony_ci status = "okay"; 62162306a36Sopenharmony_ci}; 62262306a36Sopenharmony_ci 62362306a36Sopenharmony_ci&uart2 { 62462306a36Sopenharmony_ci pinctrl-names = "default"; 62562306a36Sopenharmony_ci pinctrl-0 = <&uart2_pins>; 62662306a36Sopenharmony_ci}; 62762306a36Sopenharmony_ci 62862306a36Sopenharmony_ci&watchdog { 62962306a36Sopenharmony_ci pinctrl-names = "default"; 63062306a36Sopenharmony_ci pinctrl-0 = <&watchdog_pins>; 63162306a36Sopenharmony_ci status = "okay"; 63262306a36Sopenharmony_ci}; 63362306a36Sopenharmony_ci 63462306a36Sopenharmony_ci&wmac { 63562306a36Sopenharmony_ci status = "okay"; 63662306a36Sopenharmony_ci}; 637