1// SPDX-License-Identifier: (GPL-2.0+ or MIT)
2// Copyright (C) 2022 Samuel Holland <samuel@sholland.org>
3
4#include "sun20i-d1-lichee-rv.dts"
5
6/ {
7	aliases {
8		ethernet0 = &emac;
9		ethernet1 = &xr829;
10	};
11
12	dmic_codec: dmic-codec {
13		compatible = "dmic-codec";
14		num-channels = <2>;
15		#sound-dai-cells = <0>;
16	};
17
18	dmic-sound {
19		compatible = "simple-audio-card";
20		simple-audio-card,name = "DMIC";
21		#address-cells = <1>;
22		#size-cells = <0>;
23
24		simple-audio-card,dai-link@0 {
25			reg = <0>;
26			format = "pdm";
27			frame-master = <&link0_cpu>;
28			bitclock-master = <&link0_cpu>;
29
30			link0_cpu: cpu {
31				sound-dai = <&dmic>;
32			};
33
34			link0_codec: codec {
35				sound-dai = <&dmic_codec>;
36			};
37		};
38	};
39
40	/* PC1 is repurposed as BT_WAKE_AP */
41	/delete-node/ leds;
42
43	wifi_pwrseq: wifi-pwrseq {
44		compatible = "mmc-pwrseq-simple";
45		clocks = <&ccu CLK_FANOUT1>;
46		clock-names = "ext_clock";
47		reset-gpios = <&pio 6 12 GPIO_ACTIVE_LOW>; /* PG12 */
48		assigned-clocks = <&ccu CLK_FANOUT1>;
49		assigned-clock-rates = <32768>;
50		pinctrl-0 = <&clk_pg11_pin>;
51		pinctrl-names = "default";
52	};
53};
54
55&dmic {
56	pinctrl-0 = <&dmic_pb11_d0_pin>, <&dmic_pe17_clk_pin>;
57	pinctrl-names = "default";
58	status = "okay";
59};
60
61&ehci1 {
62	status = "okay";
63};
64
65&emac {
66	pinctrl-0 = <&rmii_pe_pins>;
67	pinctrl-names = "default";
68	phy-handle = <&ext_rmii_phy>;
69	phy-mode = "rmii";
70	phy-supply = <&reg_vcc_3v3>;
71	status = "okay";
72};
73
74&mdio {
75	ext_rmii_phy: ethernet-phy@1 {
76		compatible = "ethernet-phy-ieee802.3-c22";
77		reg = <1>;
78		reset-gpios = <&pio 4 16 GPIO_ACTIVE_LOW>; /* PE16 */
79	};
80};
81
82&mmc1 {
83	bus-width = <4>;
84	mmc-pwrseq = <&wifi_pwrseq>;
85	non-removable;
86	vmmc-supply = <&reg_vcc_3v3>;
87	vqmmc-supply = <&reg_vcc_3v3>;
88	pinctrl-0 = <&mmc1_pins>;
89	pinctrl-names = "default";
90	status = "okay";
91
92	xr829: wifi@1 {
93		reg = <1>;
94	};
95};
96
97&ohci1 {
98	status = "okay";
99};
100
101&uart1 {
102	uart-has-rtscts;
103	pinctrl-0 = <&uart1_pg6_pins>, <&uart1_pg8_rts_cts_pins>;
104	pinctrl-names = "default";
105	status = "okay";
106
107	/* XR829 bluetooth is connected here */
108};
109
110&usb_otg {
111	status = "disabled";
112};
113
114&usbphy {
115	/* PD20 and PD21 are repurposed for the LCD panel */
116	/delete-property/ usb0_id_det-gpios;
117	/delete-property/ usb0_vbus_det-gpios;
118	usb1_vbus-supply = <&reg_vcc>;
119};
120