Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / freescale / imx8mp-venice-gw702x.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright 2023 Gateworks Corporation
4  */
5
6 #include <dt-bindings/gpio/gpio.h>
7 #include <dt-bindings/input/linux-event-codes.h>
8 #include <dt-bindings/net/ti-dp83867.h>
9
10 / {
11         aliases {
12                 ethernet0 = &eqos;
13         };
14
15         memory@40000000 {
16                 device_type = "memory";
17                 reg = <0x0 0x40000000 0 0x80000000>;
18         };
19
20         gpio-keys {
21                 compatible = "gpio-keys";
22
23                 key-user-pb {
24                         label = "user_pb";
25                         gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
26                         linux,code = <BTN_0>;
27                 };
28
29                 key-user-pb1x {
30                         label = "user_pb1x";
31                         linux,code = <BTN_1>;
32                         interrupt-parent = <&gsc>;
33                         interrupts = <0>;
34                 };
35
36                 key-erased {
37                         label = "key_erased";
38                         linux,code = <BTN_2>;
39                         interrupt-parent = <&gsc>;
40                         interrupts = <1>;
41                 };
42
43                 key-eeprom-wp {
44                         label = "eeprom_wp";
45                         linux,code = <BTN_3>;
46                         interrupt-parent = <&gsc>;
47                         interrupts = <2>;
48                 };
49
50                 key-tamper {
51                         label = "tamper";
52                         linux,code = <BTN_4>;
53                         interrupt-parent = <&gsc>;
54                         interrupts = <5>;
55                 };
56
57                 switch-hold {
58                         label = "switch_hold";
59                         linux,code = <BTN_5>;
60                         interrupt-parent = <&gsc>;
61                         interrupts = <7>;
62                 };
63         };
64 };
65
66 &A53_0 {
67         cpu-supply = <&buck3_reg>;
68 };
69
70 &A53_1 {
71         cpu-supply = <&buck3_reg>;
72 };
73
74 &A53_2 {
75         cpu-supply = <&buck3_reg>;
76 };
77
78 &A53_3 {
79         cpu-supply = <&buck3_reg>;
80 };
81
82 &eqos {
83         pinctrl-names = "default";
84         pinctrl-0 = <&pinctrl_eqos>;
85         phy-mode = "rgmii-id";
86         phy-handle = <&ethphy0>;
87         status = "okay";
88
89         mdio {
90                 compatible = "snps,dwmac-mdio";
91                 #address-cells = <1>;
92                 #size-cells = <0>;
93
94                 ethphy0: ethernet-phy@0 {
95                         compatible = "ethernet-phy-ieee802.3-c22";
96                         pinctrl-0 = <&pinctrl_ethphy0>;
97                         pinctrl-names = "default";
98                         reg = <0x0>;
99                         interrupt-parent = <&gpio3>;
100                         interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
101                         ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
102                         ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
103                         tx-fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
104                         rx-fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
105                 };
106         };
107 };
108
109 &i2c1 {
110         clock-frequency = <100000>;
111         pinctrl-names = "default", "gpio";
112         pinctrl-0 = <&pinctrl_i2c1>;
113         pinctrl-1 = <&pinctrl_i2c1_gpio>;
114         scl-gpios = <&gpio5 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
115         sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
116         status = "okay";
117
118         gsc: gsc@20 {
119                 compatible = "gw,gsc";
120                 reg = <0x20>;
121                 pinctrl-0 = <&pinctrl_gsc>;
122                 interrupt-parent = <&gpio2>;
123                 interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
124                 interrupt-controller;
125                 #interrupt-cells = <1>;
126                 #address-cells = <1>;
127                 #size-cells = <0>;
128
129                 adc {
130                         compatible = "gw,gsc-adc";
131                         #address-cells = <1>;
132                         #size-cells = <0>;
133
134                         channel@6 {
135                                 gw,mode = <0>;
136                                 reg = <0x06>;
137                                 label = "temp";
138                         };
139
140                         channel@8 {
141                                 gw,mode = <3>;
142                                 reg = <0x08>;
143                                 label = "vdd_bat";
144                         };
145
146                         channel@16 {
147                                 gw,mode = <4>;
148                                 reg = <0x16>;
149                                 label = "fan_tach";
150                         };
151
152                         channel@82 {
153                                 gw,mode = <2>;
154                                 reg = <0x82>;
155                                 label = "vdd_vin";
156                                 gw,voltage-divider-ohms = <22100 1000>;
157                         };
158
159                         channel@84 {
160                                 gw,mode = <2>;
161                                 reg = <0x84>;
162                                 label = "vdd_adc1";
163                                 gw,voltage-divider-ohms = <10000 10000>;
164                         };
165
166                         channel@86 {
167                                 gw,mode = <2>;
168                                 reg = <0x86>;
169                                 label = "vdd_adc2";
170                                 gw,voltage-divider-ohms = <10000 10000>;
171                         };
172
173                         channel@88 {
174                                 gw,mode = <2>;
175                                 reg = <0x88>;
176                                 label = "vdd_1p0";
177                         };
178
179                         channel@8c {
180                                 gw,mode = <2>;
181                                 reg = <0x8c>;
182                                 label = "vdd_1p8";
183                         };
184
185                         channel@8e {
186                                 gw,mode = <2>;
187                                 reg = <0x8e>;
188                                 label = "vdd_2p5";
189                         };
190
191                         channel@90 {
192                                 gw,mode = <2>;
193                                 reg = <0x90>;
194                                 label = "vdd_3p3";
195                                 gw,voltage-divider-ohms = <10000 10000>;
196                         };
197
198                         channel@92 {
199                                 gw,mode = <2>;
200                                 reg = <0x92>;
201                                 label = "vdd_dram";
202                         };
203
204                         channel@98 {
205                                 gw,mode = <2>;
206                                 reg = <0x98>;
207                                 label = "vdd_soc";
208                         };
209
210                         channel@9a {
211                                 gw,mode = <2>;
212                                 reg = <0x9a>;
213                                 label = "vdd_arm";
214                         };
215
216                         channel@a2 {
217                                 gw,mode = <2>;
218                                 reg = <0xa2>;
219                                 label = "vdd_gsc";
220                                 gw,voltage-divider-ohms = <10000 10000>;
221                         };
222                 };
223
224                 fan-controller@0 {
225                         compatible = "gw,gsc-fan";
226                         reg = <0x0a>;
227                 };
228         };
229
230         gpio: gpio@23 {
231                 compatible = "nxp,pca9555";
232                 reg = <0x23>;
233                 gpio-controller;
234                 #gpio-cells = <2>;
235                 interrupt-parent = <&gsc>;
236                 interrupts = <4>;
237         };
238
239         eeprom@50 {
240                 compatible = "atmel,24c02";
241                 reg = <0x50>;
242                 pagesize = <16>;
243         };
244
245         eeprom@51 {
246                 compatible = "atmel,24c02";
247                 reg = <0x51>;
248                 pagesize = <16>;
249         };
250
251         eeprom@52 {
252                 compatible = "atmel,24c02";
253                 reg = <0x52>;
254                 pagesize = <16>;
255         };
256
257         eeprom@53 {
258                 compatible = "atmel,24c02";
259                 reg = <0x53>;
260                 pagesize = <16>;
261         };
262
263         rtc@68 {
264                 compatible = "dallas,ds1672";
265                 reg = <0x68>;
266         };
267
268         pmic@69 {
269                 compatible = "mps,mp5416";
270                 reg = <0x69>;
271
272                 regulators {
273                         /* vdd_soc */
274                         buck1 {
275                                 regulator-name = "buck1";
276                                 regulator-min-microvolt = <850000>;
277                                 regulator-max-microvolt = <1000000>;
278                                 regulator-always-on;
279                                 regulator-boot-on;
280                         };
281
282                         /* vdd_dram */
283                         buck2 {
284                                 regulator-name = "buck2";
285                                 regulator-min-microvolt = <1100000>;
286                                 regulator-max-microvolt = <1100000>;
287                                 regulator-always-on;
288                                 regulator-boot-on;
289                         };
290
291                         /* vdd_arm */
292                         buck3_reg: buck3 {
293                                 regulator-name = "buck3";
294                                 regulator-min-microvolt = <850000>;
295                                 regulator-max-microvolt = <1000000>;
296                                 regulator-always-on;
297                                 regulator-boot-on;
298                         };
299
300                         /* vdd_1p8 */
301                         buck4 {
302                                 regulator-name = "buck4";
303                                 regulator-min-microvolt = <1800000>;
304                                 regulator-max-microvolt = <1800000>;
305                                 regulator-always-on;
306                                 regulator-boot-on;
307                         };
308
309                         /* OUT2: nvcc_snvs_1p8 */
310                         ldo1 {
311                                 regulator-name = "ldo1";
312                                 regulator-min-microvolt = <1800000>;
313                                 regulator-max-microvolt = <1800000>;
314                                 regulator-always-on;
315                                 regulator-boot-on;
316                         };
317
318                         /* OUT3: vdd_1p0 */
319                         ldo2 {
320                                 regulator-name = "ldo2";
321                                 regulator-min-microvolt = <1000000>;
322                                 regulator-max-microvolt = <1000000>;
323                                 regulator-always-on;
324                                 regulator-boot-on;
325                         };
326
327                         /* OUT4: vdd_2p5 */
328                         ldo3 {
329                                 regulator-name = "ldo3";
330                                 regulator-min-microvolt = <2500000>;
331                                 regulator-max-microvolt = <2500000>;
332                                 regulator-always-on;
333                                 regulator-boot-on;
334                         };
335
336                         /* OUT5: vdd_3p3 */
337                         ldo4 {
338                                 regulator-name = "ldo4";
339                                 regulator-min-microvolt = <3300000>;
340                                 regulator-max-microvolt = <3300000>;
341                                 regulator-always-on;
342                                 regulator-boot-on;
343                         };
344                 };
345         };
346 };
347
348 /* off-board header */
349 &i2c2 {
350         clock-frequency = <400000>;
351         pinctrl-names = "default", "gpio";
352         pinctrl-0 = <&pinctrl_i2c2>;
353         pinctrl-1 = <&pinctrl_i2c2_gpio>;
354         scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
355         sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
356         status = "okay";
357
358         eeprom@52 {
359                 compatible = "atmel,24c32";
360                 reg = <0x52>;
361                 pagesize = <32>;
362         };
363 };
364
365 /* off-board header */
366 &i2c3 {
367         clock-frequency = <400000>;
368         pinctrl-names = "default", "gpio";
369         pinctrl-0 = <&pinctrl_i2c3>;
370         pinctrl-1 = <&pinctrl_i2c3_gpio>;
371         scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
372         sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
373         status = "okay";
374 };
375
376 /* off-board header */
377 &uart1 {
378         pinctrl-names = "default";
379         pinctrl-0 = <&pinctrl_uart1>;
380         status = "okay";
381 };
382
383 /* console */
384 &uart2 {
385         pinctrl-names = "default";
386         pinctrl-0 = <&pinctrl_uart2>;
387         status = "okay";
388 };
389
390 /* off-board header */
391 &uart3 {
392         pinctrl-names = "default";
393         pinctrl-0 = <&pinctrl_uart3>;
394         status = "okay";
395 };
396
397 /* off-board */
398 &usdhc1 {
399         pinctrl-names = "default";
400         pinctrl-0 = <&pinctrl_usdhc1>;
401         bus-width = <4>;
402         non-removable;
403         status = "okay";
404         bus-width = <4>;
405         non-removable;
406         status = "okay";
407 };
408
409 /* eMMC */
410 &usdhc3 {
411         pinctrl-names = "default", "state_100mhz", "state_200mhz";
412         pinctrl-0 = <&pinctrl_usdhc3>;
413         pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
414         pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
415         bus-width = <8>;
416         non-removable;
417         status = "okay";
418 };
419
420 &wdog1 {
421         pinctrl-names = "default";
422         pinctrl-0 = <&pinctrl_wdog>;
423         fsl,ext-reset-output;
424         status = "okay";
425 };
426
427 &iomuxc {
428         pinctrl_eqos: eqosgrp {
429                 fsl,pins = <
430                         MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC                     0x2
431                         MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO                   0x2
432                         MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0               0x90
433                         MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1               0x90
434                         MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2               0x90
435                         MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3               0x90
436                         MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK       0x90
437                         MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL         0x90
438                         MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0               0x16
439                         MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1               0x16
440                         MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2               0x16
441                         MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3               0x16
442                         MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL         0x16
443                         MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK       0x16
444                 >;
445         };
446
447         pinctrl_ethphy0: ethphy0grp {
448                 fsl,pins = <
449                         MX8MP_IOMUXC_NAND_DQS__GPIO3_IO14       0x140 /* RST# */
450                         MX8MP_IOMUXC_NAND_READY_B__GPIO3_IO16   0x150 /* IRQ# */
451                 >;
452         };
453
454         pinctrl_gsc: gscgrp {
455                 fsl,pins = <
456                         MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06      0x150 /* IRQ# */
457                 >;
458         };
459
460         pinctrl_i2c1: i2c1grp {
461                 fsl,pins = <
462                         MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL         0x400001c2
463                         MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA         0x400001c2
464                 >;
465         };
466
467         pinctrl_i2c1_gpio: i2c1gpiogrp {
468                 fsl,pins = <
469                         MX8MP_IOMUXC_I2C1_SCL__GPIO5_IO14       0x400001c2
470                         MX8MP_IOMUXC_I2C1_SDA__GPIO5_IO15       0x400001c2
471                 >;
472         };
473
474         pinctrl_i2c2: i2c2grp {
475                 fsl,pins = <
476                         MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL         0x400001c2
477                         MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA         0x400001c2
478                 >;
479         };
480
481         pinctrl_i2c2_gpio: i2c2gpiogrp {
482                 fsl,pins = <
483                         MX8MP_IOMUXC_I2C2_SCL__GPIO5_IO16       0x400001c2
484                         MX8MP_IOMUXC_I2C2_SDA__GPIO5_IO17       0x400001c2
485                 >;
486         };
487
488         pinctrl_i2c3: i2c3grp {
489                 fsl,pins = <
490                         MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL         0x400001c2
491                         MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA         0x400001c2
492                 >;
493         };
494
495         pinctrl_i2c3_gpio: i2c3gpiogrp {
496                 fsl,pins = <
497                         MX8MP_IOMUXC_I2C3_SCL__GPIO5_IO18       0x400001c2
498                         MX8MP_IOMUXC_I2C3_SDA__GPIO5_IO19       0x400001c2
499                 >;
500         };
501
502         pinctrl_uart1: uart1grp {
503                 fsl,pins = <
504                         MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX    0x140
505                         MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX    0x140
506                 >;
507         };
508
509         pinctrl_uart2: uart2grp {
510                 fsl,pins = <
511                         MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX    0x140
512                         MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX    0x140
513                 >;
514         };
515
516         pinctrl_uart3: uart3grp {
517                 fsl,pins = <
518                         MX8MP_IOMUXC_UART3_RXD__UART3_DCE_RX    0x140
519                         MX8MP_IOMUXC_UART3_TXD__UART3_DCE_TX    0x140
520                 >;
521         };
522
523         pinctrl_usdhc1: usdhc1grp {
524                 fsl,pins = <
525                         MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK        0x190
526                         MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD        0x1d0
527                         MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0    0x1d0
528                         MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1    0x1d0
529                         MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2    0x1d0
530                         MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3    0x1d0
531                 >;
532         };
533
534         pinctrl_usdhc3: usdhc3grp {
535                 fsl,pins = <
536                         MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK      0x190
537                         MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD      0x1d0
538                         MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0  0x1d0
539                         MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1  0x1d0
540                         MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2  0x1d0
541                         MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3  0x1d0
542                         MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4    0x1d0
543                         MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5   0x1d0
544                         MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6   0x1d0
545                         MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7     0x1d0
546                         MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE  0x190
547                 >;
548         };
549
550         pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
551                 fsl,pins = <
552                         MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK      0x194
553                         MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD      0x1d4
554                         MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0  0x1d4
555                         MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1  0x1d4
556                         MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2  0x1d4
557                         MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3  0x1d4
558                         MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4    0x1d4
559                         MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5   0x1d4
560                         MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6   0x1d4
561                         MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7     0x1d4
562                         MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE  0x194
563                 >;
564         };
565
566         pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
567                 fsl,pins = <
568                         MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK      0x196
569                         MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD      0x1d6
570                         MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0  0x1d6
571                         MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1  0x1d6
572                         MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2  0x1d6
573                         MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3  0x1d6
574                         MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4    0x1d6
575                         MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5   0x1d6
576                         MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6   0x1d6
577                         MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7     0x1d6
578                         MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE  0x196
579                 >;
580         };
581
582         pinctrl_wdog: wdoggrp {
583                 fsl,pins = <
584                         MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B   0x166
585                 >;
586         };
587 };