xref: /linux/arch/riscv/boot/dts/allwinner/sun20i-d1-mangopi-mq-pro.dts (revision bf5802238dc181b1f7375d358af1d01cd72d1c11)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2// Copyright (C) 2022 Samuel Holland <samuel@sholland.org>
3
4#include <dt-bindings/gpio/gpio.h>
5#include <dt-bindings/leds/common.h>
6
7/dts-v1/;
8
9#include "sun20i-d1.dtsi"
10#include "sun20i-common-regulators.dtsi"
11
12/ {
13	model = "MangoPi MQ Pro";
14	compatible = "widora,mangopi-mq-pro", "allwinner,sun20i-d1";
15
16	aliases {
17		ethernet0 = &rtl8723ds;
18		serial0 = &uart0;
19	};
20
21	chosen {
22		stdout-path = "serial0:115200n8";
23	};
24
25	leds {
26		compatible = "gpio-leds";
27
28		led-0 {
29			color = <LED_COLOR_ID_BLUE>;
30			function = LED_FUNCTION_STATUS;
31			gpios = <&pio 3 18 GPIO_ACTIVE_HIGH>; /* PD18 */
32		};
33	};
34
35	reg_avdd2v8: avdd2v8 {
36		compatible = "regulator-fixed";
37		regulator-name = "avdd2v8";
38		regulator-min-microvolt = <2800000>;
39		regulator-max-microvolt = <2800000>;
40		vin-supply = <&reg_vcc_3v3>;
41	};
42
43	reg_dvdd: dvdd {
44		compatible = "regulator-fixed";
45		regulator-name = "dvdd";
46		regulator-min-microvolt = <1200000>;
47		regulator-max-microvolt = <1200000>;
48		vin-supply = <&reg_vcc_3v3>;
49	};
50
51	reg_vdd_cpu: vdd-cpu {
52		compatible = "regulator-fixed";
53		regulator-name = "vdd-cpu";
54		regulator-min-microvolt = <1100000>;
55		regulator-max-microvolt = <1100000>;
56		vin-supply = <&reg_vcc>;
57	};
58
59	wifi_pwrseq: wifi-pwrseq {
60		compatible = "mmc-pwrseq-simple";
61		reset-gpios = <&pio 6 17 GPIO_ACTIVE_LOW>; /* PG17 */
62	};
63};
64
65&cpu0 {
66	cpu-supply = <&reg_vdd_cpu>;
67};
68
69&dcxo {
70	clock-frequency = <24000000>;
71};
72
73&ehci1 {
74	status = "okay";
75};
76
77&mmc0 {
78	bus-width = <4>;
79	cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */
80	disable-wp;
81	vmmc-supply = <&reg_vcc_3v3>;
82	vqmmc-supply = <&reg_vcc_3v3>;
83	pinctrl-0 = <&mmc0_pins>;
84	pinctrl-names = "default";
85	status = "okay";
86};
87
88&mmc1 {
89	bus-width = <4>;
90	mmc-pwrseq = <&wifi_pwrseq>;
91	non-removable;
92	vmmc-supply = <&reg_vcc_3v3>;
93	vqmmc-supply = <&reg_vcc_3v3>;
94	pinctrl-0 = <&mmc1_pins>;
95	pinctrl-names = "default";
96	status = "okay";
97
98	rtl8723ds: wifi@1 {
99		reg = <1>;
100		interrupt-parent = <&pio>;
101		interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 */
102		interrupt-names = "host-wake";
103	};
104};
105
106&ohci1 {
107	status = "okay";
108};
109
110&pio {
111	vcc-pe-supply = <&reg_avdd2v8>;
112};
113
114&uart0 {
115	pinctrl-0 = <&uart0_pb8_pins>;
116	pinctrl-names = "default";
117	status = "okay";
118};
119
120&uart1 {
121	uart-has-rtscts;
122	pinctrl-0 = <&uart1_pg6_pins>, <&uart1_pg8_rts_cts_pins>;
123	pinctrl-names = "default";
124	status = "okay";
125
126	bluetooth {
127		compatible = "realtek,rtl8723ds-bt";
128		device-wake-gpios = <&pio 6 18 GPIO_ACTIVE_HIGH>; /* PG18 */
129		enable-gpios = <&pio 6 15 GPIO_ACTIVE_HIGH>; /* PG15 */
130		host-wake-gpios = <&pio 6 14 GPIO_ACTIVE_HIGH>; /* PG14 */
131	};
132};
133
134&usb_otg {
135	dr_mode = "peripheral";
136	status = "okay";
137};
138
139&usbphy {
140	usb1_vbus-supply = <&reg_vcc>;
141	status = "okay";
142};
143