| /* |
| * Copyright 2017-2018 Sean Wang <sean.wang@mediatek.com> |
| * |
| * SPDX-License-Identifier: (GPL-2.0+ OR MIT) |
| */ |
| |
| /dts-v1/; |
| #include <dt-bindings/input/input.h> |
| #include "mt7623n.dtsi" |
| #include "mt6323.dtsi" |
| |
| / { |
| model = "Bananapi BPI-R2"; |
| compatible = "bananapi,bpi-r2", "mediatek,mt7623"; |
| |
| aliases { |
| serial2 = &uart2; |
| }; |
| |
| chosen { |
| stdout-path = "serial2:115200n8"; |
| }; |
| |
| connector { |
| compatible = "hdmi-connector"; |
| label = "hdmi"; |
| type = "d"; |
| ddc-i2c-bus = <&hdmiddc0>; |
| |
| port { |
| hdmi_connector_in: endpoint { |
| remote-endpoint = <&hdmi0_out>; |
| }; |
| }; |
| }; |
| |
| cpus { |
| cpu@0 { |
| proc-supply = <&mt6323_vproc_reg>; |
| }; |
| |
| cpu@1 { |
| proc-supply = <&mt6323_vproc_reg>; |
| }; |
| |
| cpu@2 { |
| proc-supply = <&mt6323_vproc_reg>; |
| }; |
| |
| cpu@3 { |
| proc-supply = <&mt6323_vproc_reg>; |
| }; |
| }; |
| |
| reg_1p8v: regulator-1p8v { |
| compatible = "regulator-fixed"; |
| regulator-name = "fixed-1.8V"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-boot-on; |
| regulator-always-on; |
| }; |
| |
| reg_3p3v: regulator-3p3v { |
| compatible = "regulator-fixed"; |
| regulator-name = "fixed-3.3V"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-boot-on; |
| regulator-always-on; |
| }; |
| |
| reg_5v: regulator-5v { |
| compatible = "regulator-fixed"; |
| regulator-name = "fixed-5V"; |
| regulator-min-microvolt = <5000000>; |
| regulator-max-microvolt = <5000000>; |
| regulator-boot-on; |
| regulator-always-on; |
| }; |
| |
| reg_vgpu: fixedregulator@0 { |
| compatible = "regulator-fixed"; |
| regulator-name = "vdd_fixed_vgpu"; |
| regulator-min-microvolt = <1150000>; |
| regulator-max-microvolt = <1150000>; |
| }; |
| |
| gpio-keys { |
| compatible = "gpio-keys"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&key_pins_a>; |
| |
| button-factory { |
| label = "factory"; |
| linux,code = <BTN_0>; |
| gpios = <&pio 256 GPIO_ACTIVE_LOW>; |
| }; |
| |
| button-wps { |
| label = "wps"; |
| linux,code = <KEY_WPS_BUTTON>; |
| gpios = <&pio 257 GPIO_ACTIVE_HIGH>; |
| }; |
| }; |
| |
| leds { |
| compatible = "gpio-leds"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&led_pins_a>; |
| |
| blue { |
| label = "bpi-r2:pio:blue"; |
| gpios = <&pio 240 GPIO_ACTIVE_LOW>; |
| default-state = "off"; |
| }; |
| |
| green { |
| label = "bpi-r2:pio:green"; |
| gpios = <&pio 241 GPIO_ACTIVE_LOW>; |
| default-state = "off"; |
| }; |
| |
| red { |
| label = "bpi-r2:pio:red"; |
| gpios = <&pio 239 GPIO_ACTIVE_LOW>; |
| default-state = "off"; |
| }; |
| }; |
| |
| memory@80000000 { |
| device_type = "memory"; |
| reg = <0 0x80000000 0 0x80000000>; |
| }; |
| }; |
| |
| &bls { |
| status = "okay"; |
| }; |
| |
| &btif { |
| status = "okay"; |
| }; |
| |
| &cec { |
| status = "okay"; |
| }; |
| |
| &cir { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&cir_pins_a>; |
| status = "okay"; |
| }; |
| |
| &crypto { |
| status = "okay"; |
| }; |
| |
| &dpi0 { |
| status = "okay"; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| port@0 { |
| reg = <0>; |
| dpi0_out: endpoint { |
| remote-endpoint = <&hdmi0_in>; |
| }; |
| }; |
| }; |
| }; |
| |
| &gmac0 { |
| status = "okay"; |
| phy-mode = "trgmii"; |
| |
| fixed-link { |
| speed = <1000>; |
| full-duplex; |
| pause; |
| }; |
| }; |
| |
| &gmac1 { |
| status = "okay"; |
| phy-mode = "rgmii"; |
| |
| fixed-link { |
| speed = <1000>; |
| full-duplex; |
| pause; |
| }; |
| }; |
| |
| ð { |
| status = "okay"; |
| |
| mdio-bus { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| switch@1f { |
| compatible = "mediatek,mt7530"; |
| reg = <0x1f>; |
| reset-gpios = <&pio 33 0>; |
| core-supply = <&mt6323_vpa_reg>; |
| io-supply = <&mt6323_vemc3v3_reg>; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| port@0 { |
| reg = <0>; |
| label = "wan"; |
| }; |
| |
| port@1 { |
| reg = <1>; |
| label = "lan0"; |
| }; |
| |
| port@2 { |
| reg = <2>; |
| label = "lan1"; |
| }; |
| |
| port@3 { |
| reg = <3>; |
| label = "lan2"; |
| }; |
| |
| port@4 { |
| reg = <4>; |
| label = "lan3"; |
| }; |
| |
| port@5 { |
| reg = <5>; |
| label = "cpu"; |
| ethernet = <&gmac1>; |
| phy-mode = "rgmii"; |
| |
| fixed-link { |
| speed = <1000>; |
| full-duplex; |
| pause; |
| }; |
| }; |
| |
| port@6 { |
| reg = <6>; |
| label = "cpu"; |
| ethernet = <&gmac0>; |
| phy-mode = "trgmii"; |
| |
| fixed-link { |
| speed = <1000>; |
| full-duplex; |
| pause; |
| }; |
| }; |
| }; |
| }; |
| }; |
| }; |
| |
| &hdmi0 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hdmi_pins_a>; |
| status = "okay"; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| port@0 { |
| reg = <0>; |
| hdmi0_in: endpoint { |
| remote-endpoint = <&dpi0_out>; |
| }; |
| }; |
| |
| port@1 { |
| reg = <1>; |
| hdmi0_out: endpoint { |
| remote-endpoint = <&hdmi_connector_in>; |
| }; |
| }; |
| }; |
| }; |
| |
| &hdmiddc0 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hdmi_ddc_pins_a>; |
| status = "okay"; |
| }; |
| |
| &hdmi_phy { |
| mediatek,ibias = <0xa>; |
| mediatek,ibias_up = <0x1c>; |
| status = "okay"; |
| }; |
| |
| &i2c0 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&i2c0_pins_a>; |
| status = "okay"; |
| }; |
| |
| &i2c1 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&i2c1_pins_a>; |
| status = "okay"; |
| }; |
| |
| &mali { |
| mali-supply = <®_vgpu>; |
| status = "okay"; |
| }; |
| |
| &mmc0 { |
| pinctrl-names = "default", "state_uhs"; |
| pinctrl-0 = <&mmc0_pins_default>; |
| pinctrl-1 = <&mmc0_pins_uhs>; |
| status = "okay"; |
| bus-width = <8>; |
| max-frequency = <50000000>; |
| cap-mmc-highspeed; |
| vmmc-supply = <®_3p3v>; |
| vqmmc-supply = <®_1p8v>; |
| non-removable; |
| }; |
| |
| &mmc1 { |
| pinctrl-names = "default", "state_uhs"; |
| pinctrl-0 = <&mmc1_pins_default>; |
| pinctrl-1 = <&mmc1_pins_uhs>; |
| status = "okay"; |
| bus-width = <4>; |
| max-frequency = <50000000>; |
| cap-sd-highspeed; |
| cd-gpios = <&pio 261 GPIO_ACTIVE_LOW>; |
| vmmc-supply = <®_3p3v>; |
| vqmmc-supply = <®_3p3v>; |
| }; |
| |
| &mt6323keys { |
| home { |
| status = "disabled"; |
| }; |
| }; |
| |
| &mt6323_leds { |
| status = "okay"; |
| |
| led@0 { |
| reg = <0>; |
| label = "bpi-r2:isink:green"; |
| default-state = "off"; |
| }; |
| |
| led@1 { |
| reg = <1>; |
| label = "bpi-r2:isink:red"; |
| default-state = "off"; |
| }; |
| |
| led@2 { |
| reg = <2>; |
| label = "bpi-r2:isink:blue"; |
| default-state = "off"; |
| }; |
| }; |
| |
| &pcie { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pcie_default>; |
| status = "okay"; |
| |
| pcie@0,0 { |
| status = "okay"; |
| }; |
| |
| pcie@1,0 { |
| status = "okay"; |
| }; |
| }; |
| |
| &pcie0_phy { |
| status = "okay"; |
| }; |
| |
| &pcie1_phy { |
| status = "okay"; |
| }; |
| |
| &pio { |
| musb_pins: musb { |
| pins-musb { |
| pinmux = <MT7623_PIN_237_EXT_SDIO2_FUNC_DRV_VBUS>; |
| }; |
| }; |
| }; |
| |
| &pwm { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pwm_pins_a>; |
| status = "okay"; |
| }; |
| |
| &spi0 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi0_pins_a>; |
| status = "okay"; |
| }; |
| |
| &uart0 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart0_pins_a>; |
| status = "okay"; |
| }; |
| |
| &uart1 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart1_pins_a>; |
| status = "okay"; |
| }; |
| |
| &uart2 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart2_pins_a>; |
| status = "okay"; |
| }; |
| |
| &usb0 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&musb_pins>; |
| status = "okay"; |
| usb-role-switch; |
| |
| connector { |
| compatible = "gpio-usb-b-connector", "usb-b-connector"; |
| type = "micro"; |
| id-gpios = <&pio 44 GPIO_ACTIVE_HIGH>; |
| }; |
| }; |
| |
| &usb1 { |
| vusb33-supply = <®_3p3v>; |
| vbus-supply = <®_5v>; |
| status = "okay"; |
| }; |
| |
| &usb2 { |
| vusb33-supply = <®_3p3v>; |
| vbus-supply = <®_5v>; |
| status = "okay"; |
| }; |
| |
| &u2phy1 { |
| status = "okay"; |
| }; |
| |
| &u3phy1 { |
| status = "okay"; |
| }; |
| |
| &u3phy2 { |
| status = "okay"; |
| }; |