| // SPDX-License-Identifier: (GPL-2.0+ OR MIT) |
| /* |
| * Copyright (C) 2021 Chukun Pan <amadeus@jmu.edu.cn> |
| * |
| * Based on sun50i-h5-nanopi-neo-plus2.dts, which is: |
| * Copyright (C) 2017 Antony Antony <antony@phenome.org> |
| * Copyright (C) 2016 ARM Ltd. |
| */ |
| |
| /dts-v1/; |
| #include "sun50i-h5.dtsi" |
| #include "sun50i-h5-cpu-opp.dtsi" |
| |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/input/input.h> |
| #include <dt-bindings/leds/common.h> |
| |
| / { |
| model = "FriendlyARM NanoPi R1S H5"; |
| compatible = "friendlyarm,nanopi-r1s-h5", "allwinner,sun50i-h5"; |
| |
| aliases { |
| ethernet0 = &emac; |
| ethernet1 = &rtl8189etv; |
| serial0 = &uart0; |
| }; |
| |
| chosen { |
| stdout-path = "serial0:115200n8"; |
| }; |
| |
| leds { |
| compatible = "gpio-leds"; |
| |
| led-0 { |
| function = LED_FUNCTION_LAN; |
| color = <LED_COLOR_ID_GREEN>; |
| gpios = <&pio 0 9 GPIO_ACTIVE_HIGH>; |
| }; |
| |
| led-1 { |
| function = LED_FUNCTION_STATUS; |
| color = <LED_COLOR_ID_RED>; |
| gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>; |
| linux,default-trigger = "heartbeat"; |
| }; |
| |
| led-2 { |
| function = LED_FUNCTION_WAN; |
| color = <LED_COLOR_ID_GREEN>; |
| gpios = <&pio 6 11 GPIO_ACTIVE_HIGH>; |
| }; |
| }; |
| |
| r-gpio-keys { |
| compatible = "gpio-keys"; |
| |
| reset { |
| label = "reset"; |
| linux,code = <KEY_RESTART>; |
| gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; |
| }; |
| }; |
| |
| reg_gmac_3v3: gmac-3v3 { |
| compatible = "regulator-fixed"; |
| regulator-name = "gmac-3v3"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| startup-delay-us = <100000>; |
| enable-active-high; |
| gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; |
| }; |
| |
| reg_vcc3v3: vcc3v3 { |
| compatible = "regulator-fixed"; |
| regulator-name = "vcc3v3"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| }; |
| |
| reg_usb0_vbus: usb0-vbus { |
| compatible = "regulator-fixed"; |
| regulator-name = "usb0-vbus"; |
| regulator-min-microvolt = <5000000>; |
| regulator-max-microvolt = <5000000>; |
| enable-active-high; |
| gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */ |
| status = "okay"; |
| }; |
| |
| vdd_cpux: gpio-regulator { |
| compatible = "regulator-gpio"; |
| regulator-name = "vdd-cpux"; |
| regulator-type = "voltage"; |
| regulator-boot-on; |
| regulator-always-on; |
| regulator-min-microvolt = <1100000>; |
| regulator-max-microvolt = <1300000>; |
| regulator-ramp-delay = <50>; /* 4ms */ |
| gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; |
| gpios-states = <0x1>; |
| states = <1100000 0x0>, <1300000 0x1>; |
| }; |
| |
| wifi_pwrseq: wifi_pwrseq { |
| compatible = "mmc-pwrseq-simple"; |
| reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */ |
| post-power-on-delay-ms = <200>; |
| }; |
| }; |
| |
| &cpu0 { |
| cpu-supply = <&vdd_cpux>; |
| }; |
| |
| &ehci1 { |
| status = "okay"; |
| }; |
| |
| &ehci2 { |
| status = "okay"; |
| }; |
| |
| &emac { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&emac_rgmii_pins>; |
| phy-supply = <®_gmac_3v3>; |
| phy-handle = <&ext_rgmii_phy>; |
| phy-mode = "rgmii-id"; |
| status = "okay"; |
| }; |
| |
| &external_mdio { |
| ext_rgmii_phy: ethernet-phy@7 { |
| compatible = "ethernet-phy-ieee802.3-c22"; |
| reg = <7>; |
| }; |
| }; |
| |
| &i2c0 { |
| status = "okay"; |
| |
| eeprom@51 { |
| compatible = "microchip,24c02", "atmel,24c02"; |
| reg = <0x51>; |
| pagesize = <16>; |
| read-only; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| eth_mac1: mac-address@fa { |
| reg = <0xfa 0x06>; |
| }; |
| }; |
| }; |
| |
| &mmc0 { |
| vmmc-supply = <®_vcc3v3>; |
| bus-width = <4>; |
| cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ |
| status = "okay"; |
| }; |
| |
| &mmc1 { |
| vmmc-supply = <®_vcc3v3>; |
| vqmmc-supply = <®_vcc3v3>; |
| mmc-pwrseq = <&wifi_pwrseq>; |
| bus-width = <4>; |
| non-removable; |
| status = "okay"; |
| |
| rtl8189etv: sdio_wifi@1 { |
| reg = <1>; |
| }; |
| }; |
| |
| &ohci1 { |
| status = "okay"; |
| }; |
| |
| &ohci2 { |
| status = "okay"; |
| }; |
| |
| &uart0 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart0_pa_pins>; |
| status = "okay"; |
| }; |
| |
| &usb_otg { |
| dr_mode = "peripheral"; |
| status = "okay"; |
| }; |
| |
| &usbphy { |
| /* USB Type-A port's VBUS is always on */ |
| usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */ |
| usb0_vbus-supply = <®_usb0_vbus>; |
| status = "okay"; |
| }; |