// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
// Copyright (C) 2018 Jagan Teki <jagan@openedev.com>

#include "sun50i-h6-orangepi.dtsi"

/ {
	model = "OrangePi Lite2";
	compatible = "xunlong,orangepi-lite2", "allwinner,sun50i-h6";

	aliases {
		serial1 = &uart1; /* BT-UART */
	};

	wifi_pwrseq: wifi_pwrseq {
		compatible = "mmc-pwrseq-simple";
		clocks = <&rtc CLK_OSC32K_FANOUT>;
		clock-names = "ext_clock";
		reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */
		post-power-on-delay-ms = <200>;
	};
};

&mmc1 {
	vmmc-supply = <&reg_cldo2>;
	vqmmc-supply = <&reg_bldo3>;
	mmc-pwrseq = <&wifi_pwrseq>;
	bus-width = <4>;
	non-removable;
	status = "okay";

	brcm: sdio-wifi@1 {
		reg = <1>;
		compatible = "brcm,bcm4329-fmac";
		interrupt-parent = <&r_pio>;
		interrupts = <1 0 IRQ_TYPE_LEVEL_LOW>;	/* PM0 */
		interrupt-names = "host-wake";
	};
};

&reg_cldo2 {
	/*
	 * This regulator is connected with CLDO3.
	 * Before the kernel can support synchronized
	 * enable of coupled regulators, keep them
	 * both always on as a ugly hack.
	 */
	regulator-always-on;
};

&reg_cldo3 {
	/*
	 * This regulator is connected with CLDO2.
	 * See the comments for CLDO2.
	 */
	regulator-always-on;
};

/* There's the BT part of the AP6255 connected to that UART */
&uart1 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
	uart-has-rtscts;
	status = "okay";

	bluetooth {
		compatible = "brcm,bcm4345c5";
		clocks = <&rtc CLK_OSC32K_FANOUT>;
		clock-names = "lpo";
		device-wakeup-gpios = <&r_pio 1 2 GPIO_ACTIVE_HIGH>; /* PM2 */
		host-wakeup-gpios = <&r_pio 1 1 GPIO_ACTIVE_HIGH>; /* PM1 */
		shutdown-gpios = <&r_pio 1 4 GPIO_ACTIVE_HIGH>; /* PM4 */
		max-speed = <1500000>;
	};
};
