16d034093SMichal Simek// SPDX-License-Identifier: GPL-2.0+ 26d034093SMichal Simek/* 36d034093SMichal Simek * dts file for Xilinx ZynqMP ZCU100 revC 46d034093SMichal Simek * 56d034093SMichal Simek * (C) Copyright 2016 - 2018, Xilinx, Inc. 66d034093SMichal Simek * 76d034093SMichal Simek * Michal Simek <michal.simek@xilinx.com> 86d034093SMichal Simek * Nathalie Chan King Choy 96d034093SMichal Simek */ 106d034093SMichal Simek 116d034093SMichal Simek/dts-v1/; 126d034093SMichal Simek 136d034093SMichal Simek#include "zynqmp.dtsi" 146d034093SMichal Simek#include "zynqmp-clk.dtsi" 156d034093SMichal Simek#include <dt-bindings/input/input.h> 166d034093SMichal Simek#include <dt-bindings/interrupt-controller/irq.h> 176d034093SMichal Simek#include <dt-bindings/gpio/gpio.h> 186d034093SMichal Simek#include <dt-bindings/phy/phy.h> 196d034093SMichal Simek 206d034093SMichal Simek/ { 216d034093SMichal Simek model = "ZynqMP ZCU100 RevC"; 226d034093SMichal Simek compatible = "xlnx,zynqmp-zcu100-revC", "xlnx,zynqmp-zcu100", "xlnx,zynqmp"; 236d034093SMichal Simek 246d034093SMichal Simek aliases { 256d034093SMichal Simek gpio0 = &gpio; 266d034093SMichal Simek i2c0 = &i2c1; 276d034093SMichal Simek rtc0 = &rtc; 286d034093SMichal Simek serial0 = &uart1; 296d034093SMichal Simek serial1 = &uart0; 306d034093SMichal Simek serial2 = &dcc; 316d034093SMichal Simek spi0 = &spi0; 326d034093SMichal Simek spi1 = &spi1; 336d034093SMichal Simek usb0 = &usb0; 346d034093SMichal Simek usb1 = &usb1; 356d034093SMichal Simek mmc0 = &sdhci0; 366d034093SMichal Simek mmc1 = &sdhci1; 376d034093SMichal Simek }; 386d034093SMichal Simek 396d034093SMichal Simek chosen { 406d034093SMichal Simek bootargs = "earlycon"; 416d034093SMichal Simek stdout-path = "serial0:115200n8"; 426d034093SMichal Simek }; 436d034093SMichal Simek 446d034093SMichal Simek memory@0 { 456d034093SMichal Simek device_type = "memory"; 466d034093SMichal Simek reg = <0x0 0x0 0x0 0x80000000>; 476d034093SMichal Simek }; 486d034093SMichal Simek 496d034093SMichal Simek gpio-keys { 506d034093SMichal Simek compatible = "gpio-keys"; 516d034093SMichal Simek autorepeat; 526d034093SMichal Simek sw4 { 536d034093SMichal Simek label = "sw4"; 546d034093SMichal Simek gpios = <&gpio 23 GPIO_ACTIVE_LOW>; 556d034093SMichal Simek linux,code = <KEY_POWER>; 566d034093SMichal Simek gpio-key,wakeup; 576d034093SMichal Simek autorepeat; 586d034093SMichal Simek }; 596d034093SMichal Simek }; 606d034093SMichal Simek 616d034093SMichal Simek iio-hwmon { 626d034093SMichal Simek compatible = "iio-hwmon"; 636d034093SMichal Simek io-channels = <&xilinx_ams 0>, <&xilinx_ams 1>, <&xilinx_ams 2>, 646d034093SMichal Simek <&xilinx_ams 3>, <&xilinx_ams 4>, <&xilinx_ams 5>, 656d034093SMichal Simek <&xilinx_ams 6>, <&xilinx_ams 7>, <&xilinx_ams 8>, 666d034093SMichal Simek <&xilinx_ams 9>, <&xilinx_ams 10>, 676d034093SMichal Simek <&xilinx_ams 11>, <&xilinx_ams 12>; 686d034093SMichal Simek }; 696d034093SMichal Simek 706d034093SMichal Simek leds { 716d034093SMichal Simek compatible = "gpio-leds"; 726d034093SMichal Simek ds2 { 736d034093SMichal Simek label = "ds2"; 746d034093SMichal Simek gpios = <&gpio 20 GPIO_ACTIVE_HIGH>; 756d034093SMichal Simek linux,default-trigger = "heartbeat"; 766d034093SMichal Simek }; 776d034093SMichal Simek 786d034093SMichal Simek ds3 { 796d034093SMichal Simek label = "ds3"; 806d034093SMichal Simek gpios = <&gpio 19 GPIO_ACTIVE_HIGH>; 816d034093SMichal Simek linux,default-trigger = "phy0tx"; /* WLAN tx */ 826d034093SMichal Simek default-state = "off"; 836d034093SMichal Simek }; 846d034093SMichal Simek 856d034093SMichal Simek ds4 { 866d034093SMichal Simek label = "ds4"; 876d034093SMichal Simek gpios = <&gpio 18 GPIO_ACTIVE_HIGH>; 886d034093SMichal Simek linux,default-trigger = "phy0rx"; /* WLAN rx */ 896d034093SMichal Simek default-state = "off"; 906d034093SMichal Simek }; 916d034093SMichal Simek 926d034093SMichal Simek ds5 { 936d034093SMichal Simek label = "ds5"; 946d034093SMichal Simek gpios = <&gpio 17 GPIO_ACTIVE_HIGH>; 956d034093SMichal Simek linux,default-trigger = "bluetooth-power"; 966d034093SMichal Simek }; 976d034093SMichal Simek 986d034093SMichal Simek vbus_det { /* U5 USB5744 VBUS detection via MIO25 */ 996d034093SMichal Simek label = "vbus_det"; 1006d034093SMichal Simek gpios = <&gpio 25 GPIO_ACTIVE_HIGH>; 1016d034093SMichal Simek default-state = "on"; 1026d034093SMichal Simek }; 1036d034093SMichal Simek }; 1046d034093SMichal Simek 1056d034093SMichal Simek ltc2954: ltc2954 { /* U7 */ 1066d034093SMichal Simek compatible = "lltc,ltc2954", "lltc,ltc2952"; 107*8418d2deSMichal Simek status = "disabled"; 1086d034093SMichal Simek trigger-gpios = <&gpio 26 GPIO_ACTIVE_LOW>; /* INT line - input */ 1096d034093SMichal Simek /* If there is HW watchdog on mezzanine this signal should be connected there */ 1106d034093SMichal Simek watchdog-gpios = <&gpio 35 GPIO_ACTIVE_HIGH>; /* MIO on PAD */ 1116d034093SMichal Simek kill-gpios = <&gpio 34 GPIO_ACTIVE_LOW>; /* KILL signal - output */ 1126d034093SMichal Simek }; 1136d034093SMichal Simek 1146d034093SMichal Simek wmmcsdio_fixed: fixedregulator-mmcsdio { 1156d034093SMichal Simek compatible = "regulator-fixed"; 1166d034093SMichal Simek regulator-name = "wmmcsdio_fixed"; 1176d034093SMichal Simek regulator-min-microvolt = <3300000>; 1186d034093SMichal Simek regulator-max-microvolt = <3300000>; 1196d034093SMichal Simek regulator-always-on; 1206d034093SMichal Simek regulator-boot-on; 1216d034093SMichal Simek }; 1226d034093SMichal Simek 1236d034093SMichal Simek sdio_pwrseq: sdio_pwrseq { 1246d034093SMichal Simek compatible = "mmc-pwrseq-simple"; 1256d034093SMichal Simek reset-gpios = <&gpio 7 GPIO_ACTIVE_LOW>; /* WIFI_EN */ 1266d034093SMichal Simek }; 1276d034093SMichal Simek}; 1286d034093SMichal Simek 1296d034093SMichal Simek&dcc { 1306d034093SMichal Simek status = "okay"; 1316d034093SMichal Simek}; 1326d034093SMichal Simek 1336d034093SMichal Simek&gpio { 1346d034093SMichal Simek status = "okay"; 1356d034093SMichal Simek gpio-line-names = "UART1_TX", "UART1_RX", "UART0_RX", "UART0_TX", "I2C1_SCL", 1366d034093SMichal Simek "I2C1_SDA", "SPI1_SCLK", "WLAN_EN", "BT_EN", "SPI1_CS", 1376d034093SMichal Simek "SPI1_MISO", "SPI1_MOSI", "I2C_MUX_RESET", "SD0_DAT0", "SD0_DAT1", 1386d034093SMichal Simek "SD0_DAT2", "SD0_DAT3", "PS_LED3", "PS_LED2", "PS_LED1", 1396d034093SMichal Simek "PS_LED0", "SD0_CMD", "SD0_CLK", "GPIO_PB", "SD0_DETECT", 1406d034093SMichal Simek "VBUS_DET", "POWER_INT", "DP_AUX", "DP_HPD", "DP_OE", 1416d034093SMichal Simek "DP_AUX_IN", "INA226_ALERT", "PS_FP_PWR_EN", "PL_PWR_EN", "POWER_KILL", 1426d034093SMichal Simek "", "GPIO-A", "GPIO-B", "SPI0_SCLK", "GPIO-C", 1436d034093SMichal Simek "GPIO-D", "SPI0_CS", "SPI0_MISO", "SPI_MOSI", "GPIO-E", 1446d034093SMichal Simek "GPIO-F", "SD1_D0", "SD1_D1", "SD1_D2", "SD1_D3", 1456d034093SMichal Simek "SD1_CMD", "SD1_CLK", "USB0_CLK", "USB0_DIR", "USB0_DATA2", 1466d034093SMichal Simek "USB0_NXT", "USB0_DATA0", "USB0_DATA1", "USB0_STP", "USB0_DATA3", 1476d034093SMichal Simek "USB0_DATA4", "USB0_DATA5", "USB0_DATA6", "USB0_DATA7", "USB1_CLK", 1486d034093SMichal Simek "USB1_DIR", "USB1_DATA2", "USB1_NXT", "USB1_DATA0", "USB1_DATA1", 1496d034093SMichal Simek "USB1_STP", "USB1_DATA3", "USB1_DATA4", "USB1_DATA5", "USB1_DATA6", 1506d034093SMichal Simek "USB_DATA7", "WLAN_IRQ", "PMIC_IRQ", /* MIO end and EMIO start */ 1516d034093SMichal Simek "", "", 1526d034093SMichal Simek "", "", "", "", "", "", "", "", "", "", 1536d034093SMichal Simek "", "", "", "", "", "", "", "", "", "", 1546d034093SMichal Simek "", "", "", "", "", "", "", "", "", "", 1556d034093SMichal Simek "", "", "", "", "", "", "", "", "", "", 1566d034093SMichal Simek "", "", "", "", "", "", "", "", "", "", 1576d034093SMichal Simek "", "", "", "", "", "", "", "", "", "", 1586d034093SMichal Simek "", "", "", "", "", "", "", "", "", "", 1596d034093SMichal Simek "", "", "", "", "", "", "", "", "", "", 1606d034093SMichal Simek "", "", "", "", "", "", "", "", "", "", 1616d034093SMichal Simek "", "", "", ""; 1626d034093SMichal Simek}; 1636d034093SMichal Simek 1646d034093SMichal Simek&gpu { 1656d034093SMichal Simek status = "okay"; 1666d034093SMichal Simek}; 1676d034093SMichal Simek 1686d034093SMichal Simek&i2c1 { 1696d034093SMichal Simek status = "okay"; 1706d034093SMichal Simek clock-frequency = <100000>; 1716d034093SMichal Simek i2c-mux@75 { /* u11 */ 1726d034093SMichal Simek compatible = "nxp,pca9548"; 1736d034093SMichal Simek #address-cells = <1>; 1746d034093SMichal Simek #size-cells = <0>; 1756d034093SMichal Simek reg = <0x75>; 1766d034093SMichal Simek i2csw_0: i2c@0 { 1776d034093SMichal Simek #address-cells = <1>; 1786d034093SMichal Simek #size-cells = <0>; 1796d034093SMichal Simek reg = <0>; 1806d034093SMichal Simek label = "LS-I2C0"; 1816d034093SMichal Simek }; 1826d034093SMichal Simek i2csw_1: i2c@1 { 1836d034093SMichal Simek #address-cells = <1>; 1846d034093SMichal Simek #size-cells = <0>; 1856d034093SMichal Simek reg = <1>; 1866d034093SMichal Simek label = "LS-I2C1"; 1876d034093SMichal Simek }; 1886d034093SMichal Simek i2csw_2: i2c@2 { 1896d034093SMichal Simek #address-cells = <1>; 1906d034093SMichal Simek #size-cells = <0>; 1916d034093SMichal Simek reg = <2>; 1926d034093SMichal Simek label = "HS-I2C2"; 1936d034093SMichal Simek }; 1946d034093SMichal Simek i2csw_3: i2c@3 { 1956d034093SMichal Simek #address-cells = <1>; 1966d034093SMichal Simek #size-cells = <0>; 1976d034093SMichal Simek reg = <3>; 1986d034093SMichal Simek label = "HS-I2C3"; 1996d034093SMichal Simek }; 2006d034093SMichal Simek i2csw_4: i2c@4 { 2016d034093SMichal Simek #address-cells = <1>; 2026d034093SMichal Simek #size-cells = <0>; 2036d034093SMichal Simek reg = <0x4>; 2046d034093SMichal Simek 2056d034093SMichal Simek pmic: pmic@5e { /* Custom TI PMIC u33 */ 2066d034093SMichal Simek compatible = "ti,tps65086"; 2076d034093SMichal Simek reg = <0x5e>; 2086d034093SMichal Simek interrupt-parent = <&gpio>; 2096d034093SMichal Simek interrupts = <77 GPIO_ACTIVE_LOW>; 2106d034093SMichal Simek #gpio-cells = <2>; 2116d034093SMichal Simek gpio-controller; 2126d034093SMichal Simek }; 2136d034093SMichal Simek }; 2146d034093SMichal Simek i2csw_5: i2c@5 { 2156d034093SMichal Simek #address-cells = <1>; 2166d034093SMichal Simek #size-cells = <0>; 2176d034093SMichal Simek reg = <5>; 2186d034093SMichal Simek /* PS_PMBUS */ 2196d034093SMichal Simek ina226@40 { /* u35 */ 2206d034093SMichal Simek compatible = "ti,ina226"; 2216d034093SMichal Simek reg = <0x40>; 2226d034093SMichal Simek shunt-resistor = <10000>; 2236d034093SMichal Simek /* MIO31 is alert which should be routed to PMUFW */ 2246d034093SMichal Simek }; 2256d034093SMichal Simek }; 2266d034093SMichal Simek i2csw_6: i2c@6 { 2276d034093SMichal Simek #address-cells = <1>; 2286d034093SMichal Simek #size-cells = <0>; 2296d034093SMichal Simek reg = <6>; 2306d034093SMichal Simek /* 2316d034093SMichal Simek * Not Connected 2326d034093SMichal Simek */ 2336d034093SMichal Simek }; 2346d034093SMichal Simek i2csw_7: i2c@7 { 2356d034093SMichal Simek #address-cells = <1>; 2366d034093SMichal Simek #size-cells = <0>; 2376d034093SMichal Simek reg = <7>; 2386d034093SMichal Simek /* 2396d034093SMichal Simek * usb5744 (DNP) - U5 2406d034093SMichal Simek * 100kHz - this is default freq for us 2416d034093SMichal Simek */ 2426d034093SMichal Simek }; 2436d034093SMichal Simek }; 2446d034093SMichal Simek}; 2456d034093SMichal Simek 2466d034093SMichal Simek&rtc { 2476d034093SMichal Simek status = "okay"; 2486d034093SMichal Simek}; 2496d034093SMichal Simek 2506d034093SMichal Simek/* SD0 only supports 3.3V, no level shifter */ 2516d034093SMichal Simek&sdhci0 { 2526d034093SMichal Simek status = "okay"; 2536d034093SMichal Simek no-1-8-v; 2546d034093SMichal Simek disable-wp; 2556d034093SMichal Simek xlnx,mio_bank = <0>; 2566d034093SMichal Simek}; 2576d034093SMichal Simek 2586d034093SMichal Simek&sdhci1 { 2596d034093SMichal Simek status = "okay"; 2606d034093SMichal Simek bus-width = <0x4>; 2616d034093SMichal Simek xlnx,mio_bank = <0>; 2626d034093SMichal Simek non-removable; 2636d034093SMichal Simek disable-wp; 2646d034093SMichal Simek cap-power-off-card; 2656d034093SMichal Simek mmc-pwrseq = <&sdio_pwrseq>; 2666d034093SMichal Simek vqmmc-supply = <&wmmcsdio_fixed>; 2676d034093SMichal Simek #address-cells = <1>; 2686d034093SMichal Simek #size-cells = <0>; 2696d034093SMichal Simek wlcore: wifi@2 { 2706d034093SMichal Simek compatible = "ti,wl1831"; 2716d034093SMichal Simek reg = <2>; 2726d034093SMichal Simek interrupt-parent = <&gpio>; 2736d034093SMichal Simek interrupts = <76 IRQ_TYPE_EDGE_RISING>; /* MIO76 WLAN_IRQ 1V8 */ 2746d034093SMichal Simek }; 2756d034093SMichal Simek}; 2766d034093SMichal Simek 2776d034093SMichal Simek&serdes { 2786d034093SMichal Simek status = "okay"; 2796d034093SMichal Simek}; 2806d034093SMichal Simek 2816d034093SMichal Simek&spi0 { /* Low Speed connector */ 2826d034093SMichal Simek status = "okay"; 2836d034093SMichal Simek label = "LS-SPI0"; 284c7e79489SMichal Simek num-cs = <1>; 2856d034093SMichal Simek}; 2866d034093SMichal Simek 2876d034093SMichal Simek&spi1 { /* High Speed connector */ 2886d034093SMichal Simek status = "okay"; 2896d034093SMichal Simek label = "HS-SPI1"; 290c7e79489SMichal Simek num-cs = <1>; 2916d034093SMichal Simek}; 2926d034093SMichal Simek 2936d034093SMichal Simek&uart0 { 2946d034093SMichal Simek status = "okay"; 2956d034093SMichal Simek bluetooth { 2966d034093SMichal Simek compatible = "ti,wl1831-st"; 2976d034093SMichal Simek enable-gpios = <&gpio 8 GPIO_ACTIVE_HIGH>; 2986d034093SMichal Simek }; 2996d034093SMichal Simek}; 3006d034093SMichal Simek 3016d034093SMichal Simek&uart1 { 3026d034093SMichal Simek status = "okay"; 3036d034093SMichal Simek 3046d034093SMichal Simek}; 3056d034093SMichal Simek 3066d034093SMichal Simek/* ULPI SMSC USB3320 */ 3076d034093SMichal Simek&usb0 { 3086d034093SMichal Simek status = "okay"; 3096d034093SMichal Simek}; 3106d034093SMichal Simek 3116d034093SMichal Simek&dwc3_0 { 3126d034093SMichal Simek status = "okay"; 3136d034093SMichal Simek dr_mode = "peripheral"; 3146d034093SMichal Simek phy-names = "usb3-phy"; 3156d034093SMichal Simek phys = <&lane2 PHY_TYPE_USB3 0 0 26000000>; 3166d034093SMichal Simek maximum-speed = "super-speed"; 3176d034093SMichal Simek}; 3186d034093SMichal Simek 3196d034093SMichal Simek/* ULPI SMSC USB3320 */ 3206d034093SMichal Simek&usb1 { 3216d034093SMichal Simek status = "okay"; 3226d034093SMichal Simek}; 3236d034093SMichal Simek 3246d034093SMichal Simek&dwc3_1 { 3256d034093SMichal Simek status = "okay"; 3266d034093SMichal Simek dr_mode = "host"; 3276d034093SMichal Simek phy-names = "usb3-phy"; 3286d034093SMichal Simek phys = <&lane3 PHY_TYPE_USB3 1 0 26000000>; 3296d034093SMichal Simek maximum-speed = "super-speed"; 3306d034093SMichal Simek}; 3316d034093SMichal Simek 3326d034093SMichal Simek&watchdog0 { 3336d034093SMichal Simek status = "okay"; 3346d034093SMichal Simek}; 3356d034093SMichal Simek 3366d034093SMichal Simek&xilinx_ams { 3376d034093SMichal Simek status = "okay"; 3386d034093SMichal Simek}; 3396d034093SMichal Simek 3406d034093SMichal Simek&ams_ps { 3416d034093SMichal Simek status = "okay"; 3426d034093SMichal Simek}; 343