d1: add new target
[openwrt/staging/mans0n.git] / target / linux / d1 / patches-6.1 / 0042-riscv-dts-allwinner-Add-DMIC-sound-cards.patch
1 From 500a3fc1ce1b216ef4f4df73e4e048170764189e Mon Sep 17 00:00:00 2001
2 From: Samuel Holland <samuel@sholland.org>
3 Date: Wed, 17 Aug 2022 02:20:49 -0500
4 Subject: [PATCH 042/117] riscv: dts: allwinner: Add DMIC sound cards
5
6 Signed-off-by: Samuel Holland <samuel@sholland.org>
7 ---
8 .../sun20i-d1-lichee-rv-86-panel.dtsi | 43 ++++++++++++++++++
9 .../allwinner/sun20i-d1-lichee-rv-dock.dts | 45 +++++++++++++++++++
10 2 files changed, 88 insertions(+)
11
12 --- a/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel.dtsi
13 +++ b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel.dtsi
14 @@ -9,6 +9,33 @@
15 ethernet1 = &xr829;
16 };
17
18 + dmic_codec: dmic-codec {
19 + compatible = "dmic-codec";
20 + num-channels = <2>;
21 + #sound-dai-cells = <0>;
22 + };
23 +
24 + dmic-sound {
25 + compatible = "simple-audio-card";
26 + simple-audio-card,name = "DMIC";
27 + #address-cells = <1>;
28 + #size-cells = <0>;
29 +
30 + simple-audio-card,dai-link@0 {
31 + format = "pdm";
32 + frame-master = <&link0_cpu>;
33 + bitclock-master = <&link0_cpu>;
34 +
35 + link0_cpu: cpu {
36 + sound-dai = <&dmic>;
37 + };
38 +
39 + link0_codec: codec {
40 + sound-dai = <&dmic_codec>;
41 + };
42 + };
43 + };
44 +
45 /* PC1 is repurposed as BT_WAKE_AP */
46 /delete-node/ leds;
47
48 @@ -24,6 +51,12 @@
49 };
50 };
51
52 +&dmic {
53 + pinctrl-0 = <&dmic_pb11_d0_pin>, <&dmic_pe17_clk_pin>;
54 + pinctrl-names = "default";
55 + status = "okay";
56 +};
57 +
58 &ehci1 {
59 status = "okay";
60 };
61 @@ -69,6 +102,16 @@
62 pins = "PG11";
63 function = "clk";
64 };
65 +
66 + dmic_pb11_d0_pin: dmic-pb11-d0-pin {
67 + pins = "PB11";
68 + function = "dmic";
69 + };
70 +
71 + dmic_pe17_clk_pin: dmic-pe17-clk-pin {
72 + pins = "PE17";
73 + function = "dmic";
74 + };
75 };
76
77 &uart1 {
78 --- a/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-dock.dts
79 +++ b/arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-dock.dts
80 @@ -15,12 +15,45 @@
81 ethernet1 = &rtl8723ds;
82 };
83
84 + dmic_codec: dmic-codec {
85 + compatible = "dmic-codec";
86 + num-channels = <2>;
87 + #sound-dai-cells = <0>;
88 + };
89 +
90 + dmic-sound {
91 + compatible = "simple-audio-card";
92 + simple-audio-card,name = "DMIC";
93 + #address-cells = <1>;
94 + #size-cells = <0>;
95 +
96 + simple-audio-card,dai-link@0 {
97 + format = "pdm";
98 + frame-master = <&link0_cpu>;
99 + bitclock-master = <&link0_cpu>;
100 +
101 + link0_cpu: cpu {
102 + sound-dai = <&dmic>;
103 + };
104 +
105 + link0_codec: codec {
106 + sound-dai = <&dmic_codec>;
107 + };
108 + };
109 + };
110 +
111 wifi_pwrseq: wifi-pwrseq {
112 compatible = "mmc-pwrseq-simple";
113 reset-gpios = <&pio 6 12 GPIO_ACTIVE_LOW>; /* PG12 */
114 };
115 };
116
117 +&dmic {
118 + pinctrl-0 = <&dmic_pb11_d0_pin>, <&dmic_pe17_clk_pin>;
119 + pinctrl-names = "default";
120 + status = "okay";
121 +};
122 +
123 &ehci1 {
124 status = "okay";
125 };
126 @@ -55,6 +88,18 @@
127 status = "okay";
128 };
129
130 +&pio {
131 + dmic_pb11_d0_pin: dmic-pb11-d0-pin {
132 + pins = "PB11";
133 + function = "dmic";
134 + };
135 +
136 + dmic_pe17_clk_pin: dmic-pe17-clk-pin {
137 + pins = "PE17";
138 + function = "dmic";
139 + };
140 +};
141 +
142 &uart1 {
143 uart-has-rtscts;
144 pinctrl-0 = <&uart1_pg6_pins>, <&uart1_pg8_rts_cts_pins>;