// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
// Copyright (C) 2022 Samuel Holland <samuel@sholland.org>

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>

/dts-v1/;

#include "sun20i-d1.dtsi"
#include "sun20i-common-regulators.dtsi"

/ {
	model = "MangoPi MQ Pro";
	compatible = "widora,mangopi-mq-pro", "allwinner,sun20i-d1";

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

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

	leds {
		compatible = "gpio-leds";

		led-0 {
			color = <LED_COLOR_ID_BLUE>;
			function = LED_FUNCTION_STATUS;
			gpios = <&pio 3 18 GPIO_ACTIVE_HIGH>; /* PD18 */
		};
	};

	reg_avdd2v8: avdd2v8 {
		compatible = "regulator-fixed";
		regulator-name = "avdd2v8";
		regulator-min-microvolt = <2800000>;
		regulator-max-microvolt = <2800000>;
		vin-supply = <&reg_vcc_3v3>;
	};

	reg_dvdd: dvdd {
		compatible = "regulator-fixed";
		regulator-name = "dvdd";
		regulator-min-microvolt = <1200000>;
		regulator-max-microvolt = <1200000>;
		vin-supply = <&reg_vcc_3v3>;
	};

	reg_vdd_cpu: vdd-cpu {
		compatible = "regulator-fixed";
		regulator-name = "vdd-cpu";
		regulator-min-microvolt = <1100000>;
		regulator-max-microvolt = <1100000>;
		vin-supply = <&reg_vcc>;
	};

	wifi_pwrseq: wifi-pwrseq {
		compatible = "mmc-pwrseq-simple";
		reset-gpios = <&pio 6 17 GPIO_ACTIVE_LOW>; /* PG17 */
	};
};

&cpu0 {
	cpu-supply = <&reg_vdd_cpu>;
};

&dcxo {
	clock-frequency = <24000000>;
};

&ehci1 {
	status = "okay";
};

&mmc0 {
	bus-width = <4>;
	cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */
	disable-wp;
	vmmc-supply = <&reg_vcc_3v3>;
	vqmmc-supply = <&reg_vcc_3v3>;
	pinctrl-0 = <&mmc0_pins>;
	pinctrl-names = "default";
	status = "okay";
};

&mmc1 {
	bus-width = <4>;
	mmc-pwrseq = <&wifi_pwrseq>;
	non-removable;
	vmmc-supply = <&reg_vcc_3v3>;
	vqmmc-supply = <&reg_vcc_3v3>;
	pinctrl-0 = <&mmc1_pins>;
	pinctrl-names = "default";
	status = "okay";

	rtl8723ds: wifi@1 {
		reg = <1>;
		interrupt-parent = <&pio>;
		interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 */
		interrupt-names = "host-wake";
	};
};

&ohci1 {
	status = "okay";
};

&pio {
	vcc-pe-supply = <&reg_avdd2v8>;
};

&uart0 {
	pinctrl-0 = <&uart0_pb8_pins>;
	pinctrl-names = "default";
	status = "okay";
};

&uart1 {
	uart-has-rtscts;
	pinctrl-0 = <&uart1_pg6_pins>, <&uart1_pg8_rts_cts_pins>;
	pinctrl-names = "default";
	status = "okay";

	bluetooth {
		compatible = "realtek,rtl8723ds-bt";
		device-wake-gpios = <&pio 6 18 GPIO_ACTIVE_HIGH>; /* PG18 */
		enable-gpios = <&pio 6 15 GPIO_ACTIVE_HIGH>; /* PG15 */
		host-wake-gpios = <&pio 6 14 GPIO_ACTIVE_HIGH>; /* PG14 */
	};
};

&usb_otg {
	dr_mode = "peripheral";
	status = "okay";
};

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