1b9957d2dSJisheng Zhang// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2b9957d2dSJisheng Zhang/* 3b9957d2dSJisheng Zhang * Copyright (C) Jisheng Zhang <jszhang@kernel.org> 4b9957d2dSJisheng Zhang */ 5b9957d2dSJisheng Zhang 6b9957d2dSJisheng Zhang/dts-v1/; 7b9957d2dSJisheng Zhang 8b9957d2dSJisheng Zhang#include "sun50i-h618-longan-module-3h.dtsi" 9b9957d2dSJisheng Zhang 10b9957d2dSJisheng Zhang#include <dt-bindings/gpio/gpio.h> 11b9957d2dSJisheng Zhang#include <dt-bindings/interrupt-controller/arm-gic.h> 12b9957d2dSJisheng Zhang#include <dt-bindings/leds/common.h> 13b9957d2dSJisheng Zhang 14b9957d2dSJisheng Zhang/ { 15b9957d2dSJisheng Zhang model = "Sipeed Longan Pi 3H"; 16b9957d2dSJisheng Zhang compatible = "sipeed,longan-pi-3h", "sipeed,longan-module-3h", "allwinner,sun50i-h618"; 17b9957d2dSJisheng Zhang 18b9957d2dSJisheng Zhang aliases { 19b9957d2dSJisheng Zhang ethernet0 = &emac0; 20b9957d2dSJisheng Zhang serial0 = &uart0; 21b9957d2dSJisheng Zhang }; 22b9957d2dSJisheng Zhang 23b9957d2dSJisheng Zhang chosen { 24b9957d2dSJisheng Zhang stdout-path = "serial0:115200n8"; 25b9957d2dSJisheng Zhang }; 26b9957d2dSJisheng Zhang 27b9957d2dSJisheng Zhang leds { 28b9957d2dSJisheng Zhang compatible = "gpio-leds"; 29b9957d2dSJisheng Zhang 30b9957d2dSJisheng Zhang led-0 { 31b9957d2dSJisheng Zhang color = <LED_COLOR_ID_ORANGE>; 32b9957d2dSJisheng Zhang function = LED_FUNCTION_INDICATOR; 33b9957d2dSJisheng Zhang function-enumerator = <0>; 34b9957d2dSJisheng Zhang gpios = <&pio 6 2 GPIO_ACTIVE_LOW>; /* PG2 */ 35b9957d2dSJisheng Zhang }; 36b9957d2dSJisheng Zhang 37b9957d2dSJisheng Zhang led-1 { 38b9957d2dSJisheng Zhang color = <LED_COLOR_ID_ORANGE>; 39b9957d2dSJisheng Zhang function = LED_FUNCTION_INDICATOR; 40b9957d2dSJisheng Zhang function-enumerator = <1>; 41b9957d2dSJisheng Zhang gpios = <&pio 6 4 GPIO_ACTIVE_LOW>; /* PG4 */ 42b9957d2dSJisheng Zhang }; 43b9957d2dSJisheng Zhang }; 44b9957d2dSJisheng Zhang 45b9957d2dSJisheng Zhang reg_vcc5v: regulator-vcc5v { 46b9957d2dSJisheng Zhang /* board wide 5V supply directly from the USB-C socket */ 47b9957d2dSJisheng Zhang compatible = "regulator-fixed"; 48b9957d2dSJisheng Zhang regulator-name = "vcc-5v"; 49b9957d2dSJisheng Zhang regulator-min-microvolt = <5000000>; 50b9957d2dSJisheng Zhang regulator-max-microvolt = <5000000>; 51b9957d2dSJisheng Zhang regulator-always-on; 52b9957d2dSJisheng Zhang }; 53b9957d2dSJisheng Zhang 54b9957d2dSJisheng Zhang reg_vcc3v3: regulator-vcc3v3 { 55b9957d2dSJisheng Zhang compatible = "regulator-fixed"; 56b9957d2dSJisheng Zhang regulator-name = "vcc-3v3"; 57b9957d2dSJisheng Zhang regulator-min-microvolt = <3300000>; 58b9957d2dSJisheng Zhang regulator-max-microvolt = <3300000>; 59b9957d2dSJisheng Zhang regulator-always-on; 60b9957d2dSJisheng Zhang vin-supply = <®_vcc5v>; 61b9957d2dSJisheng Zhang }; 62b9957d2dSJisheng Zhang}; 63b9957d2dSJisheng Zhang 64b9957d2dSJisheng Zhang&axp313 { 65b9957d2dSJisheng Zhang vin1-supply = <®_vcc5v>; 66b9957d2dSJisheng Zhang vin2-supply = <®_vcc5v>; 67b9957d2dSJisheng Zhang vin3-supply = <®_vcc5v>; 68b9957d2dSJisheng Zhang}; 69b9957d2dSJisheng Zhang 70b9957d2dSJisheng Zhang&ehci1 { 71b9957d2dSJisheng Zhang status = "okay"; 72b9957d2dSJisheng Zhang}; 73b9957d2dSJisheng Zhang 74b9957d2dSJisheng Zhang&ohci1 { 75b9957d2dSJisheng Zhang status = "okay"; 76b9957d2dSJisheng Zhang}; 77b9957d2dSJisheng Zhang 78b9957d2dSJisheng Zhang&ehci2 { 79b9957d2dSJisheng Zhang status = "okay"; 80b9957d2dSJisheng Zhang}; 81b9957d2dSJisheng Zhang 82b9957d2dSJisheng Zhang&ohci2 { 83b9957d2dSJisheng Zhang status = "okay"; 84b9957d2dSJisheng Zhang}; 85b9957d2dSJisheng Zhang 86b9957d2dSJisheng Zhang/* WiFi & BT combo module is connected to this Host */ 87b9957d2dSJisheng Zhang&ehci3 { 88b9957d2dSJisheng Zhang status = "okay"; 89b9957d2dSJisheng Zhang}; 90b9957d2dSJisheng Zhang 91b9957d2dSJisheng Zhang&ohci3 { 92b9957d2dSJisheng Zhang status = "okay"; 93b9957d2dSJisheng Zhang}; 94b9957d2dSJisheng Zhang 95b9957d2dSJisheng Zhang&emac0 { 96b9957d2dSJisheng Zhang pinctrl-names = "default"; 97b9957d2dSJisheng Zhang pinctrl-0 = <&ext_rgmii_pins>; 98b9957d2dSJisheng Zhang phy-mode = "rgmii"; 99b9957d2dSJisheng Zhang phy-handle = <&ext_rgmii_phy>; 100b9957d2dSJisheng Zhang allwinner,rx-delay-ps = <3100>; 101b9957d2dSJisheng Zhang allwinner,tx-delay-ps = <700>; 102b9957d2dSJisheng Zhang phy-supply = <®_vcc3v3>; 103b9957d2dSJisheng Zhang status = "okay"; 104b9957d2dSJisheng Zhang}; 105b9957d2dSJisheng Zhang 106b9957d2dSJisheng Zhang&mdio0 { 107b9957d2dSJisheng Zhang ext_rgmii_phy: ethernet-phy@1 { 108b9957d2dSJisheng Zhang compatible = "ethernet-phy-ieee802.3-c22"; 109b9957d2dSJisheng Zhang reg = <1>; 110b9957d2dSJisheng Zhang }; 111b9957d2dSJisheng Zhang}; 112b9957d2dSJisheng Zhang 113b9957d2dSJisheng Zhang&mmc0 { 114*aee2eca8SKryštof Černý disable-wp; 115b9957d2dSJisheng Zhang bus-width = <4>; 116b9957d2dSJisheng Zhang cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ 117b9957d2dSJisheng Zhang vmmc-supply = <®_vcc3v3>; 118b9957d2dSJisheng Zhang status = "okay"; 119b9957d2dSJisheng Zhang}; 120b9957d2dSJisheng Zhang 121b9957d2dSJisheng Zhang&uart0 { 122b9957d2dSJisheng Zhang status = "okay"; 123b9957d2dSJisheng Zhang}; 124b9957d2dSJisheng Zhang 125b9957d2dSJisheng Zhang&usbotg { 126b9957d2dSJisheng Zhang /* 127b9957d2dSJisheng Zhang * PHY0 pins are connected to a USB-C socket, but a role switch 128b9957d2dSJisheng Zhang * is not implemented: both CC pins are pulled to GND. 129b9957d2dSJisheng Zhang * The VBUS pins power the device, so a fixed peripheral mode 130b9957d2dSJisheng Zhang * is the best choice. 131b9957d2dSJisheng Zhang * The board can be powered via GPIOs, in this case port0 *can* 132b9957d2dSJisheng Zhang * act as a host (with a cable/adapter ignoring CC), as VBUS is 133b9957d2dSJisheng Zhang * then provided by the GPIOs. Any user of this setup would 134b9957d2dSJisheng Zhang * need to adjust the DT accordingly: dr_mode set to "host", 135b9957d2dSJisheng Zhang * enabling OHCI0 and EHCI0. 136b9957d2dSJisheng Zhang */ 137b9957d2dSJisheng Zhang dr_mode = "peripheral"; 138b9957d2dSJisheng Zhang status = "okay"; 139b9957d2dSJisheng Zhang}; 140b9957d2dSJisheng Zhang 141b9957d2dSJisheng Zhang&usbphy { 142b9957d2dSJisheng Zhang usb1_vbus-supply = <®_vcc5v>; 143b9957d2dSJisheng Zhang usb2_vbus-supply = <®_vcc5v>; 144b9957d2dSJisheng Zhang status = "okay"; 145b9957d2dSJisheng Zhang}; 146