ACPI: acpi_drivers.h: Update the kernel doc
[linux-2.6-microblaze.git] / arch / arm / boot / dts / stm32mp15xx-dhcom-pdk2.dtsi
1 // SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
2 /*
3  * Copyright (C) 2019-2020 Marek Vasut <marex@denx.de>
4  */
5
6 #include <dt-bindings/input/input.h>
7 #include <dt-bindings/pwm/pwm.h>
8
9 / {
10         aliases {
11                 serial0 = &uart4;
12                 serial1 = &usart3;
13                 serial2 = &uart8;
14         };
15
16         chosen {
17                 stdout-path = "serial0:115200n8";
18         };
19
20         clk_ext_audio_codec: clock-codec {
21                 compatible = "fixed-clock";
22                 #clock-cells = <0>;
23                 clock-frequency = <24000000>;
24         };
25
26         display_bl: display-bl {
27                 compatible = "pwm-backlight";
28                 pwms = <&pwm2 3 500000 PWM_POLARITY_INVERTED>;
29                 brightness-levels = <0 16 22 30 40 55 75 102 138 188 255>;
30                 default-brightness-level = <8>;
31                 enable-gpios = <&gpioi 0 GPIO_ACTIVE_HIGH>;
32                 status = "okay";
33         };
34
35         gpio-keys-polled {
36                 compatible = "gpio-keys-polled";
37                 #size-cells = <0>;
38                 poll-interval = <20>;
39
40                 /*
41                  * The EXTi IRQ line 3 is shared with touchscreen and ethernet,
42                  * so mark this as polled GPIO key.
43                  */
44                 button-0 {
45                         label = "TA1-GPIO-A";
46                         linux,code = <KEY_A>;
47                         gpios = <&gpiof 3 GPIO_ACTIVE_LOW>;
48                 };
49         };
50
51         gpio-keys {
52                 compatible = "gpio-keys";
53                 #size-cells = <0>;
54
55                 button-1 {
56                         label = "TA2-GPIO-B";
57                         linux,code = <KEY_B>;
58                         gpios = <&gpiod 6 GPIO_ACTIVE_LOW>;
59                         wakeup-source;
60                 };
61
62                 button-2 {
63                         label = "TA3-GPIO-C";
64                         linux,code = <KEY_C>;
65                         gpios = <&gpioi 11 GPIO_ACTIVE_LOW>;
66                         wakeup-source;
67                 };
68
69                 button-3 {
70                         label = "TA4-GPIO-D";
71                         linux,code = <KEY_D>;
72                         gpios = <&gpiod 12 GPIO_ACTIVE_LOW>;
73                         wakeup-source;
74                 };
75         };
76
77         led {
78                 compatible = "gpio-leds";
79
80                 led-0 {
81                         label = "green:led5";
82                         gpios = <&gpiog 2 GPIO_ACTIVE_HIGH>;
83                         default-state = "off";
84                 };
85
86                 led-1 {
87                         label = "green:led6";
88                         gpios = <&gpiod 11 GPIO_ACTIVE_HIGH>;
89                         default-state = "off";
90                 };
91
92                 led-2 {
93                         label = "green:led7";
94                         gpios = <&gpioi 2 GPIO_ACTIVE_HIGH>;
95                         default-state = "off";
96                 };
97
98                 led-3 {
99                         label = "green:led8";
100                         gpios = <&gpioi 3 GPIO_ACTIVE_HIGH>;
101                         default-state = "off";
102                 };
103         };
104
105         panel {
106                 compatible = "edt,etm0700g0edh6";
107                 backlight = <&display_bl>;
108
109                 port {
110                         lcd_panel_in: endpoint {
111                                 remote-endpoint = <&lcd_display_out>;
112                         };
113                 };
114         };
115
116         sound {
117                 compatible = "audio-graph-card";
118                 routing =
119                         "MIC_IN", "Capture",
120                         "Capture", "Mic Bias",
121                         "Playback", "HP_OUT";
122                 dais = <&sai2a_port &sai2b_port>;
123                 status = "okay";
124         };
125 };
126
127 &cec {
128         pinctrl-names = "default";
129         pinctrl-0 = <&cec_pins_a>;
130         status = "okay";
131 };
132
133 &i2c2 { /* Header X22 */
134         pinctrl-names = "default";
135         pinctrl-0 = <&i2c2_pins_a>;
136         i2c-scl-rising-time-ns = <185>;
137         i2c-scl-falling-time-ns = <20>;
138         status = "okay";
139         /* spare dmas for other usage */
140         /delete-property/dmas;
141         /delete-property/dma-names;
142         status = "okay";
143 };
144
145 &i2c5 { /* Header X21 */
146         pinctrl-names = "default";
147         pinctrl-0 = <&i2c5_pins_a>;
148         i2c-scl-rising-time-ns = <185>;
149         i2c-scl-falling-time-ns = <20>;
150         status = "okay";
151         /* spare dmas for other usage */
152         /delete-property/dmas;
153         /delete-property/dma-names;
154
155         sgtl5000: codec@a {
156                 compatible = "fsl,sgtl5000";
157                 reg = <0x0a>;
158                 #sound-dai-cells = <0>;
159                 clocks = <&clk_ext_audio_codec>;
160                 VDDA-supply = <&v3v3>;
161                 VDDIO-supply = <&vdd>;
162
163                 sgtl5000_port: port {
164                         #address-cells = <1>;
165                         #size-cells = <0>;
166
167                         sgtl5000_tx_endpoint: endpoint@0 {
168                                 reg = <0>;
169                                 remote-endpoint = <&sai2a_endpoint>;
170                                 frame-master;
171                                 bitclock-master;
172                         };
173
174                         sgtl5000_rx_endpoint: endpoint@1 {
175                                 reg = <1>;
176                                 remote-endpoint = <&sai2b_endpoint>;
177                                 frame-master;
178                                 bitclock-master;
179                         };
180                 };
181
182         };
183
184         polytouch@38 {
185                 compatible = "edt,edt-ft5x06";
186                 reg = <0x38>;
187                 interrupt-parent = <&gpiog>;
188                 interrupts = <2 IRQ_TYPE_EDGE_FALLING>; /* GPIO E */
189                 linux,wakeup;
190         };
191 };
192
193 &ltdc {
194         pinctrl-names = "default", "sleep";
195         pinctrl-0 = <&ltdc_pins_b>;
196         pinctrl-1 = <&ltdc_sleep_pins_b>;
197         status = "okay";
198
199         port {
200                 lcd_display_out: endpoint {
201                         remote-endpoint = <&lcd_panel_in>;
202                 };
203         };
204 };
205
206 &sai2 {
207         clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
208         clock-names = "pclk", "x8k", "x11k";
209         pinctrl-names = "default", "sleep";
210         pinctrl-0 = <&sai2a_pins_b &sai2b_pins_b>;
211         pinctrl-1 = <&sai2a_sleep_pins_b &sai2b_sleep_pins_b>;
212         status = "okay";
213
214         sai2a: audio-controller@4400b004 {
215                 #clock-cells = <0>;
216                 dma-names = "tx";
217                 clocks = <&rcc SAI2_K>;
218                 clock-names = "sai_ck";
219                 status = "okay";
220
221                 sai2a_port: port {
222                         sai2a_endpoint: endpoint {
223                                 remote-endpoint = <&sgtl5000_tx_endpoint>;
224                                 format = "i2s";
225                                 mclk-fs = <512>;
226                                 dai-tdm-slot-num = <2>;
227                                 dai-tdm-slot-width = <16>;
228                         };
229                 };
230         };
231
232         sai2b: audio-controller@4400b024 {
233                 dma-names = "rx";
234                 st,sync = <&sai2a 2>;
235                 clocks = <&rcc SAI2_K>, <&sai2a>;
236                 clock-names = "sai_ck", "MCLK";
237                 status = "okay";
238
239                 sai2b_port: port {
240                         sai2b_endpoint: endpoint {
241                                 remote-endpoint = <&sgtl5000_rx_endpoint>;
242                                 format = "i2s";
243                                 mclk-fs = <512>;
244                                 dai-tdm-slot-num = <2>;
245                                 dai-tdm-slot-width = <16>;
246                         };
247                 };
248         };
249 };
250
251 &timers2 {
252         /* spare dmas for other usage (un-delete to enable pwm capture) */
253         /delete-property/dmas;
254         /delete-property/dma-names;
255         status = "okay";
256         pwm2: pwm {
257                 pinctrl-0 = <&pwm2_pins_a>;
258                 pinctrl-names = "default";
259                 status = "okay";
260         };
261         timer@1 {
262                 status = "okay";
263         };
264 };
265
266 &usart3 {
267         pinctrl-names = "default";
268         pinctrl-0 = <&usart3_pins_a>;
269         status = "okay";
270 };
271
272 &uart8 {
273         pinctrl-names = "default";
274         pinctrl-0 = <&uart8_pins_a &uart8_rtscts_pins_a>;
275         uart-has-rtscts;
276         status = "okay";
277 };
278
279 &usbh_ehci {
280         phys = <&usbphyc_port0>;
281         status = "okay";
282 };
283
284 &usbotg_hs {
285         dr_mode = "otg";
286         pinctrl-0 = <&usbotg_hs_pins_a>;
287         pinctrl-names = "default";
288         phy-names = "usb2-phy";
289         phys = <&usbphyc_port1 0>;
290         vbus-supply = <&vbus_otg>;
291         status = "okay";
292 };
293
294 &usbphyc {
295         status = "okay";
296 };
297
298 &usbphyc_port0 {
299         phy-supply = <&vdd_usb>;
300         vdda1v1-supply = <&reg11>;
301         vdda1v8-supply = <&reg18>;
302 };
303
304 &usbphyc_port1 {
305         phy-supply = <&vdd_usb>;
306         vdda1v1-supply = <&reg11>;
307         vdda1v8-supply = <&reg18>;
308 };