1c66ec88fSEmmanuel Vadot/* 2c66ec88fSEmmanuel Vadot * Copyright (c) 2018 MediaTek Inc. 3c66ec88fSEmmanuel Vadot * Author: Ryder Lee <ryder.lee@mediatek.com> 4c66ec88fSEmmanuel Vadot * 5c66ec88fSEmmanuel Vadot * SPDX-License-Identifier: (GPL-2.0 OR MIT) 6c66ec88fSEmmanuel Vadot */ 7c66ec88fSEmmanuel Vadot 8c66ec88fSEmmanuel Vadot/dts-v1/; 9c66ec88fSEmmanuel Vadot#include <dt-bindings/input/input.h> 10c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 11b97ee269SEmmanuel Vadot#include <dt-bindings/leds/common.h> 12c66ec88fSEmmanuel Vadot 13c66ec88fSEmmanuel Vadot#include "mt7622.dtsi" 14c66ec88fSEmmanuel Vadot#include "mt6380.dtsi" 15c66ec88fSEmmanuel Vadot 16c66ec88fSEmmanuel Vadot/ { 17c66ec88fSEmmanuel Vadot model = "Bananapi BPI-R64"; 18f126890aSEmmanuel Vadot chassis-type = "embedded"; 19c66ec88fSEmmanuel Vadot compatible = "bananapi,bpi-r64", "mediatek,mt7622"; 20c66ec88fSEmmanuel Vadot 21c66ec88fSEmmanuel Vadot aliases { 22c66ec88fSEmmanuel Vadot serial0 = &uart0; 23c66ec88fSEmmanuel Vadot }; 24c66ec88fSEmmanuel Vadot 25c66ec88fSEmmanuel Vadot chosen { 26c66ec88fSEmmanuel Vadot stdout-path = "serial0:115200n8"; 27c66ec88fSEmmanuel Vadot bootargs = "earlycon=uart8250,mmio32,0x11002000 swiotlb=512"; 28c66ec88fSEmmanuel Vadot }; 29c66ec88fSEmmanuel Vadot 30c66ec88fSEmmanuel Vadot cpus { 31c66ec88fSEmmanuel Vadot cpu@0 { 32c66ec88fSEmmanuel Vadot proc-supply = <&mt6380_vcpu_reg>; 33c66ec88fSEmmanuel Vadot sram-supply = <&mt6380_vm_reg>; 34c66ec88fSEmmanuel Vadot }; 35c66ec88fSEmmanuel Vadot 36c66ec88fSEmmanuel Vadot cpu@1 { 37c66ec88fSEmmanuel Vadot proc-supply = <&mt6380_vcpu_reg>; 38c66ec88fSEmmanuel Vadot sram-supply = <&mt6380_vm_reg>; 39c66ec88fSEmmanuel Vadot }; 40c66ec88fSEmmanuel Vadot }; 41c66ec88fSEmmanuel Vadot 42c66ec88fSEmmanuel Vadot gpio-keys { 43c66ec88fSEmmanuel Vadot compatible = "gpio-keys"; 44c66ec88fSEmmanuel Vadot 45b97ee269SEmmanuel Vadot factory-key { 46c66ec88fSEmmanuel Vadot label = "factory"; 47c66ec88fSEmmanuel Vadot linux,code = <BTN_0>; 48c66ec88fSEmmanuel Vadot gpios = <&pio 0 GPIO_ACTIVE_HIGH>; 49c66ec88fSEmmanuel Vadot }; 50c66ec88fSEmmanuel Vadot 51b97ee269SEmmanuel Vadot wps-key { 52c66ec88fSEmmanuel Vadot label = "wps"; 53c66ec88fSEmmanuel Vadot linux,code = <KEY_WPS_BUTTON>; 54b97ee269SEmmanuel Vadot gpios = <&pio 102 GPIO_ACTIVE_LOW>; 55c66ec88fSEmmanuel Vadot }; 56c66ec88fSEmmanuel Vadot }; 57c66ec88fSEmmanuel Vadot 58c66ec88fSEmmanuel Vadot leds { 59c66ec88fSEmmanuel Vadot compatible = "gpio-leds"; 60c66ec88fSEmmanuel Vadot 61b97ee269SEmmanuel Vadot led-0 { 62c66ec88fSEmmanuel Vadot label = "bpi-r64:pio:green"; 63b97ee269SEmmanuel Vadot color = <LED_COLOR_ID_GREEN>; 64c66ec88fSEmmanuel Vadot gpios = <&pio 89 GPIO_ACTIVE_HIGH>; 65c66ec88fSEmmanuel Vadot default-state = "off"; 66c66ec88fSEmmanuel Vadot }; 67c66ec88fSEmmanuel Vadot 68b97ee269SEmmanuel Vadot led-1 { 69c66ec88fSEmmanuel Vadot label = "bpi-r64:pio:red"; 70b97ee269SEmmanuel Vadot color = <LED_COLOR_ID_RED>; 71c66ec88fSEmmanuel Vadot gpios = <&pio 88 GPIO_ACTIVE_HIGH>; 72c66ec88fSEmmanuel Vadot default-state = "off"; 73c66ec88fSEmmanuel Vadot }; 74c66ec88fSEmmanuel Vadot }; 75c66ec88fSEmmanuel Vadot 7684943d6fSEmmanuel Vadot memory@40000000 { 77c66ec88fSEmmanuel Vadot reg = <0 0x40000000 0 0x40000000>; 7801950c46SEmmanuel Vadot device_type = "memory"; 79c66ec88fSEmmanuel Vadot }; 80c66ec88fSEmmanuel Vadot 81c66ec88fSEmmanuel Vadot reg_1p8v: regulator-1p8v { 82c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 83c66ec88fSEmmanuel Vadot regulator-name = "fixed-1.8V"; 84c66ec88fSEmmanuel Vadot regulator-min-microvolt = <1800000>; 85c66ec88fSEmmanuel Vadot regulator-max-microvolt = <1800000>; 86c66ec88fSEmmanuel Vadot regulator-always-on; 87c66ec88fSEmmanuel Vadot }; 88c66ec88fSEmmanuel Vadot 89c66ec88fSEmmanuel Vadot reg_3p3v: regulator-3p3v { 90c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 91c66ec88fSEmmanuel Vadot regulator-name = "fixed-3.3V"; 92c66ec88fSEmmanuel Vadot regulator-min-microvolt = <3300000>; 93c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3300000>; 94c66ec88fSEmmanuel Vadot regulator-boot-on; 95c66ec88fSEmmanuel Vadot regulator-always-on; 96c66ec88fSEmmanuel Vadot }; 97c66ec88fSEmmanuel Vadot 98c66ec88fSEmmanuel Vadot reg_5v: regulator-5v { 99c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 100c66ec88fSEmmanuel Vadot regulator-name = "fixed-5V"; 101c66ec88fSEmmanuel Vadot regulator-min-microvolt = <5000000>; 102c66ec88fSEmmanuel Vadot regulator-max-microvolt = <5000000>; 103c66ec88fSEmmanuel Vadot regulator-boot-on; 104c66ec88fSEmmanuel Vadot regulator-always-on; 105c66ec88fSEmmanuel Vadot }; 106c66ec88fSEmmanuel Vadot}; 107c66ec88fSEmmanuel Vadot 108c66ec88fSEmmanuel Vadot&bch { 109c66ec88fSEmmanuel Vadot status = "disabled"; 110c66ec88fSEmmanuel Vadot}; 111c66ec88fSEmmanuel Vadot 112c66ec88fSEmmanuel Vadot&btif { 113c66ec88fSEmmanuel Vadot status = "okay"; 114c66ec88fSEmmanuel Vadot}; 115c66ec88fSEmmanuel Vadot 116c66ec88fSEmmanuel Vadot&cir { 117c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 118c66ec88fSEmmanuel Vadot pinctrl-0 = <&irrx_pins>; 119c66ec88fSEmmanuel Vadot status = "okay"; 120c66ec88fSEmmanuel Vadot}; 121c66ec88fSEmmanuel Vadot 122c66ec88fSEmmanuel Vadotð { 123c66ec88fSEmmanuel Vadot status = "okay"; 124c66ec88fSEmmanuel Vadot gmac0: mac@0 { 125c66ec88fSEmmanuel Vadot compatible = "mediatek,eth-mac"; 126c66ec88fSEmmanuel Vadot reg = <0>; 127c66ec88fSEmmanuel Vadot phy-mode = "2500base-x"; 128c66ec88fSEmmanuel Vadot 129c66ec88fSEmmanuel Vadot fixed-link { 130c66ec88fSEmmanuel Vadot speed = <2500>; 131c66ec88fSEmmanuel Vadot full-duplex; 132c66ec88fSEmmanuel Vadot pause; 133c66ec88fSEmmanuel Vadot }; 134c66ec88fSEmmanuel Vadot }; 135c66ec88fSEmmanuel Vadot 136c66ec88fSEmmanuel Vadot gmac1: mac@1 { 137c66ec88fSEmmanuel Vadot compatible = "mediatek,eth-mac"; 138c66ec88fSEmmanuel Vadot reg = <1>; 139c66ec88fSEmmanuel Vadot phy-mode = "rgmii"; 140c66ec88fSEmmanuel Vadot 141c66ec88fSEmmanuel Vadot fixed-link { 142c66ec88fSEmmanuel Vadot speed = <1000>; 143c66ec88fSEmmanuel Vadot full-duplex; 144c66ec88fSEmmanuel Vadot pause; 145c66ec88fSEmmanuel Vadot }; 146c66ec88fSEmmanuel Vadot }; 147c66ec88fSEmmanuel Vadot 148c66ec88fSEmmanuel Vadot mdio: mdio-bus { 149c66ec88fSEmmanuel Vadot #address-cells = <1>; 150c66ec88fSEmmanuel Vadot #size-cells = <0>; 1516be33864SEmmanuel Vadot 152*0e8011faSEmmanuel Vadot switch@1f { 1536be33864SEmmanuel Vadot compatible = "mediatek,mt7531"; 154*0e8011faSEmmanuel Vadot reg = <0x1f>; 155f126890aSEmmanuel Vadot interrupt-controller; 156f126890aSEmmanuel Vadot #interrupt-cells = <1>; 1578d13bc63SEmmanuel Vadot interrupts-extended = <&pio 53 IRQ_TYPE_LEVEL_HIGH>; 1586be33864SEmmanuel Vadot reset-gpios = <&pio 54 0>; 1596be33864SEmmanuel Vadot 1606be33864SEmmanuel Vadot ports { 1616be33864SEmmanuel Vadot #address-cells = <1>; 1626be33864SEmmanuel Vadot #size-cells = <0>; 1636be33864SEmmanuel Vadot 1646be33864SEmmanuel Vadot port@0 { 1656be33864SEmmanuel Vadot reg = <0>; 1666be33864SEmmanuel Vadot label = "wan"; 1676be33864SEmmanuel Vadot }; 1686be33864SEmmanuel Vadot 1696be33864SEmmanuel Vadot port@1 { 1706be33864SEmmanuel Vadot reg = <1>; 1716be33864SEmmanuel Vadot label = "lan0"; 1726be33864SEmmanuel Vadot }; 1736be33864SEmmanuel Vadot 1746be33864SEmmanuel Vadot port@2 { 1756be33864SEmmanuel Vadot reg = <2>; 1766be33864SEmmanuel Vadot label = "lan1"; 1776be33864SEmmanuel Vadot }; 1786be33864SEmmanuel Vadot 1796be33864SEmmanuel Vadot port@3 { 1806be33864SEmmanuel Vadot reg = <3>; 1816be33864SEmmanuel Vadot label = "lan2"; 1826be33864SEmmanuel Vadot }; 1836be33864SEmmanuel Vadot 1846be33864SEmmanuel Vadot port@4 { 1856be33864SEmmanuel Vadot reg = <4>; 1866be33864SEmmanuel Vadot label = "lan3"; 1876be33864SEmmanuel Vadot }; 1886be33864SEmmanuel Vadot 18901950c46SEmmanuel Vadot port@5 { 19001950c46SEmmanuel Vadot reg = <5>; 19101950c46SEmmanuel Vadot ethernet = <&gmac1>; 19201950c46SEmmanuel Vadot phy-mode = "rgmii"; 19301950c46SEmmanuel Vadot 19401950c46SEmmanuel Vadot fixed-link { 19501950c46SEmmanuel Vadot speed = <1000>; 19601950c46SEmmanuel Vadot full-duplex; 19701950c46SEmmanuel Vadot pause; 19801950c46SEmmanuel Vadot }; 19901950c46SEmmanuel Vadot }; 20001950c46SEmmanuel Vadot 2016be33864SEmmanuel Vadot port@6 { 2026be33864SEmmanuel Vadot reg = <6>; 2036be33864SEmmanuel Vadot label = "cpu"; 2046be33864SEmmanuel Vadot ethernet = <&gmac0>; 2056be33864SEmmanuel Vadot phy-mode = "2500base-x"; 2066be33864SEmmanuel Vadot 2076be33864SEmmanuel Vadot fixed-link { 2086be33864SEmmanuel Vadot speed = <2500>; 2096be33864SEmmanuel Vadot full-duplex; 2106be33864SEmmanuel Vadot pause; 2116be33864SEmmanuel Vadot }; 2126be33864SEmmanuel Vadot }; 2136be33864SEmmanuel Vadot }; 2146be33864SEmmanuel Vadot }; 2156be33864SEmmanuel Vadot 216c66ec88fSEmmanuel Vadot }; 217c66ec88fSEmmanuel Vadot}; 218c66ec88fSEmmanuel Vadot 219c66ec88fSEmmanuel Vadot&i2c1 { 220c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 221c66ec88fSEmmanuel Vadot pinctrl-0 = <&i2c1_pins>; 222c66ec88fSEmmanuel Vadot status = "okay"; 223c66ec88fSEmmanuel Vadot}; 224c66ec88fSEmmanuel Vadot 225c66ec88fSEmmanuel Vadot&i2c2 { 226c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 227c66ec88fSEmmanuel Vadot pinctrl-0 = <&i2c2_pins>; 228c66ec88fSEmmanuel Vadot status = "okay"; 229c66ec88fSEmmanuel Vadot}; 230c66ec88fSEmmanuel Vadot 231c66ec88fSEmmanuel Vadot&mmc0 { 232c66ec88fSEmmanuel Vadot pinctrl-names = "default", "state_uhs"; 233c66ec88fSEmmanuel Vadot pinctrl-0 = <&emmc_pins_default>; 234c66ec88fSEmmanuel Vadot pinctrl-1 = <&emmc_pins_uhs>; 235c66ec88fSEmmanuel Vadot status = "okay"; 236c66ec88fSEmmanuel Vadot bus-width = <8>; 237c66ec88fSEmmanuel Vadot max-frequency = <50000000>; 238c66ec88fSEmmanuel Vadot cap-mmc-highspeed; 239c66ec88fSEmmanuel Vadot mmc-hs200-1_8v; 240c66ec88fSEmmanuel Vadot vmmc-supply = <®_3p3v>; 241c66ec88fSEmmanuel Vadot vqmmc-supply = <®_1p8v>; 242c66ec88fSEmmanuel Vadot assigned-clocks = <&topckgen CLK_TOP_MSDC30_0_SEL>; 243c66ec88fSEmmanuel Vadot assigned-clock-parents = <&topckgen CLK_TOP_UNIV48M>; 244c66ec88fSEmmanuel Vadot non-removable; 245c66ec88fSEmmanuel Vadot}; 246c66ec88fSEmmanuel Vadot 247c66ec88fSEmmanuel Vadot&mmc1 { 248c66ec88fSEmmanuel Vadot pinctrl-names = "default", "state_uhs"; 249c66ec88fSEmmanuel Vadot pinctrl-0 = <&sd0_pins_default>; 250c66ec88fSEmmanuel Vadot pinctrl-1 = <&sd0_pins_uhs>; 251c66ec88fSEmmanuel Vadot status = "okay"; 252c66ec88fSEmmanuel Vadot bus-width = <4>; 253c66ec88fSEmmanuel Vadot max-frequency = <50000000>; 254c66ec88fSEmmanuel Vadot cap-sd-highspeed; 255c66ec88fSEmmanuel Vadot cd-gpios = <&pio 81 GPIO_ACTIVE_LOW>; 256c66ec88fSEmmanuel Vadot vmmc-supply = <®_3p3v>; 257c66ec88fSEmmanuel Vadot vqmmc-supply = <®_3p3v>; 258c66ec88fSEmmanuel Vadot assigned-clocks = <&topckgen CLK_TOP_MSDC30_1_SEL>; 259c66ec88fSEmmanuel Vadot assigned-clock-parents = <&topckgen CLK_TOP_UNIV48M>; 260c66ec88fSEmmanuel Vadot}; 261c66ec88fSEmmanuel Vadot 262c66ec88fSEmmanuel Vadot&nandc { 263c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 264c66ec88fSEmmanuel Vadot pinctrl-0 = <¶llel_nand_pins>; 265c66ec88fSEmmanuel Vadot status = "disabled"; 266c66ec88fSEmmanuel Vadot}; 267c66ec88fSEmmanuel Vadot 268f126890aSEmmanuel Vadot&bch { 269f126890aSEmmanuel Vadot status = "okay"; 270f126890aSEmmanuel Vadot}; 271c66ec88fSEmmanuel Vadot 272f126890aSEmmanuel Vadot&snfi { 273f126890aSEmmanuel Vadot pinctrl-names = "default"; 274f126890aSEmmanuel Vadot pinctrl-0 = <&serial_nand_pins>; 275f126890aSEmmanuel Vadot status = "okay"; 276c66ec88fSEmmanuel Vadot flash@0 { 277f126890aSEmmanuel Vadot compatible = "spi-nand"; 278c66ec88fSEmmanuel Vadot reg = <0>; 279f126890aSEmmanuel Vadot spi-tx-bus-width = <4>; 280f126890aSEmmanuel Vadot spi-rx-bus-width = <4>; 281f126890aSEmmanuel Vadot nand-ecc-engine = <&snfi>; 282f126890aSEmmanuel Vadot partitions { 283f126890aSEmmanuel Vadot compatible = "fixed-partitions"; 284f126890aSEmmanuel Vadot #address-cells = <1>; 285f126890aSEmmanuel Vadot #size-cells = <1>; 286f126890aSEmmanuel Vadot 287f126890aSEmmanuel Vadot partition@0 { 288f126890aSEmmanuel Vadot label = "bl2"; 289f126890aSEmmanuel Vadot reg = <0x0 0x80000>; 290f126890aSEmmanuel Vadot read-only; 291f126890aSEmmanuel Vadot }; 292f126890aSEmmanuel Vadot 293f126890aSEmmanuel Vadot partition@80000 { 294f126890aSEmmanuel Vadot label = "fip"; 295f126890aSEmmanuel Vadot reg = <0x80000 0x200000>; 296f126890aSEmmanuel Vadot read-only; 297f126890aSEmmanuel Vadot }; 298f126890aSEmmanuel Vadot 299f126890aSEmmanuel Vadot ubi: partition@280000 { 300f126890aSEmmanuel Vadot label = "ubi"; 301f126890aSEmmanuel Vadot reg = <0x280000 0x7d80000>; 302f126890aSEmmanuel Vadot }; 303f126890aSEmmanuel Vadot }; 304c66ec88fSEmmanuel Vadot }; 305c66ec88fSEmmanuel Vadot}; 306c66ec88fSEmmanuel Vadot 3078cc087a1SEmmanuel Vadot&pcie0 { 308c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 3098cc087a1SEmmanuel Vadot pinctrl-0 = <&pcie0_pins>; 310c66ec88fSEmmanuel Vadot status = "okay"; 311c66ec88fSEmmanuel Vadot}; 312c66ec88fSEmmanuel Vadot 3138cc087a1SEmmanuel Vadot&pcie1 { 3148cc087a1SEmmanuel Vadot pinctrl-names = "default"; 3158cc087a1SEmmanuel Vadot pinctrl-0 = <&pcie1_pins>; 316c66ec88fSEmmanuel Vadot status = "okay"; 317c66ec88fSEmmanuel Vadot}; 318c66ec88fSEmmanuel Vadot 319c66ec88fSEmmanuel Vadot&pio { 320c66ec88fSEmmanuel Vadot /* Attention: GPIO 90 is used to switch between PCIe@1,0 and 321c66ec88fSEmmanuel Vadot * SATA functions. i.e. output-high: PCIe, output-low: SATA 322c66ec88fSEmmanuel Vadot */ 323c66ec88fSEmmanuel Vadot asm_sel { 324c66ec88fSEmmanuel Vadot gpio-hog; 325c66ec88fSEmmanuel Vadot gpios = <90 GPIO_ACTIVE_HIGH>; 326c66ec88fSEmmanuel Vadot output-high; 327c66ec88fSEmmanuel Vadot }; 328c66ec88fSEmmanuel Vadot 329c66ec88fSEmmanuel Vadot /* eMMC is shared pin with parallel NAND */ 330c66ec88fSEmmanuel Vadot emmc_pins_default: emmc-pins-default { 331c66ec88fSEmmanuel Vadot mux { 332*0e8011faSEmmanuel Vadot function = "emmc"; 333*0e8011faSEmmanuel Vadot groups = "emmc", "emmc_rst"; 334c66ec88fSEmmanuel Vadot }; 335c66ec88fSEmmanuel Vadot 336c66ec88fSEmmanuel Vadot /* "NDL0","NDL1","NDL2","NDL3","NDL4","NDL5","NDL6","NDL7", 337c66ec88fSEmmanuel Vadot * "NRB","NCLE" pins are used as DAT0,DAT1,DAT2,DAT3,DAT4, 338c66ec88fSEmmanuel Vadot * DAT5,DAT6,DAT7,CMD,CLK for eMMC respectively 339c66ec88fSEmmanuel Vadot */ 340c66ec88fSEmmanuel Vadot conf-cmd-dat { 341c66ec88fSEmmanuel Vadot pins = "NDL0", "NDL1", "NDL2", 342c66ec88fSEmmanuel Vadot "NDL3", "NDL4", "NDL5", 343c66ec88fSEmmanuel Vadot "NDL6", "NDL7", "NRB"; 344c66ec88fSEmmanuel Vadot input-enable; 345c66ec88fSEmmanuel Vadot bias-pull-up; 346c66ec88fSEmmanuel Vadot }; 347c66ec88fSEmmanuel Vadot 348c66ec88fSEmmanuel Vadot conf-clk { 349c66ec88fSEmmanuel Vadot pins = "NCLE"; 350c66ec88fSEmmanuel Vadot bias-pull-down; 351c66ec88fSEmmanuel Vadot }; 352c66ec88fSEmmanuel Vadot }; 353c66ec88fSEmmanuel Vadot 354c66ec88fSEmmanuel Vadot emmc_pins_uhs: emmc-pins-uhs { 355c66ec88fSEmmanuel Vadot mux { 356c66ec88fSEmmanuel Vadot function = "emmc"; 357c66ec88fSEmmanuel Vadot groups = "emmc"; 358c66ec88fSEmmanuel Vadot }; 359c66ec88fSEmmanuel Vadot 360c66ec88fSEmmanuel Vadot conf-cmd-dat { 361c66ec88fSEmmanuel Vadot pins = "NDL0", "NDL1", "NDL2", 362c66ec88fSEmmanuel Vadot "NDL3", "NDL4", "NDL5", 363c66ec88fSEmmanuel Vadot "NDL6", "NDL7", "NRB"; 364c66ec88fSEmmanuel Vadot input-enable; 365c66ec88fSEmmanuel Vadot drive-strength = <4>; 366c66ec88fSEmmanuel Vadot bias-pull-up; 367c66ec88fSEmmanuel Vadot }; 368c66ec88fSEmmanuel Vadot 369c66ec88fSEmmanuel Vadot conf-clk { 370c66ec88fSEmmanuel Vadot pins = "NCLE"; 371c66ec88fSEmmanuel Vadot drive-strength = <4>; 372c66ec88fSEmmanuel Vadot bias-pull-down; 373c66ec88fSEmmanuel Vadot }; 374c66ec88fSEmmanuel Vadot }; 375c66ec88fSEmmanuel Vadot 376c66ec88fSEmmanuel Vadot eth_pins: eth-pins { 377c66ec88fSEmmanuel Vadot mux { 378c66ec88fSEmmanuel Vadot function = "eth"; 379c66ec88fSEmmanuel Vadot groups = "mdc_mdio", "rgmii_via_gmac2"; 380c66ec88fSEmmanuel Vadot }; 381c66ec88fSEmmanuel Vadot }; 382c66ec88fSEmmanuel Vadot 383c66ec88fSEmmanuel Vadot i2c1_pins: i2c1-pins { 384c66ec88fSEmmanuel Vadot mux { 385c66ec88fSEmmanuel Vadot function = "i2c"; 386c66ec88fSEmmanuel Vadot groups = "i2c1_0"; 387c66ec88fSEmmanuel Vadot }; 388c66ec88fSEmmanuel Vadot }; 389c66ec88fSEmmanuel Vadot 390c66ec88fSEmmanuel Vadot i2c2_pins: i2c2-pins { 391c66ec88fSEmmanuel Vadot mux { 392c66ec88fSEmmanuel Vadot function = "i2c"; 393c66ec88fSEmmanuel Vadot groups = "i2c2_0"; 394c66ec88fSEmmanuel Vadot }; 395c66ec88fSEmmanuel Vadot }; 396c66ec88fSEmmanuel Vadot 397c66ec88fSEmmanuel Vadot i2s1_pins: i2s1-pins { 398c66ec88fSEmmanuel Vadot mux { 399c66ec88fSEmmanuel Vadot function = "i2s"; 400c66ec88fSEmmanuel Vadot groups = "i2s_out_mclk_bclk_ws", 401c66ec88fSEmmanuel Vadot "i2s1_in_data", 402c66ec88fSEmmanuel Vadot "i2s1_out_data"; 403c66ec88fSEmmanuel Vadot }; 404c66ec88fSEmmanuel Vadot 405c66ec88fSEmmanuel Vadot conf { 406c66ec88fSEmmanuel Vadot pins = "I2S1_IN", "I2S1_OUT", "I2S_BCLK", 407c66ec88fSEmmanuel Vadot "I2S_WS", "I2S_MCLK"; 408c66ec88fSEmmanuel Vadot drive-strength = <12>; 409c66ec88fSEmmanuel Vadot bias-pull-down; 410c66ec88fSEmmanuel Vadot }; 411c66ec88fSEmmanuel Vadot }; 412c66ec88fSEmmanuel Vadot 413c66ec88fSEmmanuel Vadot irrx_pins: irrx-pins { 414c66ec88fSEmmanuel Vadot mux { 415c66ec88fSEmmanuel Vadot function = "ir"; 416c66ec88fSEmmanuel Vadot groups = "ir_1_rx"; 417c66ec88fSEmmanuel Vadot }; 418c66ec88fSEmmanuel Vadot }; 419c66ec88fSEmmanuel Vadot 420c66ec88fSEmmanuel Vadot irtx_pins: irtx-pins { 421c66ec88fSEmmanuel Vadot mux { 422c66ec88fSEmmanuel Vadot function = "ir"; 423c66ec88fSEmmanuel Vadot groups = "ir_1_tx"; 424c66ec88fSEmmanuel Vadot }; 425c66ec88fSEmmanuel Vadot }; 426c66ec88fSEmmanuel Vadot 427c66ec88fSEmmanuel Vadot /* Parallel nand is shared pin with eMMC */ 428c66ec88fSEmmanuel Vadot parallel_nand_pins: parallel-nand-pins { 429c66ec88fSEmmanuel Vadot mux { 430c66ec88fSEmmanuel Vadot function = "flash"; 431c66ec88fSEmmanuel Vadot groups = "par_nand"; 432c66ec88fSEmmanuel Vadot }; 433c66ec88fSEmmanuel Vadot }; 434c66ec88fSEmmanuel Vadot 435c66ec88fSEmmanuel Vadot pcie0_pins: pcie0-pins { 436c66ec88fSEmmanuel Vadot mux { 437c66ec88fSEmmanuel Vadot function = "pcie"; 438c66ec88fSEmmanuel Vadot groups = "pcie0_pad_perst", 439c66ec88fSEmmanuel Vadot "pcie0_1_waken", 440c66ec88fSEmmanuel Vadot "pcie0_1_clkreq"; 441c66ec88fSEmmanuel Vadot }; 442c66ec88fSEmmanuel Vadot }; 443c66ec88fSEmmanuel Vadot 444c66ec88fSEmmanuel Vadot pcie1_pins: pcie1-pins { 445c66ec88fSEmmanuel Vadot mux { 446c66ec88fSEmmanuel Vadot function = "pcie"; 447c66ec88fSEmmanuel Vadot groups = "pcie1_pad_perst", 448c66ec88fSEmmanuel Vadot "pcie1_0_waken", 449c66ec88fSEmmanuel Vadot "pcie1_0_clkreq"; 450c66ec88fSEmmanuel Vadot }; 451c66ec88fSEmmanuel Vadot }; 452c66ec88fSEmmanuel Vadot 453c66ec88fSEmmanuel Vadot pmic_bus_pins: pmic-bus-pins { 454c66ec88fSEmmanuel Vadot mux { 455c66ec88fSEmmanuel Vadot function = "pmic"; 456c66ec88fSEmmanuel Vadot groups = "pmic_bus"; 457c66ec88fSEmmanuel Vadot }; 458c66ec88fSEmmanuel Vadot }; 459c66ec88fSEmmanuel Vadot 4605def4c47SEmmanuel Vadot pwm_pins: pwm-pins { 461c66ec88fSEmmanuel Vadot mux { 462c66ec88fSEmmanuel Vadot function = "pwm"; 4635def4c47SEmmanuel Vadot groups = "pwm_ch1_0", /* mt7622_pwm_ch1_0_pins[] = { 51, }; */ 4645def4c47SEmmanuel Vadot "pwm_ch2_0", /* mt7622_pwm_ch2_0_pins[] = { 52, }; */ 4655def4c47SEmmanuel Vadot "pwm_ch3_2", /* mt7622_pwm_ch3_2_pins[] = { 97, }; */ 4665def4c47SEmmanuel Vadot "pwm_ch4_1", /* mt7622_pwm_ch4_1_pins[] = { 67, }; */ 4675def4c47SEmmanuel Vadot "pwm_ch5_0", /* mt7622_pwm_ch5_0_pins[] = { 68, }; */ 4685def4c47SEmmanuel Vadot "pwm_ch6_0"; /* mt7622_pwm_ch6_0_pins[] = { 69, }; */ 469c66ec88fSEmmanuel Vadot }; 470c66ec88fSEmmanuel Vadot }; 471c66ec88fSEmmanuel Vadot 472c66ec88fSEmmanuel Vadot wled_pins: wled-pins { 473c66ec88fSEmmanuel Vadot mux { 474c66ec88fSEmmanuel Vadot function = "led"; 475c66ec88fSEmmanuel Vadot groups = "wled"; 476c66ec88fSEmmanuel Vadot }; 477c66ec88fSEmmanuel Vadot }; 478c66ec88fSEmmanuel Vadot 479c66ec88fSEmmanuel Vadot sd0_pins_default: sd0-pins-default { 480c66ec88fSEmmanuel Vadot mux { 481c66ec88fSEmmanuel Vadot function = "sd"; 482c66ec88fSEmmanuel Vadot groups = "sd_0"; 483c66ec88fSEmmanuel Vadot }; 484c66ec88fSEmmanuel Vadot 485c66ec88fSEmmanuel Vadot /* "I2S2_OUT, "I2S4_IN"", "I2S3_IN", "I2S2_IN", 486c66ec88fSEmmanuel Vadot * "I2S4_OUT", "I2S3_OUT" are used as DAT0, DAT1, 487c66ec88fSEmmanuel Vadot * DAT2, DAT3, CMD, CLK for SD respectively. 488c66ec88fSEmmanuel Vadot */ 489c66ec88fSEmmanuel Vadot conf-cmd-data { 490c66ec88fSEmmanuel Vadot pins = "I2S2_OUT", "I2S4_IN", "I2S3_IN", 491c66ec88fSEmmanuel Vadot "I2S2_IN","I2S4_OUT"; 492c66ec88fSEmmanuel Vadot input-enable; 493c66ec88fSEmmanuel Vadot drive-strength = <8>; 494c66ec88fSEmmanuel Vadot bias-pull-up; 495c66ec88fSEmmanuel Vadot }; 496c66ec88fSEmmanuel Vadot conf-clk { 497c66ec88fSEmmanuel Vadot pins = "I2S3_OUT"; 498c66ec88fSEmmanuel Vadot drive-strength = <12>; 499c66ec88fSEmmanuel Vadot bias-pull-down; 500c66ec88fSEmmanuel Vadot }; 501c66ec88fSEmmanuel Vadot conf-cd { 502c66ec88fSEmmanuel Vadot pins = "TXD3"; 503c66ec88fSEmmanuel Vadot bias-pull-up; 504c66ec88fSEmmanuel Vadot }; 505c66ec88fSEmmanuel Vadot }; 506c66ec88fSEmmanuel Vadot 507c66ec88fSEmmanuel Vadot sd0_pins_uhs: sd0-pins-uhs { 508c66ec88fSEmmanuel Vadot mux { 509c66ec88fSEmmanuel Vadot function = "sd"; 510c66ec88fSEmmanuel Vadot groups = "sd_0"; 511c66ec88fSEmmanuel Vadot }; 512c66ec88fSEmmanuel Vadot 513c66ec88fSEmmanuel Vadot conf-cmd-data { 514c66ec88fSEmmanuel Vadot pins = "I2S2_OUT", "I2S4_IN", "I2S3_IN", 515c66ec88fSEmmanuel Vadot "I2S2_IN","I2S4_OUT"; 516c66ec88fSEmmanuel Vadot input-enable; 517c66ec88fSEmmanuel Vadot bias-pull-up; 518c66ec88fSEmmanuel Vadot }; 519c66ec88fSEmmanuel Vadot 520c66ec88fSEmmanuel Vadot conf-clk { 521c66ec88fSEmmanuel Vadot pins = "I2S3_OUT"; 522c66ec88fSEmmanuel Vadot bias-pull-down; 523c66ec88fSEmmanuel Vadot }; 524c66ec88fSEmmanuel Vadot }; 525c66ec88fSEmmanuel Vadot 526c66ec88fSEmmanuel Vadot /* Serial NAND is shared pin with SPI-NOR */ 527c66ec88fSEmmanuel Vadot serial_nand_pins: serial-nand-pins { 528c66ec88fSEmmanuel Vadot mux { 529c66ec88fSEmmanuel Vadot function = "flash"; 530c66ec88fSEmmanuel Vadot groups = "snfi"; 531c66ec88fSEmmanuel Vadot }; 532c66ec88fSEmmanuel Vadot }; 533c66ec88fSEmmanuel Vadot 534c66ec88fSEmmanuel Vadot spic0_pins: spic0-pins { 535c66ec88fSEmmanuel Vadot mux { 536c66ec88fSEmmanuel Vadot function = "spi"; 537c66ec88fSEmmanuel Vadot groups = "spic0_0"; 538c66ec88fSEmmanuel Vadot }; 539c66ec88fSEmmanuel Vadot }; 540c66ec88fSEmmanuel Vadot 541c66ec88fSEmmanuel Vadot spic1_pins: spic1-pins { 542c66ec88fSEmmanuel Vadot mux { 543c66ec88fSEmmanuel Vadot function = "spi"; 544c66ec88fSEmmanuel Vadot groups = "spic1_0"; 545c66ec88fSEmmanuel Vadot }; 546c66ec88fSEmmanuel Vadot }; 547c66ec88fSEmmanuel Vadot 548c66ec88fSEmmanuel Vadot /* SPI-NOR is shared pin with serial NAND */ 549c66ec88fSEmmanuel Vadot spi_nor_pins: spi-nor-pins { 550c66ec88fSEmmanuel Vadot mux { 551c66ec88fSEmmanuel Vadot function = "flash"; 552c66ec88fSEmmanuel Vadot groups = "spi_nor"; 553c66ec88fSEmmanuel Vadot }; 554c66ec88fSEmmanuel Vadot }; 555c66ec88fSEmmanuel Vadot 556c66ec88fSEmmanuel Vadot /* serial NAND is shared pin with SPI-NOR */ 557c66ec88fSEmmanuel Vadot serial_nand_pins: serial-nand-pins { 558c66ec88fSEmmanuel Vadot mux { 559c66ec88fSEmmanuel Vadot function = "flash"; 560c66ec88fSEmmanuel Vadot groups = "snfi"; 561c66ec88fSEmmanuel Vadot }; 562c66ec88fSEmmanuel Vadot }; 563c66ec88fSEmmanuel Vadot 564c66ec88fSEmmanuel Vadot uart0_pins: uart0-pins { 565c66ec88fSEmmanuel Vadot mux { 566c66ec88fSEmmanuel Vadot function = "uart"; 567c66ec88fSEmmanuel Vadot groups = "uart0_0_tx_rx" ; 568c66ec88fSEmmanuel Vadot }; 569c66ec88fSEmmanuel Vadot }; 570c66ec88fSEmmanuel Vadot 571c66ec88fSEmmanuel Vadot uart2_pins: uart2-pins { 572c66ec88fSEmmanuel Vadot mux { 573c66ec88fSEmmanuel Vadot function = "uart"; 574c66ec88fSEmmanuel Vadot groups = "uart2_1_tx_rx" ; 575c66ec88fSEmmanuel Vadot }; 576c66ec88fSEmmanuel Vadot }; 577c66ec88fSEmmanuel Vadot 578c66ec88fSEmmanuel Vadot watchdog_pins: watchdog-pins { 579c66ec88fSEmmanuel Vadot mux { 580c66ec88fSEmmanuel Vadot function = "watchdog"; 581c66ec88fSEmmanuel Vadot groups = "watchdog"; 582c66ec88fSEmmanuel Vadot }; 583c66ec88fSEmmanuel Vadot }; 584c66ec88fSEmmanuel Vadot}; 585c66ec88fSEmmanuel Vadot 586c66ec88fSEmmanuel Vadot&pwm { 587c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 5885def4c47SEmmanuel Vadot pinctrl-0 = <&pwm_pins>; 589c66ec88fSEmmanuel Vadot status = "okay"; 590c66ec88fSEmmanuel Vadot}; 591c66ec88fSEmmanuel Vadot 592c66ec88fSEmmanuel Vadot&pwrap { 593c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 594c66ec88fSEmmanuel Vadot pinctrl-0 = <&pmic_bus_pins>; 595c66ec88fSEmmanuel Vadot 596c66ec88fSEmmanuel Vadot status = "okay"; 597c66ec88fSEmmanuel Vadot}; 598c66ec88fSEmmanuel Vadot 599c66ec88fSEmmanuel Vadot&sata { 600aa1a8ff2SEmmanuel Vadot status = "disabled"; 601c66ec88fSEmmanuel Vadot}; 602c66ec88fSEmmanuel Vadot 603c66ec88fSEmmanuel Vadot&sata_phy { 604aa1a8ff2SEmmanuel Vadot status = "disabled"; 605c66ec88fSEmmanuel Vadot}; 606c66ec88fSEmmanuel Vadot 607c66ec88fSEmmanuel Vadot&spi0 { 608c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 609c66ec88fSEmmanuel Vadot pinctrl-0 = <&spic0_pins>; 610c66ec88fSEmmanuel Vadot status = "okay"; 611c66ec88fSEmmanuel Vadot}; 612c66ec88fSEmmanuel Vadot 613c66ec88fSEmmanuel Vadot&spi1 { 614c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 615c66ec88fSEmmanuel Vadot pinctrl-0 = <&spic1_pins>; 616c66ec88fSEmmanuel Vadot}; 617c66ec88fSEmmanuel Vadot 618c66ec88fSEmmanuel Vadot&ssusb { 619c66ec88fSEmmanuel Vadot vusb33-supply = <®_3p3v>; 620c66ec88fSEmmanuel Vadot vbus-supply = <®_5v>; 621c66ec88fSEmmanuel Vadot status = "okay"; 622c66ec88fSEmmanuel Vadot}; 623c66ec88fSEmmanuel Vadot 624c66ec88fSEmmanuel Vadot&u3phy { 625c66ec88fSEmmanuel Vadot status = "okay"; 626c66ec88fSEmmanuel Vadot}; 627c66ec88fSEmmanuel Vadot 628c66ec88fSEmmanuel Vadot&uart0 { 629c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 630c66ec88fSEmmanuel Vadot pinctrl-0 = <&uart0_pins>; 631c66ec88fSEmmanuel Vadot status = "okay"; 632c66ec88fSEmmanuel Vadot}; 633c66ec88fSEmmanuel Vadot 634c66ec88fSEmmanuel Vadot&uart2 { 635c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 636c66ec88fSEmmanuel Vadot pinctrl-0 = <&uart2_pins>; 637c66ec88fSEmmanuel Vadot}; 638c66ec88fSEmmanuel Vadot 639c66ec88fSEmmanuel Vadot&watchdog { 640c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 641c66ec88fSEmmanuel Vadot pinctrl-0 = <&watchdog_pins>; 642c66ec88fSEmmanuel Vadot status = "okay"; 643c66ec88fSEmmanuel Vadot}; 644c66ec88fSEmmanuel Vadot 645c66ec88fSEmmanuel Vadot&wmac { 646c66ec88fSEmmanuel Vadot status = "okay"; 647c66ec88fSEmmanuel Vadot}; 648