// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (C) Jisheng Zhang <jszhang@kernel.org>
 */

/dts-v1/;

#include "sun50i-h618-longan-module-3h.dtsi"

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/leds/common.h>

/ {
	model = "Sipeed Longan Pi 3H";
	compatible = "sipeed,longan-pi-3h", "sipeed,longan-module-3h", "allwinner,sun50i-h618";

	aliases {
		ethernet0 = &emac0;
		serial0 = &uart0;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	leds {
		compatible = "gpio-leds";

		led-0 {
			color = <LED_COLOR_ID_ORANGE>;
			function = LED_FUNCTION_INDICATOR;
			function-enumerator = <0>;
			gpios = <&pio 6 2 GPIO_ACTIVE_LOW>; /* PG2 */
		};

		led-1 {
			color = <LED_COLOR_ID_ORANGE>;
			function = LED_FUNCTION_INDICATOR;
			function-enumerator = <1>;
			gpios = <&pio 6 4 GPIO_ACTIVE_LOW>; /* PG4 */
		};
	};

	reg_vcc5v: regulator-vcc5v {
		/* board wide 5V supply directly from the USB-C socket */
		compatible = "regulator-fixed";
		regulator-name = "vcc-5v";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-always-on;
	};

	reg_vcc3v3: regulator-vcc3v3 {
		compatible = "regulator-fixed";
		regulator-name = "vcc-3v3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-always-on;
		vin-supply = <&reg_vcc5v>;
	};
};

&axp313 {
	vin1-supply = <&reg_vcc5v>;
	vin2-supply = <&reg_vcc5v>;
	vin3-supply = <&reg_vcc5v>;
};

&ehci1 {
	status = "okay";
};

&ohci1 {
	status = "okay";
};

&ehci2 {
	status = "okay";
};

&ohci2 {
	status = "okay";
};

/* WiFi & BT combo module is connected to this Host */
&ehci3 {
	status = "okay";
};

&ohci3 {
	status = "okay";
};

&emac0 {
	pinctrl-names = "default";
	pinctrl-0 = <&ext_rgmii_pins>;
	phy-mode = "rgmii";
	phy-handle = <&ext_rgmii_phy>;
	allwinner,rx-delay-ps = <3100>;
	allwinner,tx-delay-ps = <700>;
	phy-supply = <&reg_vcc3v3>;
	status = "okay";
};

&mdio0 {
	ext_rgmii_phy: ethernet-phy@1 {
		compatible = "ethernet-phy-ieee802.3-c22";
		reg = <1>;
	};
};

&mmc0 {
	bus-width = <4>;
	cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>;	/* PF6 */
	vmmc-supply = <&reg_vcc3v3>;
	status = "okay";
};

&uart0 {
	status = "okay";
};

&usbotg {
	/*
	 * PHY0 pins are connected to a USB-C socket, but a role switch
	 * is not implemented: both CC pins are pulled to GND.
	 * The VBUS pins power the device, so a fixed peripheral mode
	 * is the best choice.
	 * The board can be powered via GPIOs, in this case port0 *can*
	 * act as a host (with a cable/adapter ignoring CC), as VBUS is
	 * then provided by the GPIOs. Any user of this setup would
	 * need to adjust the DT accordingly: dr_mode set to "host",
	 * enabling OHCI0 and EHCI0.
	 */
	dr_mode = "peripheral";
	status = "okay";
};

&usbphy {
	usb1_vbus-supply = <&reg_vcc5v>;
	usb2_vbus-supply = <&reg_vcc5v>;
	status = "okay";
};
