162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
262306a36Sopenharmony_ci// Copyright (C) 2018 Jagan Teki <jagan@openedev.com>
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci#include "sun50i-h6-orangepi.dtsi"
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci/ {
762306a36Sopenharmony_ci	model = "OrangePi Lite2";
862306a36Sopenharmony_ci	compatible = "xunlong,orangepi-lite2", "allwinner,sun50i-h6";
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci	aliases {
1162306a36Sopenharmony_ci		serial1 = &uart1; /* BT-UART */
1262306a36Sopenharmony_ci	};
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci	wifi_pwrseq: wifi_pwrseq {
1562306a36Sopenharmony_ci		compatible = "mmc-pwrseq-simple";
1662306a36Sopenharmony_ci		clocks = <&rtc CLK_OSC32K_FANOUT>;
1762306a36Sopenharmony_ci		clock-names = "ext_clock";
1862306a36Sopenharmony_ci		reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */
1962306a36Sopenharmony_ci		post-power-on-delay-ms = <200>;
2062306a36Sopenharmony_ci	};
2162306a36Sopenharmony_ci};
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci&mmc1 {
2462306a36Sopenharmony_ci	vmmc-supply = <&reg_cldo2>;
2562306a36Sopenharmony_ci	vqmmc-supply = <&reg_bldo3>;
2662306a36Sopenharmony_ci	mmc-pwrseq = <&wifi_pwrseq>;
2762306a36Sopenharmony_ci	bus-width = <4>;
2862306a36Sopenharmony_ci	non-removable;
2962306a36Sopenharmony_ci	status = "okay";
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci	brcm: sdio-wifi@1 {
3262306a36Sopenharmony_ci		reg = <1>;
3362306a36Sopenharmony_ci		compatible = "brcm,bcm4329-fmac";
3462306a36Sopenharmony_ci		interrupt-parent = <&r_pio>;
3562306a36Sopenharmony_ci		interrupts = <1 0 IRQ_TYPE_LEVEL_LOW>;	/* PM0 */
3662306a36Sopenharmony_ci		interrupt-names = "host-wake";
3762306a36Sopenharmony_ci	};
3862306a36Sopenharmony_ci};
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci&reg_cldo2 {
4162306a36Sopenharmony_ci	/*
4262306a36Sopenharmony_ci	 * This regulator is connected with CLDO3.
4362306a36Sopenharmony_ci	 * Before the kernel can support synchronized
4462306a36Sopenharmony_ci	 * enable of coupled regulators, keep them
4562306a36Sopenharmony_ci	 * both always on as a ugly hack.
4662306a36Sopenharmony_ci	 */
4762306a36Sopenharmony_ci	regulator-always-on;
4862306a36Sopenharmony_ci};
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci&reg_cldo3 {
5162306a36Sopenharmony_ci	/*
5262306a36Sopenharmony_ci	 * This regulator is connected with CLDO2.
5362306a36Sopenharmony_ci	 * See the comments for CLDO2.
5462306a36Sopenharmony_ci	 */
5562306a36Sopenharmony_ci	regulator-always-on;
5662306a36Sopenharmony_ci};
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci/* There's the BT part of the AP6255 connected to that UART */
5962306a36Sopenharmony_ci&uart1 {
6062306a36Sopenharmony_ci	pinctrl-names = "default";
6162306a36Sopenharmony_ci	pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
6262306a36Sopenharmony_ci	uart-has-rtscts;
6362306a36Sopenharmony_ci	status = "okay";
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci	bluetooth {
6662306a36Sopenharmony_ci		compatible = "brcm,bcm4345c5";
6762306a36Sopenharmony_ci		clocks = <&rtc CLK_OSC32K_FANOUT>;
6862306a36Sopenharmony_ci		clock-names = "lpo";
6962306a36Sopenharmony_ci		device-wakeup-gpios = <&r_pio 1 2 GPIO_ACTIVE_HIGH>; /* PM2 */
7062306a36Sopenharmony_ci		host-wakeup-gpios = <&r_pio 1 1 GPIO_ACTIVE_HIGH>; /* PM1 */
7162306a36Sopenharmony_ci		shutdown-gpios = <&r_pio 1 4 GPIO_ACTIVE_HIGH>; /* PM4 */
7262306a36Sopenharmony_ci		max-speed = <1500000>;
7362306a36Sopenharmony_ci	};
7462306a36Sopenharmony_ci};
75