treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / arch / arm64 / boot / dts / xilinx / zynqmp-zcu100-revC.dts
blobe5699d0d91e45df9809a6875a9ac2da7942a9228
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * dts file for Xilinx ZynqMP ZCU100 revC
4  *
5  * (C) Copyright 2016 - 2018, Xilinx, Inc.
6  *
7  * Michal Simek <michal.simek@xilinx.com>
8  * Nathalie Chan King Choy
9  */
11 /dts-v1/;
13 #include "zynqmp.dtsi"
14 #include "zynqmp-clk.dtsi"
15 #include <dt-bindings/input/input.h>
16 #include <dt-bindings/interrupt-controller/irq.h>
17 #include <dt-bindings/gpio/gpio.h>
19 / {
20         model = "ZynqMP ZCU100 RevC";
21         compatible = "xlnx,zynqmp-zcu100-revC", "xlnx,zynqmp-zcu100", "xlnx,zynqmp";
23         aliases {
24                 i2c0 = &i2c1;
25                 rtc0 = &rtc;
26                 serial0 = &uart1;
27                 serial1 = &uart0;
28                 serial2 = &dcc;
29                 spi0 = &spi0;
30                 spi1 = &spi1;
31                 mmc0 = &sdhci0;
32                 mmc1 = &sdhci1;
33         };
35         chosen {
36                 bootargs = "earlycon";
37                 stdout-path = "serial0:115200n8";
38         };
40         memory@0 {
41                 device_type = "memory";
42                 reg = <0x0 0x0 0x0 0x80000000>;
43         };
45         gpio-keys {
46                 compatible = "gpio-keys";
47                 autorepeat;
48                 sw4 {
49                         label = "sw4";
50                         gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
51                         linux,code = <KEY_POWER>;
52                         wakeup-source;
53                         autorepeat;
54                 };
55         };
57         leds {
58                 compatible = "gpio-leds";
59                 ds2 {
60                         label = "ds2";
61                         gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
62                         linux,default-trigger = "heartbeat";
63                 };
65                 ds3 {
66                         label = "ds3";
67                         gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
68                         linux,default-trigger = "phy0tx"; /* WLAN tx */
69                         default-state = "off";
70                 };
72                 ds4 {
73                         label = "ds4";
74                         gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
75                         linux,default-trigger = "phy0rx"; /* WLAN rx */
76                         default-state = "off";
77                 };
79                 ds5 {
80                         label = "ds5";
81                         gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
82                         linux,default-trigger = "bluetooth-power";
83                 };
85                 vbus-det { /* U5 USB5744 VBUS detection via MIO25 */
86                         label = "vbus_det";
87                         gpios = <&gpio 25 GPIO_ACTIVE_HIGH>;
88                         default-state = "on";
89                 };
90         };
92         wmmcsdio_fixed: fixedregulator-mmcsdio {
93                 compatible = "regulator-fixed";
94                 regulator-name = "wmmcsdio_fixed";
95                 regulator-min-microvolt = <3300000>;
96                 regulator-max-microvolt = <3300000>;
97                 regulator-always-on;
98                 regulator-boot-on;
99         };
101         sdio_pwrseq: sdio-pwrseq {
102                 compatible = "mmc-pwrseq-simple";
103                 reset-gpios = <&gpio 7 GPIO_ACTIVE_LOW>; /* WIFI_EN */
104                 post-power-on-delay-ms = <10>;
105         };
108 &dcc {
109         status = "okay";
112 &gpio {
113         status = "okay";
114         gpio-line-names = "UART1_TX", "UART1_RX", "UART0_RX", "UART0_TX", "I2C1_SCL",
115                           "I2C1_SDA", "SPI1_SCLK", "WLAN_EN", "BT_EN", "SPI1_CS",
116                           "SPI1_MISO", "SPI1_MOSI", "I2C_MUX_RESET", "SD0_DAT0", "SD0_DAT1",
117                           "SD0_DAT2", "SD0_DAT3", "PS_LED3", "PS_LED2", "PS_LED1",
118                           "PS_LED0", "SD0_CMD", "SD0_CLK", "GPIO_PB", "SD0_DETECT",
119                           "VBUS_DET", "POWER_INT", "DP_AUX", "DP_HPD", "DP_OE",
120                           "DP_AUX_IN", "INA226_ALERT", "PS_FP_PWR_EN", "PL_PWR_EN", "POWER_KILL",
121                           "", "GPIO-A", "GPIO-B", "SPI0_SCLK", "GPIO-C",
122                           "GPIO-D", "SPI0_CS", "SPI0_MISO", "SPI_MOSI", "GPIO-E",
123                           "GPIO-F", "SD1_D0", "SD1_D1", "SD1_D2", "SD1_D3",
124                           "SD1_CMD", "SD1_CLK", "USB0_CLK", "USB0_DIR", "USB0_DATA2",
125                           "USB0_NXT", "USB0_DATA0", "USB0_DATA1", "USB0_STP", "USB0_DATA3",
126                           "USB0_DATA4", "USB0_DATA5", "USB0_DATA6", "USB0_DATA7", "USB1_CLK",
127                           "USB1_DIR", "USB1_DATA2", "USB1_NXT", "USB1_DATA0", "USB1_DATA1",
128                           "USB1_STP", "USB1_DATA3", "USB1_DATA4", "USB1_DATA5", "USB1_DATA6",
129                           "USB_DATA7", "WLAN_IRQ", "PMIC_IRQ", /* MIO end and EMIO start */
130                           "", "",
131                           "", "", "", "", "", "", "", "", "", "",
132                           "", "", "", "", "", "", "", "", "", "",
133                           "", "", "", "", "", "", "", "", "", "",
134                           "", "", "", "", "", "", "", "", "", "",
135                           "", "", "", "", "", "", "", "", "", "",
136                           "", "", "", "", "", "", "", "", "", "",
137                           "", "", "", "", "", "", "", "", "", "",
138                           "", "", "", "", "", "", "", "", "", "",
139                           "", "", "", "", "", "", "", "", "", "",
140                           "", "", "", "";
143 &i2c1 {
144         status = "okay";
145         clock-frequency = <100000>;
146         i2c-mux@75 { /* u11 */
147                 compatible = "nxp,pca9548";
148                 #address-cells = <1>;
149                 #size-cells = <0>;
150                 reg = <0x75>;
151                 i2csw_0: i2c@0 {
152                         #address-cells = <1>;
153                         #size-cells = <0>;
154                         reg = <0>;
155                         label = "LS-I2C0";
156                 };
157                 i2csw_1: i2c@1 {
158                         #address-cells = <1>;
159                         #size-cells = <0>;
160                         reg = <1>;
161                         label = "LS-I2C1";
162                 };
163                 i2csw_2: i2c@2 {
164                         #address-cells = <1>;
165                         #size-cells = <0>;
166                         reg = <2>;
167                         label = "HS-I2C2";
168                 };
169                 i2csw_3: i2c@3 {
170                         #address-cells = <1>;
171                         #size-cells = <0>;
172                         reg = <3>;
173                         label = "HS-I2C3";
174                 };
175                 i2csw_4: i2c@4 {
176                         #address-cells = <1>;
177                         #size-cells = <0>;
178                         reg = <0x4>;
180                         pmic: pmic@5e { /* Custom TI PMIC u33 */
181                                 compatible = "ti,tps65086";
182                                 reg = <0x5e>;
183                                 interrupt-parent = <&gpio>;
184                                 interrupts = <77 GPIO_ACTIVE_LOW>;
185                                 #gpio-cells = <2>;
186                                 gpio-controller;
187                         };
188                 };
189                 i2csw_5: i2c@5 {
190                         #address-cells = <1>;
191                         #size-cells = <0>;
192                         reg = <5>;
193                         /* PS_PMBUS */
194                         ina226@40 { /* u35 */
195                                 compatible = "ti,ina226";
196                                 reg = <0x40>;
197                                 shunt-resistor = <10000>;
198                                 /* MIO31 is alert which should be routed to PMUFW */
199                         };
200                 };
201                 i2csw_6: i2c@6 {
202                         #address-cells = <1>;
203                         #size-cells = <0>;
204                         reg = <6>;
205                         /*
206                          * Not Connected
207                          */
208                 };
209                 i2csw_7: i2c@7 {
210                         #address-cells = <1>;
211                         #size-cells = <0>;
212                         reg = <7>;
213                         /*
214                          * usb5744 (DNP) - U5
215                          * 100kHz - this is default freq for us
216                          */
217                 };
218         };
221 &rtc {
222         status = "okay";
225 /* SD0 only supports 3.3V, no level shifter */
226 &sdhci0 {
227         status = "okay";
228         no-1-8-v;
229         broken-cd; /* CD has to be enabled by default */
230         disable-wp;
233 &sdhci1 {
234         status = "okay";
235         bus-width = <0x4>;
236         non-removable;
237         disable-wp;
238         cap-power-off-card;
239         mmc-pwrseq = <&sdio_pwrseq>;
240         vqmmc-supply = <&wmmcsdio_fixed>;
241         #address-cells = <1>;
242         #size-cells = <0>;
243         wlcore: wifi@2 {
244                 compatible = "ti,wl1831";
245                 reg = <2>;
246                 interrupt-parent = <&gpio>;
247                 interrupts = <76 IRQ_TYPE_EDGE_RISING>; /* MIO76 WLAN_IRQ 1V8 */
248         };
251 &spi0 { /* Low Speed connector */
252         status = "okay";
253         label = "LS-SPI0";
256 &spi1 { /* High Speed connector */
257         status = "okay";
258         label = "HS-SPI1";
261 &uart0 {
262         status = "okay";
263         bluetooth {
264                 compatible = "ti,wl1831-st";
265                 enable-gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
266         };
269 &uart1 {
270         status = "okay";
274 /* ULPI SMSC USB3320 */
275 &usb0 {
276         status = "okay";
279 /* ULPI SMSC USB3320 */
280 &usb1 {
281         status = "okay";
284 &watchdog0 {
285         status = "okay";