// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
/*
 * Copyright (C) 2024 Ryan Walklin <ryan@testtoast.com>.
 */

#include "sun50i-h700-anbernic-rg35xx-2024.dts"

/ {
	model = "Anbernic RG35XX Plus";
	compatible = "anbernic,rg35xx-plus", "allwinner,sun50i-h700";

	wifi_pwrseq: pwrseq {
		compatible = "mmc-pwrseq-simple";
		clocks = <&rtc CLK_OSC32K_FANOUT>;
		clock-names = "ext_clock";
		pinctrl-0 = <&x32clk_fanout_pin>;
		pinctrl-names = "default";
		post-power-on-delay-ms = <200>;
		reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */
	};
};

/* SDIO WiFi RTL8821CS */
&mmc1 {
	vmmc-supply = <&reg_cldo4>;
	vqmmc-supply = <&reg_aldo4>;
	mmc-pwrseq = <&wifi_pwrseq>;
	bus-width = <4>;
	non-removable;
	status = "okay";

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

/* Bluetooth RTL8821CS */
&uart1 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
	uart-has-rtscts;
	status = "okay";

	bluetooth {
		compatible = "realtek,rtl8821cs-bt", "realtek,rtl8723bs-bt";
		device-wake-gpios = <&pio 6 17 GPIO_ACTIVE_HIGH>; /* PG17 */
		enable-gpios = <&pio 6 19 GPIO_ACTIVE_HIGH>; /* PG19 */
		host-wake-gpios = <&pio 6 16 GPIO_ACTIVE_HIGH>; /* PG16 */
	};
};
