GNU Linux-libre 6.1.90-gnu
[releases.git] / arch / arm64 / boot / dts / mediatek / mt8183-kukui-jacuzzi.dtsi
1 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
2 /*
3  * Copyright 2021 Google LLC
4  */
5
6 #include "mt8183-kukui.dtsi"
7 /* Must come after mt8183-kukui.dtsi to modify cros_ec */
8 #include <arm/cros-ec-keyboard.dtsi>
9
10 / {
11         panel: panel {
12                 compatible = "auo,b116xw03";
13                 power-supply = <&pp3300_panel>;
14                 backlight = <&backlight_lcd0>;
15
16                 port {
17                         panel_in: endpoint {
18                                 remote-endpoint = <&anx7625_out>;
19                         };
20                 };
21         };
22
23         pp1200_mipibrdg: pp1200-mipibrdg {
24                 compatible = "regulator-fixed";
25                 regulator-name = "pp1200_mipibrdg";
26                 pinctrl-names = "default";
27                 pinctrl-0 = <&pp1200_mipibrdg_en>;
28
29                 enable-active-high;
30                 regulator-boot-on;
31
32                 gpio = <&pio 54 GPIO_ACTIVE_HIGH>;
33         };
34
35         pp1800_mipibrdg: pp1800-mipibrdg {
36                 compatible = "regulator-fixed";
37                 regulator-name = "pp1800_mipibrdg";
38                 pinctrl-names = "default";
39                 pinctrl-0 = <&pp1800_lcd_en>;
40
41                 enable-active-high;
42                 regulator-boot-on;
43
44                 gpio = <&pio 36 GPIO_ACTIVE_HIGH>;
45         };
46
47         pp3300_panel: pp3300-panel {
48                 compatible = "regulator-fixed";
49                 regulator-name = "pp3300_panel";
50                 regulator-min-microvolt = <3300000>;
51                 regulator-max-microvolt = <3300000>;
52                 pinctrl-names = "default";
53                 pinctrl-0 = <&pp3300_panel_pins>;
54
55                 enable-active-high;
56                 regulator-boot-on;
57
58                 gpio = <&pio 35 GPIO_ACTIVE_HIGH>;
59         };
60
61         vddio_mipibrdg: vddio-mipibrdg {
62                 compatible = "regulator-fixed";
63                 regulator-name = "vddio_mipibrdg";
64                 pinctrl-names = "default";
65                 pinctrl-0 = <&vddio_mipibrdg_en>;
66
67                 enable-active-high;
68                 regulator-boot-on;
69
70                 gpio = <&pio 37 GPIO_ACTIVE_HIGH>;
71         };
72
73         volume_buttons: volume-buttons {
74                 compatible = "gpio-keys";
75                 pinctrl-names = "default";
76                 pinctrl-0 = <&volume_button_pins>;
77
78                 button-volume-down {
79                         label = "Volume Down";
80                         linux,code = <KEY_VOLUMEDOWN>;
81                         debounce-interval = <100>;
82
83                         gpios = <&pio 6 GPIO_ACTIVE_LOW>;
84                 };
85
86                 button-volume-up {
87                         label = "Volume Up";
88                         linux,code = <KEY_VOLUMEUP>;
89                         debounce-interval = <100>;
90
91                         gpios = <&pio 5 GPIO_ACTIVE_LOW>;
92                 };
93         };
94 };
95
96 &cros_ec {
97         cros_ec_pwm: pwm {
98                 compatible = "google,cros-ec-pwm";
99                 #pwm-cells = <1>;
100                 status = "disabled";
101         };
102 };
103
104 &dsi0 {
105         status = "okay";
106         /delete-property/#size-cells;
107         /delete-property/#address-cells;
108         /delete-node/panel@0;
109         ports {
110                 port {
111                         dsi_out: endpoint {
112                                 remote-endpoint = <&anx7625_in>;
113                         };
114                 };
115         };
116 };
117
118 &i2c0 {
119         status = "okay";
120
121         touchscreen: touchscreen@10 {
122                 compatible = "elan,ekth3500";
123                 reg = <0x10>;
124
125                 pinctrl-names = "default";
126                 pinctrl-0 = <&touchscreen_pins>;
127
128                 interrupts-extended = <&pio 155 IRQ_TYPE_LEVEL_LOW>;
129
130                 reset-gpios = <&pio 156 GPIO_ACTIVE_LOW>;
131         };
132 };
133
134 &i2c2 {
135         pinctrl-names = "default";
136         pinctrl-0 = <&i2c2_pins>;
137         status = "okay";
138         clock-frequency = <400000>;
139
140         trackpad@15 {
141                 compatible = "elan,ekth3000";
142                 reg = <0x15>;
143
144                 pinctrl-names = "default";
145                 pinctrl-0 = <&trackpad_pins>;
146
147                 interrupts-extended = <&pio 7 IRQ_TYPE_LEVEL_LOW>;
148
149                 wakeup-source;
150         };
151 };
152
153 &i2c4 {
154         pinctrl-names = "default";
155         pinctrl-0 = <&i2c4_pins>;
156         status = "okay";
157         clock-frequency = <100000>;
158
159         anx_bridge: anx7625@58 {
160                 compatible = "analogix,anx7625";
161                 reg = <0x58>;
162                 pinctrl-names = "default";
163                 pinctrl-0 = <&anx7625_pins>;
164                 panel_flags = <1>;
165                 enable-gpios = <&pio 45 GPIO_ACTIVE_HIGH>;
166                 reset-gpios = <&pio 73 GPIO_ACTIVE_HIGH>;
167                 vdd10-supply = <&pp1200_mipibrdg>;
168                 vdd18-supply = <&pp1800_mipibrdg>;
169                 vdd33-supply = <&vddio_mipibrdg>;
170
171                 #address-cells = <1>;
172                 #size-cells = <0>;
173                 port@0 {
174                         reg = <0>;
175
176                         anx7625_in: endpoint {
177                                 remote-endpoint = <&dsi_out>;
178                         };
179                 };
180
181                 port@1 {
182                         reg = <1>;
183
184                         anx7625_out: endpoint {
185                                 remote-endpoint = <&panel_in>;
186                         };
187                 };
188         };
189 };
190
191 &i2c_tunnel {
192         google,remote-bus = <2>;
193 };
194
195 &pio {
196         /* 192 lines */
197         gpio-line-names =
198                 "SPI_AP_EC_CS_L",
199                 "SPI_AP_EC_MOSI",
200                 "SPI_AP_EC_CLK",
201                 "I2S3_DO",
202                 "USB_PD_INT_ODL",
203                 "",
204                 "",
205                 "",
206                 "",
207                 "IT6505_HPD_L",
208                 "I2S3_TDM_D3",
209                 "SOC_I2C6_1V8_SCL",
210                 "SOC_I2C6_1V8_SDA",
211                 "DPI_D0",
212                 "DPI_D1",
213                 "DPI_D2",
214                 "DPI_D3",
215                 "DPI_D4",
216                 "DPI_D5",
217                 "DPI_D6",
218                 "DPI_D7",
219                 "DPI_D8",
220                 "DPI_D9",
221                 "DPI_D10",
222                 "DPI_D11",
223                 "DPI_HSYNC",
224                 "DPI_VSYNC",
225                 "DPI_DE",
226                 "DPI_CK",
227                 "AP_MSDC1_CLK",
228                 "AP_MSDC1_DAT3",
229                 "AP_MSDC1_CMD",
230                 "AP_MSDC1_DAT0",
231                 "AP_MSDC1_DAT2",
232                 "AP_MSDC1_DAT1",
233                 "",
234                 "",
235                 "",
236                 "",
237                 "",
238                 "",
239                 "OTG_EN",
240                 "DRVBUS",
241                 "DISP_PWM",
242                 "DSI_TE",
243                 "LCM_RST_1V8",
244                 "AP_CTS_WIFI_RTS",
245                 "AP_RTS_WIFI_CTS",
246                 "SOC_I2C5_1V8_SCL",
247                 "SOC_I2C5_1V8_SDA",
248                 "SOC_I2C3_1V8_SCL",
249                 "SOC_I2C3_1V8_SDA",
250                 "",
251                 "",
252                 "",
253                 "",
254                 "",
255                 "",
256                 "",
257                 "",
258                 "",
259                 "",
260                 "",
261                 "",
262                 "",
263                 "",
264                 "",
265                 "",
266                 "",
267                 "",
268                 "",
269                 "",
270                 "",
271                 "",
272                 "",
273                 "",
274                 "",
275                 "",
276                 "",
277                 "",
278                 "",
279                 "SOC_I2C1_1V8_SDA",
280                 "SOC_I2C0_1V8_SDA",
281                 "SOC_I2C0_1V8_SCL",
282                 "SOC_I2C1_1V8_SCL",
283                 "AP_SPI_H1_MISO",
284                 "AP_SPI_H1_CS_L",
285                 "AP_SPI_H1_MOSI",
286                 "AP_SPI_H1_CLK",
287                 "I2S5_BCK",
288                 "I2S5_LRCK",
289                 "I2S5_DO",
290                 "BOOTBLOCK_EN_L",
291                 "MT8183_KPCOL0",
292                 "SPI_AP_EC_MISO",
293                 "UART_DBG_TX_AP_RX",
294                 "UART_AP_TX_DBG_RX",
295                 "I2S2_MCK",
296                 "I2S2_BCK",
297                 "CLK_5M_WCAM",
298                 "CLK_2M_UCAM",
299                 "I2S2_LRCK",
300                 "I2S2_DI",
301                 "SOC_I2C2_1V8_SCL",
302                 "SOC_I2C2_1V8_SDA",
303                 "SOC_I2C4_1V8_SCL",
304                 "SOC_I2C4_1V8_SDA",
305                 "",
306                 "SCL8",
307                 "SDA8",
308                 "FCAM_PWDN_L",
309                 "",
310                 "",
311                 "",
312                 "",
313                 "",
314                 "",
315                 "",
316                 "",
317                 "",
318                 "",
319                 "",
320                 "",
321                 "",
322                 "",
323                 "",
324                 "",
325                 "",
326                 "",
327                 "",
328                 "",
329                 "",
330                 "",
331                 "",
332                 "",
333                 "",
334                 "I2S_PMIC",
335                 "I2S_PMIC",
336                 "I2S_PMIC",
337                 "I2S_PMIC",
338                 "I2S_PMIC",
339                 "I2S_PMIC",
340                 "I2S_PMIC",
341                 "I2S_PMIC",
342                 "",
343                 "",
344                 "",
345                 "",
346                 "",
347                 "",
348                 /*
349                  * AP_FLASH_WP_L is crossystem ABI. Rev1 schematics
350                  * call it BIOS_FLASH_WP_R_L.
351                  */
352                 "AP_FLASH_WP_L",
353                 "EC_AP_INT_ODL",
354                 "IT6505_INT_ODL",
355                 "H1_INT_OD_L",
356                 "",
357                 "",
358                 "",
359                 "",
360                 "",
361                 "",
362                 "",
363                 "AP_SPI_FLASH_MISO",
364                 "AP_SPI_FLASH_CS_L",
365                 "AP_SPI_FLASH_MOSI",
366                 "AP_SPI_FLASH_CLK",
367                 "DA7219_IRQ",
368                 "",
369                 "",
370                 "",
371                 "",
372                 "",
373                 "",
374                 "",
375                 "",
376                 "",
377                 "",
378                 "",
379                 "",
380                 "",
381                 "",
382                 "",
383                 "",
384                 "",
385                 "",
386                 "",
387                 "",
388                 "",
389                 "",
390                 "",
391                 "",
392                 "",
393                 "";
394
395         pp1200_mipibrdg_en: pp1200-mipibrdg-en {
396                 pins1 {
397                         pinmux = <PINMUX_GPIO54__FUNC_GPIO54>;
398                         output-low;
399                 };
400         };
401
402         pp1800_lcd_en: pp1800-lcd-en {
403                 pins1 {
404                         pinmux = <PINMUX_GPIO36__FUNC_GPIO36>;
405                         output-low;
406                 };
407         };
408
409         pp3300_panel_pins: pp3300-panel-pins {
410                 panel_3v3_enable: panel-3v3-enable {
411                         pinmux = <PINMUX_GPIO35__FUNC_GPIO35>;
412                         output-low;
413                 };
414         };
415
416         ppvarp_lcd_en: ppvarp-lcd-en {
417                 pins1 {
418                         pinmux = <PINMUX_GPIO66__FUNC_GPIO66>;
419                         output-low;
420                 };
421         };
422
423         ppvarn_lcd_en: ppvarn-lcd-en {
424                 pins1 {
425                         pinmux = <PINMUX_GPIO166__FUNC_GPIO166>;
426                         output-low;
427                 };
428         };
429
430         anx7625_pins: anx7625-pins {
431                 pins1 {
432                         pinmux = <PINMUX_GPIO45__FUNC_GPIO45>,
433                                  <PINMUX_GPIO73__FUNC_GPIO73>;
434                         output-low;
435                 };
436                 pins2 {
437                         pinmux = <PINMUX_GPIO4__FUNC_GPIO4>;
438                         input-enable;
439                         bias-pull-up;
440                 };
441         };
442
443         touchscreen_pins: touchscreen-pins {
444                 touch-int-odl {
445                         pinmux = <PINMUX_GPIO155__FUNC_GPIO155>;
446                         input-enable;
447                         bias-pull-up;
448                 };
449
450                 touch-rst-l {
451                         pinmux = <PINMUX_GPIO156__FUNC_GPIO156>;
452                         output-high;
453                 };
454         };
455
456         trackpad_pins: trackpad-pins {
457                 trackpad-int {
458                         pinmux = <PINMUX_GPIO7__FUNC_GPIO7>;
459                         input-enable;
460                         bias-disable; /* pulled externally */
461                 };
462         };
463
464         vddio_mipibrdg_en: vddio-mipibrdg-en {
465                 pins1 {
466                         pinmux = <PINMUX_GPIO37__FUNC_GPIO37>;
467                         output-low;
468                 };
469         };
470
471         volume_button_pins: volume-button-pins {
472                 voldn-btn-odl {
473                         pinmux = <PINMUX_GPIO6__FUNC_GPIO6>;
474                         input-enable;
475                         bias-pull-up;
476                 };
477
478                 volup-btn-odl {
479                         pinmux = <PINMUX_GPIO5__FUNC_GPIO5>;
480                         input-enable;
481                         bias-pull-up;
482                 };
483         };
484 };
485