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