~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: GPL-2.0+
  2 /*
  3  * dts file for Xilinx ZynqMP ZCU100 revC
  4  *
  5  * (C) Copyright 2016 - 2022, Xilinx, Inc.
  6  * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc.
  7  *
  8  * Michal Simek <michal.simek@amd.com>
  9  * Nathalie Chan King Choy
 10  */
 11 
 12 /dts-v1/;
 13 
 14 #include "zynqmp.dtsi"
 15 #include "zynqmp-clk-ccf.dtsi"
 16 #include <dt-bindings/input/input.h>
 17 #include <dt-bindings/interrupt-controller/irq.h>
 18 #include <dt-bindings/gpio/gpio.h>
 19 #include <dt-bindings/pinctrl/pinctrl-zynqmp.h>
 20 #include <dt-bindings/phy/phy.h>
 21 
 22 / {
 23         model = "ZynqMP ZCU100 RevC";
 24         compatible = "xlnx,zynqmp-zcu100-revC", "xlnx,zynqmp-zcu100", "xlnx,zynqmp";
 25 
 26         aliases {
 27                 i2c0 = &i2c1;
 28                 rtc0 = &rtc;
 29                 serial0 = &uart1;
 30                 serial1 = &uart0;
 31                 serial2 = &dcc;
 32                 spi0 = &spi0;
 33                 spi1 = &spi1;
 34                 usb0 = &usb0;
 35                 usb1 = &usb1;
 36                 mmc0 = &sdhci0;
 37                 mmc1 = &sdhci1;
 38         };
 39 
 40         chosen {
 41                 bootargs = "earlycon";
 42                 stdout-path = "serial0:115200n8";
 43         };
 44 
 45         memory@0 {
 46                 device_type = "memory";
 47                 reg = <0x0 0x0 0x0 0x80000000>;
 48         };
 49 
 50         gpio-keys {
 51                 compatible = "gpio-keys";
 52                 autorepeat;
 53                 switch-4 {
 54                         label = "sw4";
 55                         gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
 56                         linux,code = <KEY_POWER>;
 57                         wakeup-source;
 58                         autorepeat;
 59                 };
 60         };
 61 
 62         iio-hwmon {
 63                 compatible = "iio-hwmon";
 64                 io-channels = <&xilinx_ams 0>, <&xilinx_ams 1>, <&xilinx_ams 2>,
 65                               <&xilinx_ams 3>, <&xilinx_ams 4>, <&xilinx_ams 5>,
 66                               <&xilinx_ams 6>, <&xilinx_ams 7>, <&xilinx_ams 8>,
 67                               <&xilinx_ams 9>, <&xilinx_ams 10>,
 68                               <&xilinx_ams 11>, <&xilinx_ams 12>;
 69         };
 70 
 71         leds {
 72                 compatible = "gpio-leds";
 73                 led-ds2 {
 74                         label = "ds2";
 75                         gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
 76                         linux,default-trigger = "heartbeat";
 77                 };
 78 
 79                 led-ds3 {
 80                         label = "ds3";
 81                         gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
 82                         linux,default-trigger = "phy0tx"; /* WLAN tx */
 83                         default-state = "off";
 84                 };
 85 
 86                 led-ds4 {
 87                         label = "ds4";
 88                         gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
 89                         linux,default-trigger = "phy0rx"; /* WLAN rx */
 90                         default-state = "off";
 91                 };
 92 
 93                 led-ds5 {
 94                         label = "ds5";
 95                         gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
 96                         linux,default-trigger = "bluetooth-power";
 97                 };
 98 
 99                 led-vbus-det { /* U5 USB5744 VBUS detection via MIO25 */
100                         label = "vbus_det";
101                         gpios = <&gpio 25 GPIO_ACTIVE_HIGH>;
102                         default-state = "on";
103                 };
104         };
105 
106         wmmcsdio_fixed: fixedregulator-mmcsdio {
107                 compatible = "regulator-fixed";
108                 regulator-name = "wmmcsdio_fixed";
109                 regulator-min-microvolt = <3300000>;
110                 regulator-max-microvolt = <3300000>;
111                 regulator-always-on;
112                 regulator-boot-on;
113         };
114 
115         sdio_pwrseq: sdio-pwrseq {
116                 compatible = "mmc-pwrseq-simple";
117                 reset-gpios = <&gpio 7 GPIO_ACTIVE_LOW>; /* WIFI_EN */
118                 post-power-on-delay-ms = <10>;
119         };
120 
121         ina226 {
122                 compatible = "iio-hwmon";
123                 io-channels = <&u35 0>, <&u35 1>, <&u35 2>, <&u35 3>;
124         };
125 
126         si5335_0: si5335-0 { /* clk0_usb - u23 */
127                 compatible = "fixed-clock";
128                 #clock-cells = <0>;
129                 clock-frequency = <26000000>;
130         };
131 
132         si5335_1: si5335-1 { /* clk1_dp - u23 */
133                 compatible = "fixed-clock";
134                 #clock-cells = <0>;
135                 clock-frequency = <27000000>;
136         };
137 };
138 
139 &dcc {
140         status = "okay";
141 };
142 
143 &gpio {
144         status = "okay";
145         gpio-line-names = "UART1_TX", "UART1_RX", "UART0_RX", "UART0_TX", "I2C1_SCL",
146                           "I2C1_SDA", "SPI1_SCLK", "WLAN_EN", "BT_EN", "SPI1_CS",
147                           "SPI1_MISO", "SPI1_MOSI", "I2C_MUX_RESET", "SD0_DAT0", "SD0_DAT1",
148                           "SD0_DAT2", "SD0_DAT3", "PS_LED3", "PS_LED2", "PS_LED1",
149                           "PS_LED0", "SD0_CMD", "SD0_CLK", "GPIO_PB", "SD0_DETECT",
150                           "VBUS_DET", "POWER_INT", "DP_AUX", "DP_HPD", "DP_OE",
151                           "DP_AUX_IN", "INA226_ALERT", "PS_FP_PWR_EN", "PL_PWR_EN", "POWER_KILL",
152                           "", "GPIO-A", "GPIO-B", "SPI0_SCLK", "GPIO-C",
153                           "GPIO-D", "SPI0_CS", "SPI0_MISO", "SPI_MOSI", "GPIO-E",
154                           "GPIO-F", "SD1_D0", "SD1_D1", "SD1_D2", "SD1_D3",
155                           "SD1_CMD", "SD1_CLK", "USB0_CLK", "USB0_DIR", "USB0_DATA2",
156                           "USB0_NXT", "USB0_DATA0", "USB0_DATA1", "USB0_STP", "USB0_DATA3",
157                           "USB0_DATA4", "USB0_DATA5", "USB0_DATA6", "USB0_DATA7", "USB1_CLK",
158                           "USB1_DIR", "USB1_DATA2", "USB1_NXT", "USB1_DATA0", "USB1_DATA1",
159                           "USB1_STP", "USB1_DATA3", "USB1_DATA4", "USB1_DATA5", "USB1_DATA6",
160                           "USB_DATA7", "WLAN_IRQ", "PMIC_IRQ", /* MIO end and EMIO start */
161                           "", "",
162                           "", "", "", "", "", "", "", "", "", "",
163                           "", "", "", "", "", "", "", "", "", "",
164                           "", "", "", "", "", "", "", "", "", "",
165                           "", "", "", "", "", "", "", "", "", "",
166                           "", "", "", "", "", "", "", "", "", "",
167                           "", "", "", "", "", "", "", "", "", "",
168                           "", "", "", "", "", "", "", "", "", "",
169                           "", "", "", "", "", "", "", "", "", "",
170                           "", "", "", "", "", "", "", "", "", "",
171                           "", "", "", "";
172 };
173 
174 &gpu {
175         status = "okay";
176 };
177 
178 &i2c1 {
179         status = "okay";
180         pinctrl-names = "default", "gpio";
181         pinctrl-0 = <&pinctrl_i2c1_default>;
182         pinctrl-1 = <&pinctrl_i2c1_gpio>;
183         scl-gpios = <&gpio 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
184         sda-gpios = <&gpio 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
185         clock-frequency = <100000>;
186         i2c-mux@75 { /* u11 */
187                 compatible = "nxp,pca9548";
188                 #address-cells = <1>;
189                 #size-cells = <0>;
190                 reg = <0x75>;
191                 i2csw_0: i2c@0 {
192                         #address-cells = <1>;
193                         #size-cells = <0>;
194                         reg = <0>;
195                         label = "LS-I2C0";
196                 };
197                 i2csw_1: i2c@1 {
198                         #address-cells = <1>;
199                         #size-cells = <0>;
200                         reg = <1>;
201                         label = "LS-I2C1";
202                 };
203                 i2csw_2: i2c@2 {
204                         #address-cells = <1>;
205                         #size-cells = <0>;
206                         reg = <2>;
207                         label = "HS-I2C2";
208                 };
209                 i2csw_3: i2c@3 {
210                         #address-cells = <1>;
211                         #size-cells = <0>;
212                         reg = <3>;
213                         label = "HS-I2C3";
214                 };
215                 i2csw_4: i2c@4 {
216                         #address-cells = <1>;
217                         #size-cells = <0>;
218                         reg = <0x4>;
219 
220                         pmic: pmic@5e { /* Custom TI PMIC u33 */
221                                 compatible = "ti,tps65086";
222                                 reg = <0x5e>;
223                                 interrupt-parent = <&gpio>;
224                                 interrupts = <77 IRQ_TYPE_LEVEL_LOW>;
225                                 #gpio-cells = <2>;
226                                 gpio-controller;
227                         };
228                 };
229                 i2csw_5: i2c@5 {
230                         #address-cells = <1>;
231                         #size-cells = <0>;
232                         reg = <5>;
233                         /* PS_PMBUS */
234                         u35: ina226@40 { /* u35 */
235                                 compatible = "ti,ina226";
236                                 #io-channel-cells = <1>;
237                                 reg = <0x40>;
238                                 shunt-resistor = <10000>;
239                                 /* MIO31 is alert which should be routed to PMUFW */
240                         };
241                 };
242                 i2csw_6: i2c@6 {
243                         #address-cells = <1>;
244                         #size-cells = <0>;
245                         reg = <6>;
246                         /*
247                          * Not Connected
248                          */
249                 };
250                 i2csw_7: i2c@7 {
251                         #address-cells = <1>;
252                         #size-cells = <0>;
253                         reg = <7>;
254                         /*
255                          * usb5744 (DNP) - U5
256                          * 100kHz - this is default freq for us
257                          */
258                 };
259         };
260 };
261 
262 &pinctrl0 {
263         status = "okay";
264         pinctrl_i2c1_default: i2c1-default {
265                 mux {
266                         groups = "i2c1_1_grp";
267                         function = "i2c1";
268                 };
269 
270                 conf {
271                         groups = "i2c1_1_grp";
272                         bias-pull-up;
273                         slew-rate = <SLEW_RATE_SLOW>;
274                         power-source = <IO_STANDARD_LVCMOS18>;
275                 };
276         };
277 
278         pinctrl_i2c1_gpio: i2c1-gpio-grp {
279                 mux {
280                         groups = "gpio0_4_grp", "gpio0_5_grp";
281                         function = "gpio0";
282                 };
283 
284                 conf {
285                         groups = "gpio0_4_grp", "gpio0_5_grp";
286                         slew-rate = <SLEW_RATE_SLOW>;
287                         power-source = <IO_STANDARD_LVCMOS18>;
288                 };
289         };
290 
291         pinctrl_sdhci0_default: sdhci0-default {
292                 mux {
293                         groups = "sdio0_3_grp";
294                         function = "sdio0";
295                 };
296 
297                 conf {
298                         groups = "sdio0_3_grp";
299                         slew-rate = <SLEW_RATE_SLOW>;
300                         power-source = <IO_STANDARD_LVCMOS18>;
301                         bias-disable;
302                 };
303 
304                 mux-cd {
305                         groups = "sdio0_cd_0_grp";
306                         function = "sdio0_cd";
307                 };
308 
309                 conf-cd {
310                         groups = "sdio0_cd_0_grp";
311                         bias-high-impedance;
312                         bias-pull-up;
313                         slew-rate = <SLEW_RATE_SLOW>;
314                         power-source = <IO_STANDARD_LVCMOS18>;
315                 };
316         };
317 
318         pinctrl_sdhci1_default: sdhci1-default {
319                 mux {
320                         groups = "sdio1_2_grp";
321                         function = "sdio1";
322                 };
323 
324                 conf {
325                         groups = "sdio1_2_grp";
326                         slew-rate = <SLEW_RATE_SLOW>;
327                         power-source = <IO_STANDARD_LVCMOS18>;
328                         bias-disable;
329                 };
330         };
331 
332         pinctrl_spi0_default: spi0-default {
333                 mux {
334                         groups = "spi0_3_grp";
335                         function = "spi0";
336                 };
337 
338                 conf {
339                         groups = "spi0_3_grp";
340                         bias-disable;
341                         slew-rate = <SLEW_RATE_SLOW>;
342                         power-source = <IO_STANDARD_LVCMOS18>;
343                 };
344 
345                 mux-cs {
346                         groups = "spi0_ss_9_grp";
347                         function = "spi0_ss";
348                 };
349 
350                 conf-cs {
351                         groups = "spi0_ss_9_grp";
352                         bias-disable;
353                 };
354 
355         };
356 
357         pinctrl_spi1_default: spi1-default {
358                 mux {
359                         groups = "spi1_0_grp";
360                         function = "spi1";
361                 };
362 
363                 conf {
364                         groups = "spi1_0_grp";
365                         bias-disable;
366                         slew-rate = <SLEW_RATE_SLOW>;
367                         power-source = <IO_STANDARD_LVCMOS18>;
368                 };
369 
370                 mux-cs {
371                         groups = "spi1_ss_0_grp";
372                         function = "spi1_ss";
373                 };
374 
375                 conf-cs {
376                         groups = "spi1_ss_0_grp";
377                         bias-disable;
378                 };
379 
380         };
381 
382         pinctrl_uart0_default: uart0-default {
383                 mux {
384                         groups = "uart0_0_grp";
385                         function = "uart0";
386                 };
387 
388                 conf {
389                         groups = "uart0_0_grp";
390                         slew-rate = <SLEW_RATE_SLOW>;
391                         power-source = <IO_STANDARD_LVCMOS18>;
392                 };
393 
394                 conf-rx {
395                         pins = "MIO3";
396                         bias-high-impedance;
397                 };
398 
399                 conf-tx {
400                         pins = "MIO2";
401                         bias-disable;
402                 };
403         };
404 
405         pinctrl_uart1_default: uart1-default {
406                 mux {
407                         groups = "uart1_0_grp";
408                         function = "uart1";
409                 };
410 
411                 conf {
412                         groups = "uart1_0_grp";
413                         slew-rate = <SLEW_RATE_SLOW>;
414                         power-source = <IO_STANDARD_LVCMOS18>;
415                 };
416 
417                 conf-rx {
418                         pins = "MIO1";
419                         bias-high-impedance;
420                 };
421 
422                 conf-tx {
423                         pins = "MIO0";
424                         bias-disable;
425                 };
426         };
427 
428         pinctrl_usb0_default: usb0-default {
429                 mux {
430                         groups = "usb0_0_grp";
431                         function = "usb0";
432                 };
433 
434                 conf {
435                         groups = "usb0_0_grp";
436                         power-source = <IO_STANDARD_LVCMOS18>;
437                 };
438 
439                 conf-rx {
440                         pins = "MIO52", "MIO53", "MIO55";
441                         bias-high-impedance;
442                         drive-strength = <12>;
443                         slew-rate = <SLEW_RATE_FAST>;
444                 };
445 
446                 conf-tx {
447                         pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",
448                                "MIO60", "MIO61", "MIO62", "MIO63";
449                         bias-disable;
450                         drive-strength = <4>;
451                         slew-rate = <SLEW_RATE_SLOW>;
452                 };
453         };
454 
455         pinctrl_usb1_default: usb1-default {
456                 mux {
457                         groups = "usb1_0_grp";
458                         function = "usb1";
459                 };
460 
461                 conf {
462                         groups = "usb1_0_grp";
463                         power-source = <IO_STANDARD_LVCMOS18>;
464                 };
465 
466                 conf-rx {
467                         pins = "MIO64", "MIO65", "MIO67";
468                         bias-high-impedance;
469                         drive-strength = <12>;
470                         slew-rate = <SLEW_RATE_FAST>;
471                 };
472 
473                 conf-tx {
474                         pins = "MIO66", "MIO68", "MIO69", "MIO70", "MIO71",
475                                "MIO72", "MIO73", "MIO74", "MIO75";
476                         bias-disable;
477                         drive-strength = <4>;
478                         slew-rate = <SLEW_RATE_SLOW>;
479                 };
480         };
481 };
482 
483 &psgtr {
484         status = "okay";
485         /* usb3, dp */
486         clocks = <&si5335_0>, <&si5335_1>;
487         clock-names = "ref0", "ref1";
488 };
489 
490 &rtc {
491         status = "okay";
492 };
493 
494 /* SD0 only supports 3.3V, no level shifter */
495 &sdhci0 {
496         status = "okay";
497         no-1-8-v;
498         disable-wp;
499         pinctrl-names = "default";
500         pinctrl-0 = <&pinctrl_sdhci0_default>;
501         xlnx,mio-bank = <0>;
502 };
503 
504 &sdhci1 {
505         status = "okay";
506         bus-width = <0x4>;
507         pinctrl-names = "default";
508         pinctrl-0 = <&pinctrl_sdhci1_default>;
509         xlnx,mio-bank = <0>;
510         non-removable;
511         disable-wp;
512         cap-power-off-card;
513         mmc-pwrseq = <&sdio_pwrseq>;
514         vqmmc-supply = <&wmmcsdio_fixed>;
515         #address-cells = <1>;
516         #size-cells = <0>;
517         wlcore: wifi@2 {
518                 compatible = "ti,wl1831";
519                 reg = <2>;
520                 interrupt-parent = <&gpio>;
521                 interrupts = <76 IRQ_TYPE_EDGE_RISING>; /* MIO76 WLAN_IRQ 1V8 */
522         };
523 };
524 
525 &spi0 { /* Low Speed connector */
526         status = "okay";
527         label = "LS-SPI0";
528         num-cs = <1>;
529         pinctrl-names = "default";
530         pinctrl-0 = <&pinctrl_spi0_default>;
531 };
532 
533 &spi1 { /* High Speed connector */
534         status = "okay";
535         label = "HS-SPI1";
536         num-cs = <1>;
537         pinctrl-names = "default";
538         pinctrl-0 = <&pinctrl_spi1_default>;
539 };
540 
541 &uart0 {
542         status = "okay";
543         pinctrl-names = "default";
544         pinctrl-0 = <&pinctrl_uart0_default>;
545         bluetooth {
546                 compatible = "ti,wl1831-st";
547                 enable-gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
548         };
549 };
550 
551 &uart1 {
552         status = "okay";
553         pinctrl-names = "default";
554         pinctrl-0 = <&pinctrl_uart1_default>;
555 };
556 
557 /* ULPI SMSC USB3320 */
558 &usb0 {
559         status = "okay";
560         pinctrl-names = "default";
561         pinctrl-0 = <&pinctrl_usb0_default>;
562         phy-names = "usb3-phy";
563         phys = <&psgtr 2 PHY_TYPE_USB3 0 0>;
564         /delete-property/ reset-gpios;
565 };
566 
567 &dwc3_0 {
568         status = "okay";
569         dr_mode = "peripheral";
570         maximum-speed = "super-speed";
571 };
572 
573 /* ULPI SMSC USB3320 */
574 &usb1 {
575         status = "okay";
576         pinctrl-names = "default";
577         pinctrl-0 = <&pinctrl_usb1_default>;
578         phy-names = "usb3-phy";
579         phys = <&psgtr 3 PHY_TYPE_USB3 1 0>;
580         reset-gpios = <&modepin_gpio 1 GPIO_ACTIVE_LOW>;
581 };
582 
583 &dwc3_1 {
584         status = "okay";
585         dr_mode = "host";
586         maximum-speed = "super-speed";
587 };
588 
589 &watchdog0 {
590         status = "okay";
591 };
592 
593 &xilinx_ams {
594         status = "okay";
595 };
596 
597 &ams_ps {
598         status = "okay";
599 };
600 
601 &zynqmp_dpdma {
602         status = "okay";
603 };
604 
605 &zynqmp_dpsub {
606         status = "okay";
607         phy-names = "dp-phy0", "dp-phy1";
608         phys = <&psgtr 1 PHY_TYPE_DP 0 1>,
609                <&psgtr 0 PHY_TYPE_DP 1 1>;
610 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php