1d84982dbSRyder Lee/* 2d84982dbSRyder Lee * Copyright (C) 2018 MediaTek Inc. 3d84982dbSRyder Lee * Author: Ryder Lee <ryder.lee@mediatek.com> 4d84982dbSRyder Lee * 5d84982dbSRyder Lee * SPDX-License-Identifier: (GPL-2.0 OR MIT) 6d84982dbSRyder Lee */ 7d84982dbSRyder Lee 8d84982dbSRyder Lee/dts-v1/; 9d84982dbSRyder Lee#include "mt7623.dtsi" 10d84982dbSRyder Lee 11d84982dbSRyder Lee/ { 12d84982dbSRyder Lee model = "Bananapi BPI-R2"; 13d84982dbSRyder Lee compatible = "bananapi,bpi-r2", "mediatek,mt7623"; 14d84982dbSRyder Lee 15d84982dbSRyder Lee chosen { 16d84982dbSRyder Lee stdout-path = &uart2; 17d84982dbSRyder Lee tick-timer = &timer0; 18d84982dbSRyder Lee }; 19d84982dbSRyder Lee 20d84982dbSRyder Lee reg_1p8v: regulator-1p8v { 21d84982dbSRyder Lee compatible = "regulator-fixed"; 22d84982dbSRyder Lee regulator-name = "fixed-1.8V"; 23d84982dbSRyder Lee regulator-min-microvolt = <1800000>; 24d84982dbSRyder Lee regulator-max-microvolt = <1800000>; 25d84982dbSRyder Lee regulator-boot-on; 26d84982dbSRyder Lee regulator-always-on; 27d84982dbSRyder Lee }; 28d84982dbSRyder Lee 29d84982dbSRyder Lee reg_3p3v: regulator-3p3v { 30d84982dbSRyder Lee compatible = "regulator-fixed"; 31d84982dbSRyder Lee regulator-name = "fixed-3.3V"; 32d84982dbSRyder Lee regulator-min-microvolt = <3300000>; 33d84982dbSRyder Lee regulator-max-microvolt = <3300000>; 34d84982dbSRyder Lee regulator-boot-on; 35d84982dbSRyder Lee regulator-always-on; 36d84982dbSRyder Lee }; 37d84982dbSRyder Lee 38d84982dbSRyder Lee reg_5v: regulator-5v { 39d84982dbSRyder Lee compatible = "regulator-fixed"; 40d84982dbSRyder Lee regulator-name = "fixed-5V"; 41d84982dbSRyder Lee regulator-min-microvolt = <5000000>; 42d84982dbSRyder Lee regulator-max-microvolt = <5000000>; 43d84982dbSRyder Lee regulator-boot-on; 44d84982dbSRyder Lee regulator-always-on; 45d84982dbSRyder Lee }; 46d84982dbSRyder Lee 47d84982dbSRyder Lee leds { 48d84982dbSRyder Lee compatible = "gpio-leds"; 49d84982dbSRyder Lee 50d84982dbSRyder Lee blue { 51d84982dbSRyder Lee label = "bpi-r2:pio:blue"; 52d84982dbSRyder Lee gpios = <&gpio 241 GPIO_ACTIVE_HIGH>; 53d84982dbSRyder Lee default-state = "off"; 54d84982dbSRyder Lee }; 55d84982dbSRyder Lee 56d84982dbSRyder Lee green { 57d84982dbSRyder Lee label = "bpi-r2:pio:green"; 58d84982dbSRyder Lee gpios = <&gpio 240 GPIO_ACTIVE_HIGH>; 59d84982dbSRyder Lee default-state = "off"; 60d84982dbSRyder Lee }; 61d84982dbSRyder Lee 62d84982dbSRyder Lee red { 63d84982dbSRyder Lee label = "bpi-r2:pio:red"; 64d84982dbSRyder Lee gpios = <&gpio 239 GPIO_ACTIVE_HIGH>; 65d84982dbSRyder Lee default-state = "off"; 66d84982dbSRyder Lee }; 67d84982dbSRyder Lee }; 68d84982dbSRyder Lee}; 69d84982dbSRyder Lee 70*d9506a6fSWeijie Gaoð { 71*d9506a6fSWeijie Gao status = "okay"; 72*d9506a6fSWeijie Gao mediatek,gmac-id = <0>; 73*d9506a6fSWeijie Gao phy-mode = "rgmii"; 74*d9506a6fSWeijie Gao mediatek,switch = "mt7530"; 75*d9506a6fSWeijie Gao reset-gpios = <&gpio 33 GPIO_ACTIVE_HIGH>; 76*d9506a6fSWeijie Gao 77*d9506a6fSWeijie Gao fixed-link { 78*d9506a6fSWeijie Gao speed = <1000>; 79*d9506a6fSWeijie Gao full-duplex; 80*d9506a6fSWeijie Gao }; 81*d9506a6fSWeijie Gao}; 82*d9506a6fSWeijie Gao 83d84982dbSRyder Lee&mmc0 { 84d84982dbSRyder Lee pinctrl-names = "default"; 85d84982dbSRyder Lee pinctrl-0 = <&mmc0_pins_default>; 86d84982dbSRyder Lee status = "okay"; 87d84982dbSRyder Lee bus-width = <8>; 88d84982dbSRyder Lee max-frequency = <50000000>; 89d84982dbSRyder Lee cap-mmc-highspeed; 90d84982dbSRyder Lee vmmc-supply = <®_3p3v>; 91d84982dbSRyder Lee vqmmc-supply = <®_1p8v>; 92d84982dbSRyder Lee non-removable; 93d84982dbSRyder Lee}; 94d84982dbSRyder Lee 95d84982dbSRyder Lee&mmc1 { 96d84982dbSRyder Lee pinctrl-names = "default"; 97d84982dbSRyder Lee pinctrl-0 = <&mmc1_pins_default>; 98d84982dbSRyder Lee status = "okay"; 99d84982dbSRyder Lee bus-width = <4>; 100d84982dbSRyder Lee max-frequency = <50000000>; 101d84982dbSRyder Lee cap-sd-highspeed; 102d84982dbSRyder Lee cd-gpios = <&gpio 261 GPIO_ACTIVE_LOW>; 103d84982dbSRyder Lee vmmc-supply = <®_3p3v>; 104d84982dbSRyder Lee vqmmc-supply = <®_3p3v>; 105d84982dbSRyder Lee}; 106d84982dbSRyder Lee 107d84982dbSRyder Lee&pinctrl { 108d84982dbSRyder Lee ephy_default: ephy_default { 109d84982dbSRyder Lee mux { 110d84982dbSRyder Lee function = "eth"; 111d84982dbSRyder Lee groups = "mdc_mdio", "ephy"; 112d84982dbSRyder Lee }; 113d84982dbSRyder Lee 114d84982dbSRyder Lee conf { 115d84982dbSRyder Lee pins = "G2_TXEN", "G2_TXD0", "G2_TXD1", "G2_TXD2", 116d84982dbSRyder Lee "G2_TXD3", "G2_TXC", "G2_RXC", "G2_RXD0", 117d84982dbSRyder Lee "G2_RXD1", "G2_RXD2", "G2_RXD3", "G2_RXDV", 118d84982dbSRyder Lee "MDC", "MDIO"; 119d84982dbSRyder Lee drive-strength = <12>; 120d84982dbSRyder Lee mediatek,tdsel = <5>; 121d84982dbSRyder Lee }; 122d84982dbSRyder Lee }; 123d84982dbSRyder Lee 124d84982dbSRyder Lee mmc0_pins_default: mmc0default { 125d84982dbSRyder Lee mux { 126d84982dbSRyder Lee function = "msdc"; 127d84982dbSRyder Lee groups = "msdc0"; 128d84982dbSRyder Lee }; 129d84982dbSRyder Lee 130d84982dbSRyder Lee conf-cmd-data { 131d84982dbSRyder Lee pins = "MSDC0_CMD", "MSDC0_DAT0", "MSDC0_DAT1", 132d84982dbSRyder Lee "MSDC0_DAT2", "MSDC0_DAT3", "MSDC0_DAT4", 133d84982dbSRyder Lee "MSDC0_DAT5", "MSDC0_DAT6", "MSDC0_DAT7"; 134d84982dbSRyder Lee input-enable; 135d84982dbSRyder Lee bias-pull-up; 136d84982dbSRyder Lee }; 137d84982dbSRyder Lee 138d84982dbSRyder Lee conf-clk { 139d84982dbSRyder Lee pins = "MSDC0_CLK"; 140d84982dbSRyder Lee bias-pull-down; 141d84982dbSRyder Lee }; 142d84982dbSRyder Lee 143d84982dbSRyder Lee conf-rst { 144d84982dbSRyder Lee pins = "MSDC0_RSTB"; 145d84982dbSRyder Lee bias-pull-up; 146d84982dbSRyder Lee }; 147d84982dbSRyder Lee }; 148d84982dbSRyder Lee 149d84982dbSRyder Lee mmc1_pins_default: mmc1default { 150d84982dbSRyder Lee mux { 151d84982dbSRyder Lee function = "msdc"; 152d84982dbSRyder Lee groups = "msdc1", "msdc1_wp_0"; 153d84982dbSRyder Lee }; 154d84982dbSRyder Lee 155d84982dbSRyder Lee conf-cmd-data { 156d84982dbSRyder Lee pins = "MSDC1_DAT0", "MSDC1_DAT1", "MSDC1_DAT2", 157d84982dbSRyder Lee "MSDC1_DAT3", "MSDC1_DAT3", "MSDC1_CMD"; 158d84982dbSRyder Lee input-enable; 159d84982dbSRyder Lee drive-strength = <4>; 160d84982dbSRyder Lee bias-pull-up; 161d84982dbSRyder Lee }; 162d84982dbSRyder Lee 163d84982dbSRyder Lee conf-clk { 164d84982dbSRyder Lee pins = "MSDC1_CLK"; 165d84982dbSRyder Lee drive-strength = <4>; 166d84982dbSRyder Lee }; 167d84982dbSRyder Lee 168d84982dbSRyder Lee conf-wp { 169d84982dbSRyder Lee pins = "EINT7"; 170d84982dbSRyder Lee input-enable; 171d84982dbSRyder Lee bias-pull-up; 172d84982dbSRyder Lee }; 173d84982dbSRyder Lee }; 174d84982dbSRyder Lee 175d84982dbSRyder Lee uart0_pins_a: uart0-default { 176d84982dbSRyder Lee mux { 177d84982dbSRyder Lee function = "uart"; 178d84982dbSRyder Lee groups = "uart0_0_txd_rxd"; 179d84982dbSRyder Lee }; 180d84982dbSRyder Lee }; 181d84982dbSRyder Lee 182d84982dbSRyder Lee uart1_pins_a: uart1-default { 183d84982dbSRyder Lee mux { 184d84982dbSRyder Lee function = "uart"; 185d84982dbSRyder Lee groups = "uart1_0_txd_rxd"; 186d84982dbSRyder Lee }; 187d84982dbSRyder Lee }; 188d84982dbSRyder Lee 189d84982dbSRyder Lee uart2_pins_a: uart2-default { 190d84982dbSRyder Lee mux { 191d84982dbSRyder Lee function = "uart"; 192d84982dbSRyder Lee groups = "uart2_0_txd_rxd"; 193d84982dbSRyder Lee }; 194d84982dbSRyder Lee }; 195d84982dbSRyder Lee 196d84982dbSRyder Lee uart2_pins_b: uart2-alt { 197d84982dbSRyder Lee mux { 198d84982dbSRyder Lee function = "uart"; 199d84982dbSRyder Lee groups = "uart2_1_txd_rxd"; 200d84982dbSRyder Lee }; 201d84982dbSRyder Lee }; 202d84982dbSRyder Lee}; 203d84982dbSRyder Lee 204d84982dbSRyder Lee&uart0 { 205d84982dbSRyder Lee pinctrl-names = "default"; 206d84982dbSRyder Lee pinctrl-0 = <&uart0_pins_a>; 207d84982dbSRyder Lee status = "okay"; 208d84982dbSRyder Lee}; 209d84982dbSRyder Lee 210d84982dbSRyder Lee&uart1 { 211d84982dbSRyder Lee pinctrl-names = "default"; 212d84982dbSRyder Lee pinctrl-0 = <&uart1_pins_a>; 213d84982dbSRyder Lee status = "okay"; 214d84982dbSRyder Lee}; 215d84982dbSRyder Lee 216d84982dbSRyder Lee&uart2 { 217d84982dbSRyder Lee pinctrl-names = "default"; 218d84982dbSRyder Lee pinctrl-0 = <&uart2_pins_a>; 219d84982dbSRyder Lee status = "okay"; 220d84982dbSRyder Lee}; 221