--- /dev/null
+// SPDX-License-Identifier: (GPL-2.0+ or MIT)
+// Copyright (C) 2021-2022 Samuel Holland <samuel@sholland.org>
+
+/ {
+       reg_vcc: vcc {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+       };
+
+       reg_vcc_3v3: vcc-3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc-3v3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               vin-supply = <®_vcc>;
+       };
+};
+
+&pio {
+       vcc-pb-supply = <®_vcc_3v3>;
+       vcc-pc-supply = <®_vcc_3v3>;
+       vcc-pd-supply = <®_vcc_3v3>;
+       vcc-pe-supply = <®_vcc_3v3>;
+       vcc-pf-supply = <®_vcc_3v3>;
+       vcc-pg-supply = <®_vcc_3v3>;
+};
 
--- /dev/null
+// 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-d1s.dtsi"
+#include "sun20i-common-regulators.dtsi"
+
+/ {
+       model = "MangoPi MQ";
+       compatible = "widora,mangopi-mq", "allwinner,sun20i-d1s";
+
+       aliases {
+               ethernet0 = &rtl8189ftv;
+               serial3 = &uart3;
+       };
+
+       chosen {
+               stdout-path = "serial3:115200n8";
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               led-0 {
+                       color = <LED_COLOR_ID_BLUE>;
+                       function = LED_FUNCTION_STATUS;
+                       gpios = <&pio 3 22 GPIO_ACTIVE_LOW>; /* PD22 */
+               };
+       };
+
+       reg_avdd2v8: avdd2v8 {
+               compatible = "regulator-fixed";
+               regulator-name = "avdd2v8";
+               regulator-min-microvolt = <2800000>;
+               regulator-max-microvolt = <2800000>;
+               vin-supply = <®_vcc_3v3>;
+       };
+
+       reg_dvdd: dvdd {
+               compatible = "regulator-fixed";
+               regulator-name = "dvdd";
+               regulator-min-microvolt = <1200000>;
+               regulator-max-microvolt = <1200000>;
+               vin-supply = <®_vcc_3v3>;
+       };
+
+       reg_vcc_core: vcc-core {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc-core";
+               regulator-min-microvolt = <900000>;
+               regulator-max-microvolt = <900000>;
+               vin-supply = <®_vcc>;
+       };
+
+       wifi_pwrseq: wifi-pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               reset-gpios = <&pio 6 12 GPIO_ACTIVE_LOW>; /* PG12 */
+       };
+};
+
+&cpu0 {
+       cpu-supply = <®_vcc_core>;
+};
+
+&dcxo {
+       clock-frequency = <24000000>;
+};
+
+&ehci1 {
+       status = "okay";
+};
+
+&mmc0 {
+       bus-width = <4>;
+       cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
+       disable-wp;
+       vmmc-supply = <®_vcc_3v3>;
+       vqmmc-supply = <®_vcc_3v3>;
+       pinctrl-0 = <&mmc0_pins>;
+       pinctrl-names = "default";
+       status = "okay";
+};
+
+&mmc1 {
+       bus-width = <4>;
+       mmc-pwrseq = <&wifi_pwrseq>;
+       non-removable;
+       vmmc-supply = <®_vcc_3v3>;
+       vqmmc-supply = <®_vcc_3v3>;
+       pinctrl-0 = <&mmc1_pins>;
+       pinctrl-names = "default";
+       status = "okay";
+
+       rtl8189ftv: 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 = <®_avdd2v8>;
+};
+
+&uart3 {
+       pinctrl-0 = <&uart3_pb_pins>;
+       pinctrl-names = "default";
+       status = "okay";
+};
+
+&usb_otg {
+       dr_mode = "peripheral";
+       status = "okay";
+};
+
+&usbphy {
+       usb1_vbus-supply = <®_vcc>;
+       status = "okay";
+};