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