xref: /linux/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-lite2.dts (revision a4eb44a6435d6d8f9e642407a4a06f65eb90ca04)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2// Copyright (C) 2018 Jagan Teki <jagan@openedev.com>
3
4#include "sun50i-h6-orangepi.dtsi"
5
6/ {
7	model = "OrangePi Lite2";
8	compatible = "xunlong,orangepi-lite2", "allwinner,sun50i-h6";
9
10	aliases {
11		serial1 = &uart1; /* BT-UART */
12	};
13
14	wifi_pwrseq: wifi_pwrseq {
15		compatible = "mmc-pwrseq-simple";
16		clocks = <&rtc 1>;
17		clock-names = "ext_clock";
18		reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */
19		post-power-on-delay-ms = <200>;
20	};
21};
22
23&mmc1 {
24	vmmc-supply = <&reg_cldo2>;
25	vqmmc-supply = <&reg_bldo3>;
26	mmc-pwrseq = <&wifi_pwrseq>;
27	bus-width = <4>;
28	non-removable;
29	status = "okay";
30
31	brcm: sdio-wifi@1 {
32		reg = <1>;
33		compatible = "brcm,bcm4329-fmac";
34		interrupt-parent = <&r_pio>;
35		interrupts = <1 0 IRQ_TYPE_LEVEL_LOW>;	/* PM0 */
36		interrupt-names = "host-wake";
37	};
38};
39
40&reg_cldo2 {
41	/*
42	 * This regulator is connected with CLDO3.
43	 * Before the kernel can support synchronized
44	 * enable of coupled regulators, keep them
45	 * both always on as a ugly hack.
46	 */
47	regulator-always-on;
48};
49
50&reg_cldo3 {
51	/*
52	 * This regulator is connected with CLDO2.
53	 * See the comments for CLDO2.
54	 */
55	regulator-always-on;
56};
57
58/* There's the BT part of the AP6255 connected to that UART */
59&uart1 {
60	pinctrl-names = "default";
61	pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
62	uart-has-rtscts;
63	status = "okay";
64
65	bluetooth {
66		compatible = "brcm,bcm4345c5";
67		clocks = <&rtc 1>;
68		clock-names = "lpo";
69		device-wakeup-gpios = <&r_pio 1 2 GPIO_ACTIVE_HIGH>; /* PM2 */
70		host-wakeup-gpios = <&r_pio 1 1 GPIO_ACTIVE_HIGH>; /* PM1 */
71		shutdown-gpios = <&r_pio 1 4 GPIO_ACTIVE_HIGH>; /* PM4 */
72		max-speed = <1500000>;
73	};
74};
75