1 // SPDX-License-Identifier: GPL-2.0+ 1 // SPDX-License-Identifier: GPL-2.0+ 2 /* 2 /* 3 * dts file for Xilinx ZynqMP ZCU102 RevA 3 * dts file for Xilinx ZynqMP ZCU102 RevA 4 * 4 * 5 * (C) Copyright 2015 - 2022, Xilinx, Inc. !! 5 * (C) Copyright 2015 - 2018, Xilinx, Inc. 6 * (C) Copyright 2022 - 2023, Advanced Micro D << 7 * 6 * 8 * Michal Simek <michal.simek@amd.com> !! 7 * Michal Simek <michal.simek@xilinx.com> 9 */ 8 */ 10 9 11 /dts-v1/; 10 /dts-v1/; 12 11 13 #include "zynqmp.dtsi" 12 #include "zynqmp.dtsi" 14 #include "zynqmp-clk-ccf.dtsi" !! 13 #include "zynqmp-clk.dtsi" 15 #include <dt-bindings/input/input.h> 14 #include <dt-bindings/input/input.h> 16 #include <dt-bindings/gpio/gpio.h> 15 #include <dt-bindings/gpio/gpio.h> 17 #include <dt-bindings/pinctrl/pinctrl-zynqmp.h << 18 #include <dt-bindings/phy/phy.h> << 19 16 20 / { 17 / { 21 model = "ZynqMP ZCU102 RevA"; 18 model = "ZynqMP ZCU102 RevA"; 22 compatible = "xlnx,zynqmp-zcu102-revA" 19 compatible = "xlnx,zynqmp-zcu102-revA", "xlnx,zynqmp-zcu102", "xlnx,zynqmp"; 23 20 24 aliases { 21 aliases { 25 ethernet0 = &gem3; 22 ethernet0 = &gem3; 26 i2c0 = &i2c0; 23 i2c0 = &i2c0; 27 i2c1 = &i2c1; 24 i2c1 = &i2c1; 28 mmc0 = &sdhci1; 25 mmc0 = &sdhci1; 29 nvmem0 = &eeprom; << 30 rtc0 = &rtc; 26 rtc0 = &rtc; 31 serial0 = &uart0; 27 serial0 = &uart0; 32 serial1 = &uart1; 28 serial1 = &uart1; 33 serial2 = &dcc; 29 serial2 = &dcc; 34 spi0 = &qspi; << 35 usb0 = &usb0; << 36 }; 30 }; 37 31 38 chosen { 32 chosen { 39 bootargs = "earlycon"; 33 bootargs = "earlycon"; 40 stdout-path = "serial0:115200n 34 stdout-path = "serial0:115200n8"; 41 }; 35 }; 42 36 43 memory@0 { 37 memory@0 { 44 device_type = "memory"; 38 device_type = "memory"; 45 reg = <0x0 0x0 0x0 0x80000000> 39 reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>; 46 }; 40 }; 47 41 48 gpio-keys { 42 gpio-keys { 49 compatible = "gpio-keys"; 43 compatible = "gpio-keys"; 50 autorepeat; 44 autorepeat; 51 switch-19 { !! 45 sw19 { 52 label = "sw19"; 46 label = "sw19"; 53 gpios = <&gpio 22 GPIO 47 gpios = <&gpio 22 GPIO_ACTIVE_HIGH>; 54 linux,code = <KEY_DOWN 48 linux,code = <KEY_DOWN>; 55 wakeup-source; 49 wakeup-source; 56 autorepeat; 50 autorepeat; 57 }; 51 }; 58 }; 52 }; 59 53 60 leds { 54 leds { 61 compatible = "gpio-leds"; 55 compatible = "gpio-leds"; 62 heartbeat-led { 56 heartbeat-led { 63 label = "heartbeat"; 57 label = "heartbeat"; 64 gpios = <&gpio 23 GPIO 58 gpios = <&gpio 23 GPIO_ACTIVE_HIGH>; 65 linux,default-trigger 59 linux,default-trigger = "heartbeat"; 66 }; 60 }; 67 }; 61 }; 68 << 69 ina226-u76 { << 70 compatible = "iio-hwmon"; << 71 io-channels = <&u76 0>, <&u76 << 72 }; << 73 ina226-u77 { << 74 compatible = "iio-hwmon"; << 75 io-channels = <&u77 0>, <&u77 << 76 }; << 77 ina226-u78 { << 78 compatible = "iio-hwmon"; << 79 io-channels = <&u78 0>, <&u78 << 80 }; << 81 ina226-u87 { << 82 compatible = "iio-hwmon"; << 83 io-channels = <&u87 0>, <&u87 << 84 }; << 85 ina226-u85 { << 86 compatible = "iio-hwmon"; << 87 io-channels = <&u85 0>, <&u85 << 88 }; << 89 ina226-u86 { << 90 compatible = "iio-hwmon"; << 91 io-channels = <&u86 0>, <&u86 << 92 }; << 93 ina226-u93 { << 94 compatible = "iio-hwmon"; << 95 io-channels = <&u93 0>, <&u93 << 96 }; << 97 ina226-u88 { << 98 compatible = "iio-hwmon"; << 99 io-channels = <&u88 0>, <&u88 << 100 }; << 101 ina226-u15 { << 102 compatible = "iio-hwmon"; << 103 io-channels = <&u15 0>, <&u15 << 104 }; << 105 ina226-u92 { << 106 compatible = "iio-hwmon"; << 107 io-channels = <&u92 0>, <&u92 << 108 }; << 109 ina226-u79 { << 110 compatible = "iio-hwmon"; << 111 io-channels = <&u79 0>, <&u79 << 112 }; << 113 ina226-u81 { << 114 compatible = "iio-hwmon"; << 115 io-channels = <&u81 0>, <&u81 << 116 }; << 117 ina226-u80 { << 118 compatible = "iio-hwmon"; << 119 io-channels = <&u80 0>, <&u80 << 120 }; << 121 ina226-u84 { << 122 compatible = "iio-hwmon"; << 123 io-channels = <&u84 0>, <&u84 << 124 }; << 125 ina226-u16 { << 126 compatible = "iio-hwmon"; << 127 io-channels = <&u16 0>, <&u16 << 128 }; << 129 ina226-u65 { << 130 compatible = "iio-hwmon"; << 131 io-channels = <&u65 0>, <&u65 << 132 }; << 133 ina226-u74 { << 134 compatible = "iio-hwmon"; << 135 io-channels = <&u74 0>, <&u74 << 136 }; << 137 ina226-u75 { << 138 compatible = "iio-hwmon"; << 139 io-channels = <&u75 0>, <&u75 << 140 }; << 141 << 142 /* 48MHz reference crystal */ << 143 ref48: ref48M { << 144 compatible = "fixed-clock"; << 145 #clock-cells = <0>; << 146 clock-frequency = <48000000>; << 147 }; << 148 << 149 refhdmi: refhdmi { << 150 compatible = "fixed-clock"; << 151 #clock-cells = <0>; << 152 clock-frequency = <114285000>; << 153 }; << 154 }; 62 }; 155 63 156 &can1 { 64 &can1 { 157 status = "okay"; 65 status = "okay"; 158 pinctrl-names = "default"; << 159 pinctrl-0 = <&pinctrl_can1_default>; << 160 }; 66 }; 161 67 162 &dcc { 68 &dcc { 163 status = "okay"; 69 status = "okay"; 164 }; 70 }; 165 71 166 &fpd_dma_chan1 { 72 &fpd_dma_chan1 { 167 status = "okay"; 73 status = "okay"; 168 }; 74 }; 169 75 170 &fpd_dma_chan2 { 76 &fpd_dma_chan2 { 171 status = "okay"; 77 status = "okay"; 172 }; 78 }; 173 79 174 &fpd_dma_chan3 { 80 &fpd_dma_chan3 { 175 status = "okay"; 81 status = "okay"; 176 }; 82 }; 177 83 178 &fpd_dma_chan4 { 84 &fpd_dma_chan4 { 179 status = "okay"; 85 status = "okay"; 180 }; 86 }; 181 87 182 &fpd_dma_chan5 { 88 &fpd_dma_chan5 { 183 status = "okay"; 89 status = "okay"; 184 }; 90 }; 185 91 186 &fpd_dma_chan6 { 92 &fpd_dma_chan6 { 187 status = "okay"; 93 status = "okay"; 188 }; 94 }; 189 95 190 &fpd_dma_chan7 { 96 &fpd_dma_chan7 { 191 status = "okay"; 97 status = "okay"; 192 }; 98 }; 193 99 194 &fpd_dma_chan8 { 100 &fpd_dma_chan8 { 195 status = "okay"; 101 status = "okay"; 196 }; 102 }; 197 103 198 &gem3 { 104 &gem3 { 199 status = "okay"; 105 status = "okay"; 200 phy-handle = <&phy0>; 106 phy-handle = <&phy0>; 201 phy-mode = "rgmii-id"; 107 phy-mode = "rgmii-id"; 202 pinctrl-names = "default"; !! 108 phy0: phy@21 { 203 pinctrl-0 = <&pinctrl_gem3_default>; !! 109 reg = <21>; 204 mdio: mdio { !! 110 ti,rx-internal-delay = <0x8>; 205 #address-cells = <1>; !! 111 ti,tx-internal-delay = <0xa>; 206 #size-cells = <0>; !! 112 ti,fifo-depth = <0x1>; 207 phy0: ethernet-phy@21 { << 208 #phy-cells = <1>; << 209 compatible = "ethernet << 210 reg = <21>; << 211 ti,rx-internal-delay = << 212 ti,tx-internal-delay = << 213 ti,fifo-depth = <0x1>; << 214 ti,dp83867-rxctrl-stra << 215 reset-gpios = <&tca641 << 216 }; << 217 }; 113 }; 218 }; 114 }; 219 115 220 &gpio { 116 &gpio { 221 status = "okay"; 117 status = "okay"; 222 pinctrl-names = "default"; << 223 pinctrl-0 = <&pinctrl_gpio_default>; << 224 }; << 225 << 226 &gpu { << 227 status = "okay"; << 228 }; 118 }; 229 119 230 &i2c0 { 120 &i2c0 { 231 status = "okay"; 121 status = "okay"; 232 clock-frequency = <400000>; 122 clock-frequency = <400000>; 233 pinctrl-names = "default", "gpio"; << 234 pinctrl-0 = <&pinctrl_i2c0_default>; << 235 pinctrl-1 = <&pinctrl_i2c0_gpio>; << 236 scl-gpios = <&gpio 14 (GPIO_ACTIVE_HIG << 237 sda-gpios = <&gpio 15 (GPIO_ACTIVE_HIG << 238 123 239 tca6416_u97: gpio@20 { 124 tca6416_u97: gpio@20 { 240 compatible = "ti,tca6416"; 125 compatible = "ti,tca6416"; 241 reg = <0x20>; 126 reg = <0x20>; 242 gpio-controller; /* IRQ not co !! 127 gpio-controller; 243 #gpio-cells = <2>; 128 #gpio-cells = <2>; 244 gpio-line-names = "PS_GTR_LAN_ !! 129 /* 245 "PCI_CLK_DIR_S !! 130 * IRQ not connected 246 "", "", "", "" !! 131 * Lines: 247 gtr-sel0-hog { !! 132 * 0 - PS_GTR_LAN_SEL0 >> 133 * 1 - PS_GTR_LAN_SEL1 >> 134 * 2 - PS_GTR_LAN_SEL2 >> 135 * 3 - PS_GTR_LAN_SEL3 >> 136 * 4 - PCI_CLK_DIR_SEL >> 137 * 5 - IIC_MUX_RESET_B >> 138 * 6 - GEM3_EXP_RESET_B >> 139 * 7, 10 - 17 - not connected >> 140 */ >> 141 >> 142 gtr-sel0 { 248 gpio-hog; 143 gpio-hog; 249 gpios = <0 0>; 144 gpios = <0 0>; 250 output-low; /* PCIE = 145 output-low; /* PCIE = 0, DP = 1 */ 251 line-name = "sel0"; 146 line-name = "sel0"; 252 }; 147 }; 253 gtr-sel1-hog { !! 148 gtr-sel1 { 254 gpio-hog; 149 gpio-hog; 255 gpios = <1 0>; 150 gpios = <1 0>; 256 output-high; /* PCIE = 151 output-high; /* PCIE = 0, DP = 1 */ 257 line-name = "sel1"; 152 line-name = "sel1"; 258 }; 153 }; 259 gtr-sel2-hog { !! 154 gtr-sel2 { 260 gpio-hog; 155 gpio-hog; 261 gpios = <2 0>; 156 gpios = <2 0>; 262 output-high; /* PCIE = 157 output-high; /* PCIE = 0, USB0 = 1 */ 263 line-name = "sel2"; 158 line-name = "sel2"; 264 }; 159 }; 265 gtr-sel3-hog { !! 160 gtr-sel3 { 266 gpio-hog; 161 gpio-hog; 267 gpios = <3 0>; 162 gpios = <3 0>; 268 output-high; /* PCIE = 163 output-high; /* PCIE = 0, SATA = 1 */ 269 line-name = "sel3"; 164 line-name = "sel3"; 270 }; 165 }; 271 }; 166 }; 272 167 273 tca6416_u61: gpio@21 { 168 tca6416_u61: gpio@21 { 274 compatible = "ti,tca6416"; 169 compatible = "ti,tca6416"; 275 reg = <0x21>; 170 reg = <0x21>; 276 gpio-controller; /* IRQ not co !! 171 gpio-controller; 277 #gpio-cells = <2>; 172 #gpio-cells = <2>; 278 gpio-line-names = "VCCPSPLL_EN !! 173 /* 279 "PL_PMBUS_ALER !! 174 * IRQ not connected 280 "PL_DDR4_VPP_2 !! 175 * Lines: 281 "PS_DDR4_VTERM !! 176 * 0 - VCCPSPLL_EN >> 177 * 1 - MGTRAVCC_EN >> 178 * 2 - MGTRAVTT_EN >> 179 * 3 - VCCPSDDRPLL_EN >> 180 * 4 - MIO26_PMU_INPUT_LS >> 181 * 5 - PL_PMBUS_ALERT >> 182 * 6 - PS_PMBUS_ALERT >> 183 * 7 - MAXIM_PMBUS_ALERT >> 184 * 10 - PL_DDR4_VTERM_EN >> 185 * 11 - PL_DDR4_VPP_2V5_EN >> 186 * 12 - PS_DIMM_VDDQ_TO_PSVCCO_ON >> 187 * 13 - PS_DIMM_SUSPEND_EN >> 188 * 14 - PS_DDR4_VTERM_EN >> 189 * 15 - PS_DDR4_VPP_2V5_EN >> 190 * 16 - 17 - not connected >> 191 */ 282 }; 192 }; 283 193 284 i2c-mux@75 { /* u60 */ 194 i2c-mux@75 { /* u60 */ 285 compatible = "nxp,pca9544"; 195 compatible = "nxp,pca9544"; 286 #address-cells = <1>; 196 #address-cells = <1>; 287 #size-cells = <0>; 197 #size-cells = <0>; 288 reg = <0x75>; 198 reg = <0x75>; 289 i2c@0 { 199 i2c@0 { 290 #address-cells = <1>; 200 #address-cells = <1>; 291 #size-cells = <0>; 201 #size-cells = <0>; 292 reg = <0>; 202 reg = <0>; 293 /* PS_PMBUS */ 203 /* PS_PMBUS */ 294 u76: ina226@40 { /* u7 !! 204 ina226@40 { /* u76 */ 295 compatible = " 205 compatible = "ti,ina226"; 296 #io-channel-ce << 297 label = "ina22 << 298 reg = <0x40>; 206 reg = <0x40>; 299 shunt-resistor 207 shunt-resistor = <5000>; 300 }; 208 }; 301 u77: ina226@41 { /* u7 !! 209 ina226@41 { /* u77 */ 302 compatible = " 210 compatible = "ti,ina226"; 303 #io-channel-ce << 304 label = "ina22 << 305 reg = <0x41>; 211 reg = <0x41>; 306 shunt-resistor 212 shunt-resistor = <5000>; 307 }; 213 }; 308 u78: ina226@42 { /* u7 !! 214 ina226@42 { /* u78 */ 309 compatible = " 215 compatible = "ti,ina226"; 310 #io-channel-ce << 311 label = "ina22 << 312 reg = <0x42>; 216 reg = <0x42>; 313 shunt-resistor 217 shunt-resistor = <5000>; 314 }; 218 }; 315 u87: ina226@43 { /* u8 !! 219 ina226@43 { /* u87 */ 316 compatible = " 220 compatible = "ti,ina226"; 317 #io-channel-ce << 318 label = "ina22 << 319 reg = <0x43>; 221 reg = <0x43>; 320 shunt-resistor 222 shunt-resistor = <5000>; 321 }; 223 }; 322 u85: ina226@44 { /* u8 !! 224 ina226@44 { /* u85 */ 323 compatible = " 225 compatible = "ti,ina226"; 324 #io-channel-ce << 325 label = "ina22 << 326 reg = <0x44>; 226 reg = <0x44>; 327 shunt-resistor 227 shunt-resistor = <5000>; 328 }; 228 }; 329 u86: ina226@45 { /* u8 !! 229 ina226@45 { /* u86 */ 330 compatible = " 230 compatible = "ti,ina226"; 331 #io-channel-ce << 332 label = "ina22 << 333 reg = <0x45>; 231 reg = <0x45>; 334 shunt-resistor 232 shunt-resistor = <5000>; 335 }; 233 }; 336 u93: ina226@46 { /* u9 !! 234 ina226@46 { /* u93 */ 337 compatible = " 235 compatible = "ti,ina226"; 338 #io-channel-ce << 339 label = "ina22 << 340 reg = <0x46>; 236 reg = <0x46>; 341 shunt-resistor 237 shunt-resistor = <5000>; 342 }; 238 }; 343 u88: ina226@47 { /* u8 !! 239 ina226@47 { /* u88 */ 344 compatible = " 240 compatible = "ti,ina226"; 345 #io-channel-ce << 346 label = "ina22 << 347 reg = <0x47>; 241 reg = <0x47>; 348 shunt-resistor 242 shunt-resistor = <5000>; 349 }; 243 }; 350 u15: ina226@4a { /* u1 !! 244 ina226@4a { /* u15 */ 351 compatible = " 245 compatible = "ti,ina226"; 352 #io-channel-ce << 353 label = "ina22 << 354 reg = <0x4a>; 246 reg = <0x4a>; 355 shunt-resistor 247 shunt-resistor = <5000>; 356 }; 248 }; 357 u92: ina226@4b { /* u9 !! 249 ina226@4b { /* u92 */ 358 compatible = " 250 compatible = "ti,ina226"; 359 #io-channel-ce << 360 label = "ina22 << 361 reg = <0x4b>; 251 reg = <0x4b>; 362 shunt-resistor 252 shunt-resistor = <5000>; 363 }; 253 }; 364 }; 254 }; 365 i2c@1 { 255 i2c@1 { 366 #address-cells = <1>; 256 #address-cells = <1>; 367 #size-cells = <0>; 257 #size-cells = <0>; 368 reg = <1>; 258 reg = <1>; 369 /* PL_PMBUS */ 259 /* PL_PMBUS */ 370 u79: ina226@40 { /* u7 !! 260 ina226@40 { /* u79 */ 371 compatible = " 261 compatible = "ti,ina226"; 372 #io-channel-ce << 373 label = "ina22 << 374 reg = <0x40>; 262 reg = <0x40>; 375 shunt-resistor 263 shunt-resistor = <2000>; 376 }; 264 }; 377 u81: ina226@41 { /* u8 !! 265 ina226@41 { /* u81 */ 378 compatible = " 266 compatible = "ti,ina226"; 379 #io-channel-ce << 380 label = "ina22 << 381 reg = <0x41>; 267 reg = <0x41>; 382 shunt-resistor 268 shunt-resistor = <5000>; 383 }; 269 }; 384 u80: ina226@42 { /* u8 !! 270 ina226@42 { /* u80 */ 385 compatible = " 271 compatible = "ti,ina226"; 386 #io-channel-ce << 387 label = "ina22 << 388 reg = <0x42>; 272 reg = <0x42>; 389 shunt-resistor 273 shunt-resistor = <5000>; 390 }; 274 }; 391 u84: ina226@43 { /* u8 !! 275 ina226@43 { /* u84 */ 392 compatible = " 276 compatible = "ti,ina226"; 393 #io-channel-ce << 394 label = "ina22 << 395 reg = <0x43>; 277 reg = <0x43>; 396 shunt-resistor 278 shunt-resistor = <5000>; 397 }; 279 }; 398 u16: ina226@44 { /* u1 !! 280 ina226@44 { /* u16 */ 399 compatible = " 281 compatible = "ti,ina226"; 400 #io-channel-ce << 401 label = "ina22 << 402 reg = <0x44>; 282 reg = <0x44>; 403 shunt-resistor 283 shunt-resistor = <5000>; 404 }; 284 }; 405 u65: ina226@45 { /* u6 !! 285 ina226@45 { /* u65 */ 406 compatible = " 286 compatible = "ti,ina226"; 407 #io-channel-ce << 408 label = "ina22 << 409 reg = <0x45>; 287 reg = <0x45>; 410 shunt-resistor 288 shunt-resistor = <5000>; 411 }; 289 }; 412 u74: ina226@46 { /* u7 !! 290 ina226@46 { /* u74 */ 413 compatible = " 291 compatible = "ti,ina226"; 414 #io-channel-ce << 415 label = "ina22 << 416 reg = <0x46>; 292 reg = <0x46>; 417 shunt-resistor 293 shunt-resistor = <5000>; 418 }; 294 }; 419 u75: ina226@47 { /* u7 !! 295 ina226@47 { /* u75 */ 420 compatible = " 296 compatible = "ti,ina226"; 421 #io-channel-ce << 422 label = "ina22 << 423 reg = <0x47>; 297 reg = <0x47>; 424 shunt-resistor 298 shunt-resistor = <5000>; 425 }; 299 }; 426 }; 300 }; 427 i2c@2 { 301 i2c@2 { 428 #address-cells = <1>; 302 #address-cells = <1>; 429 #size-cells = <0>; 303 #size-cells = <0>; 430 reg = <2>; 304 reg = <2>; 431 /* MAXIM_PMBUS - 00 */ 305 /* MAXIM_PMBUS - 00 */ 432 max15301@a { /* u46 */ 306 max15301@a { /* u46 */ 433 compatible = " 307 compatible = "maxim,max15301"; 434 reg = <0xa>; 308 reg = <0xa>; 435 }; 309 }; 436 max15303@b { /* u4 */ 310 max15303@b { /* u4 */ 437 compatible = " 311 compatible = "maxim,max15303"; 438 reg = <0xb>; 312 reg = <0xb>; 439 }; 313 }; 440 max15303@10 { /* u13 * 314 max15303@10 { /* u13 */ 441 compatible = " 315 compatible = "maxim,max15303"; 442 reg = <0x10>; 316 reg = <0x10>; 443 }; 317 }; 444 max15301@13 { /* u47 * 318 max15301@13 { /* u47 */ 445 compatible = " 319 compatible = "maxim,max15301"; 446 reg = <0x13>; 320 reg = <0x13>; 447 }; 321 }; 448 max15303@14 { /* u7 */ 322 max15303@14 { /* u7 */ 449 compatible = " 323 compatible = "maxim,max15303"; 450 reg = <0x14>; 324 reg = <0x14>; 451 }; 325 }; 452 max15303@15 { /* u6 */ 326 max15303@15 { /* u6 */ 453 compatible = " 327 compatible = "maxim,max15303"; 454 reg = <0x15>; 328 reg = <0x15>; 455 }; 329 }; 456 max15303@16 { /* u10 * 330 max15303@16 { /* u10 */ 457 compatible = " 331 compatible = "maxim,max15303"; 458 reg = <0x16>; 332 reg = <0x16>; 459 }; 333 }; 460 max15303@17 { /* u9 */ 334 max15303@17 { /* u9 */ 461 compatible = " 335 compatible = "maxim,max15303"; 462 reg = <0x17>; 336 reg = <0x17>; 463 }; 337 }; 464 max15301@18 { /* u63 * 338 max15301@18 { /* u63 */ 465 compatible = " 339 compatible = "maxim,max15301"; 466 reg = <0x18>; 340 reg = <0x18>; 467 }; 341 }; 468 max15303@1a { /* u49 * 342 max15303@1a { /* u49 */ 469 compatible = " 343 compatible = "maxim,max15303"; 470 reg = <0x1a>; 344 reg = <0x1a>; 471 }; 345 }; 472 max15303@1d { /* u18 * 346 max15303@1d { /* u18 */ 473 compatible = " 347 compatible = "maxim,max15303"; 474 reg = <0x1d>; 348 reg = <0x1d>; 475 }; 349 }; 476 max15303@20 { /* u8 */ 350 max15303@20 { /* u8 */ 477 compatible = " 351 compatible = "maxim,max15303"; 478 status = "disa 352 status = "disabled"; /* unreachable */ 479 reg = <0x20>; 353 reg = <0x20>; 480 }; 354 }; >> 355 481 max20751@72 { /* u95 * 356 max20751@72 { /* u95 */ 482 compatible = " 357 compatible = "maxim,max20751"; 483 reg = <0x72>; 358 reg = <0x72>; 484 }; 359 }; 485 max20751@73 { /* u96 * 360 max20751@73 { /* u96 */ 486 compatible = " 361 compatible = "maxim,max20751"; 487 reg = <0x73>; 362 reg = <0x73>; 488 }; 363 }; 489 }; 364 }; 490 /* Bus 3 is not connected */ 365 /* Bus 3 is not connected */ 491 }; 366 }; 492 }; 367 }; 493 368 494 &i2c1 { 369 &i2c1 { 495 status = "okay"; 370 status = "okay"; 496 clock-frequency = <400000>; 371 clock-frequency = <400000>; 497 pinctrl-names = "default", "gpio"; << 498 pinctrl-0 = <&pinctrl_i2c1_default>; << 499 pinctrl-1 = <&pinctrl_i2c1_gpio>; << 500 scl-gpios = <&gpio 16 (GPIO_ACTIVE_HIG << 501 sda-gpios = <&gpio 17 (GPIO_ACTIVE_HIG << 502 372 503 /* PL i2c via PCA9306 - u45 */ 373 /* PL i2c via PCA9306 - u45 */ 504 i2c-mux@74 { /* u34 */ 374 i2c-mux@74 { /* u34 */ 505 compatible = "nxp,pca9548"; 375 compatible = "nxp,pca9548"; 506 #address-cells = <1>; 376 #address-cells = <1>; 507 #size-cells = <0>; 377 #size-cells = <0>; 508 reg = <0x74>; 378 reg = <0x74>; 509 i2c@0 { 379 i2c@0 { 510 #address-cells = <1>; 380 #address-cells = <1>; 511 #size-cells = <0>; 381 #size-cells = <0>; 512 reg = <0>; 382 reg = <0>; 513 /* 383 /* 514 * IIC_EEPROM 1kB memo 384 * IIC_EEPROM 1kB memory which uses 256B blocks 515 * where every block h 385 * where every block has different address. 516 * 0 - 256B address 386 * 0 - 256B address 0x54 517 * 256B - 512B address 387 * 256B - 512B address 0x55 518 * 512B - 768B address 388 * 512B - 768B address 0x56 519 * 768B - 1024B addres 389 * 768B - 1024B address 0x57 520 */ 390 */ 521 eeprom: eeprom@54 { /* 391 eeprom: eeprom@54 { /* u23 */ 522 compatible = " 392 compatible = "atmel,24c08"; 523 reg = <0x54>; 393 reg = <0x54>; 524 }; 394 }; 525 }; 395 }; 526 i2c@1 { 396 i2c@1 { 527 #address-cells = <1>; 397 #address-cells = <1>; 528 #size-cells = <0>; 398 #size-cells = <0>; 529 reg = <1>; 399 reg = <1>; 530 si5341: clock-generato 400 si5341: clock-generator@36 { /* SI5341 - u69 */ 531 compatible = " << 532 reg = <0x36>; 401 reg = <0x36>; 533 #clock-cells = << 534 #address-cells << 535 #size-cells = << 536 clocks = <&ref << 537 clock-names = << 538 clock-output-n << 539 << 540 si5341_0: out@ << 541 /* ref << 542 reg = << 543 always << 544 }; << 545 si5341_2: out@ << 546 /* ref << 547 reg = << 548 always << 549 }; << 550 si5341_3: out@ << 551 /* ref << 552 reg = << 553 always << 554 }; << 555 si5341_4: out@ << 556 /* ref << 557 reg = << 558 always << 559 }; << 560 si5341_5: out@ << 561 /* ref << 562 reg = << 563 always << 564 }; << 565 si5341_6: out@ << 566 /* ref << 567 reg = << 568 always << 569 }; << 570 si5341_7: out@ << 571 /* ref << 572 reg = << 573 always << 574 }; << 575 si5341_9: out@ << 576 /* ref << 577 reg = << 578 always << 579 }; << 580 }; 402 }; >> 403 581 }; 404 }; 582 i2c@2 { 405 i2c@2 { 583 #address-cells = <1>; 406 #address-cells = <1>; 584 #size-cells = <0>; 407 #size-cells = <0>; 585 reg = <2>; 408 reg = <2>; 586 si570_1: clock-generat 409 si570_1: clock-generator@5d { /* USER SI570 - u42 */ 587 #clock-cells = 410 #clock-cells = <0>; 588 compatible = " 411 compatible = "silabs,si570"; 589 reg = <0x5d>; 412 reg = <0x5d>; 590 temperature-st 413 temperature-stability = <50>; 591 factory-fout = 414 factory-fout = <300000000>; 592 clock-frequenc 415 clock-frequency = <300000000>; 593 clock-output-n << 594 }; 416 }; 595 }; 417 }; 596 i2c@3 { 418 i2c@3 { 597 #address-cells = <1>; 419 #address-cells = <1>; 598 #size-cells = <0>; 420 #size-cells = <0>; 599 reg = <3>; 421 reg = <3>; 600 si570_2: clock-generat 422 si570_2: clock-generator@5d { /* USER MGT SI570 - u56 */ 601 #clock-cells = 423 #clock-cells = <0>; 602 compatible = " 424 compatible = "silabs,si570"; 603 reg = <0x5d>; 425 reg = <0x5d>; 604 temperature-st 426 temperature-stability = <50>; /* copy from zc702 */ 605 factory-fout = 427 factory-fout = <156250000>; 606 clock-frequenc !! 428 clock-frequency = <148500000>; 607 clock-output-n << 608 }; 429 }; 609 }; 430 }; 610 i2c@4 { 431 i2c@4 { 611 #address-cells = <1>; 432 #address-cells = <1>; 612 #size-cells = <0>; 433 #size-cells = <0>; 613 reg = <4>; 434 reg = <4>; 614 /* SI5328 - u20 */ !! 435 si5328: clock-generator@69 {/* SI5328 - u20 */ >> 436 reg = <0x69>; >> 437 /* >> 438 * Chip has interrupt present connected to PL >> 439 * interrupt-parent = <&>; >> 440 * interrupts = <>; >> 441 */ >> 442 }; 615 }; 443 }; 616 /* 5 - 7 unconnected */ 444 /* 5 - 7 unconnected */ 617 }; 445 }; 618 446 619 i2c-mux@75 { 447 i2c-mux@75 { 620 compatible = "nxp,pca9548"; /* 448 compatible = "nxp,pca9548"; /* u135 */ 621 #address-cells = <1>; 449 #address-cells = <1>; 622 #size-cells = <0>; 450 #size-cells = <0>; 623 reg = <0x75>; 451 reg = <0x75>; 624 452 625 i2c@0 { 453 i2c@0 { 626 #address-cells = <1>; 454 #address-cells = <1>; 627 #size-cells = <0>; 455 #size-cells = <0>; 628 reg = <0>; 456 reg = <0>; 629 /* HPC0_IIC */ 457 /* HPC0_IIC */ 630 }; 458 }; 631 i2c@1 { 459 i2c@1 { 632 #address-cells = <1>; 460 #address-cells = <1>; 633 #size-cells = <0>; 461 #size-cells = <0>; 634 reg = <1>; 462 reg = <1>; 635 /* HPC1_IIC */ 463 /* HPC1_IIC */ 636 }; 464 }; 637 i2c@2 { 465 i2c@2 { 638 #address-cells = <1>; 466 #address-cells = <1>; 639 #size-cells = <0>; 467 #size-cells = <0>; 640 reg = <2>; 468 reg = <2>; 641 /* SYSMON */ 469 /* SYSMON */ 642 }; 470 }; 643 i2c@3 { 471 i2c@3 { 644 #address-cells = <1>; 472 #address-cells = <1>; 645 #size-cells = <0>; 473 #size-cells = <0>; 646 reg = <3>; 474 reg = <3>; 647 /* DDR4 SODIMM */ 475 /* DDR4 SODIMM */ 648 }; 476 }; 649 i2c@4 { 477 i2c@4 { 650 #address-cells = <1>; 478 #address-cells = <1>; 651 #size-cells = <0>; 479 #size-cells = <0>; 652 reg = <4>; 480 reg = <4>; 653 /* SEP 3 */ 481 /* SEP 3 */ 654 }; 482 }; 655 i2c@5 { 483 i2c@5 { 656 #address-cells = <1>; 484 #address-cells = <1>; 657 #size-cells = <0>; 485 #size-cells = <0>; 658 reg = <5>; 486 reg = <5>; 659 /* SEP 2 */ 487 /* SEP 2 */ 660 }; 488 }; 661 i2c@6 { 489 i2c@6 { 662 #address-cells = <1>; 490 #address-cells = <1>; 663 #size-cells = <0>; 491 #size-cells = <0>; 664 reg = <6>; 492 reg = <6>; 665 /* SEP 1 */ 493 /* SEP 1 */ 666 }; 494 }; 667 i2c@7 { 495 i2c@7 { 668 #address-cells = <1>; 496 #address-cells = <1>; 669 #size-cells = <0>; 497 #size-cells = <0>; 670 reg = <7>; 498 reg = <7>; 671 /* SEP 0 */ 499 /* SEP 0 */ 672 }; 500 }; 673 }; 501 }; 674 }; 502 }; 675 503 676 &pinctrl0 { << 677 status = "okay"; << 678 pinctrl_i2c0_default: i2c0-default { << 679 mux { << 680 groups = "i2c0_3_grp"; << 681 function = "i2c0"; << 682 }; << 683 << 684 conf { << 685 groups = "i2c0_3_grp"; << 686 bias-pull-up; << 687 slew-rate = <SLEW_RATE << 688 power-source = <IO_STA << 689 }; << 690 }; << 691 << 692 pinctrl_i2c0_gpio: i2c0-gpio-grp { << 693 mux { << 694 groups = "gpio0_14_grp << 695 function = "gpio0"; << 696 }; << 697 << 698 conf { << 699 groups = "gpio0_14_grp << 700 slew-rate = <SLEW_RATE << 701 power-source = <IO_STA << 702 }; << 703 }; << 704 << 705 pinctrl_i2c1_default: i2c1-default { << 706 mux { << 707 groups = "i2c1_4_grp"; << 708 function = "i2c1"; << 709 }; << 710 << 711 conf { << 712 groups = "i2c1_4_grp"; << 713 bias-pull-up; << 714 slew-rate = <SLEW_RATE << 715 power-source = <IO_STA << 716 }; << 717 }; << 718 << 719 pinctrl_i2c1_gpio: i2c1-gpio-grp { << 720 mux { << 721 groups = "gpio0_16_grp << 722 function = "gpio0"; << 723 }; << 724 << 725 conf { << 726 groups = "gpio0_16_grp << 727 slew-rate = <SLEW_RATE << 728 power-source = <IO_STA << 729 }; << 730 }; << 731 << 732 pinctrl_uart0_default: uart0-default { << 733 mux { << 734 groups = "uart0_4_grp" << 735 function = "uart0"; << 736 }; << 737 << 738 conf { << 739 groups = "uart0_4_grp" << 740 slew-rate = <SLEW_RATE << 741 power-source = <IO_STA << 742 }; << 743 << 744 conf-rx { << 745 pins = "MIO18"; << 746 bias-high-impedance; << 747 }; << 748 << 749 conf-tx { << 750 pins = "MIO19"; << 751 bias-disable; << 752 }; << 753 }; << 754 << 755 pinctrl_uart1_default: uart1-default { << 756 mux { << 757 groups = "uart1_5_grp" << 758 function = "uart1"; << 759 }; << 760 << 761 conf { << 762 groups = "uart1_5_grp" << 763 slew-rate = <SLEW_RATE << 764 power-source = <IO_STA << 765 }; << 766 << 767 conf-rx { << 768 pins = "MIO21"; << 769 bias-high-impedance; << 770 }; << 771 << 772 conf-tx { << 773 pins = "MIO20"; << 774 bias-disable; << 775 }; << 776 }; << 777 << 778 pinctrl_usb0_default: usb0-default { << 779 mux { << 780 groups = "usb0_0_grp"; << 781 function = "usb0"; << 782 }; << 783 << 784 conf { << 785 groups = "usb0_0_grp"; << 786 power-source = <IO_STA << 787 }; << 788 << 789 conf-rx { << 790 pins = "MIO52", "MIO53 << 791 bias-high-impedance; << 792 drive-strength = <12>; << 793 slew-rate = <SLEW_RATE << 794 }; << 795 << 796 conf-tx { << 797 pins = "MIO54", "MIO56 << 798 "MIO60", "MIO61 << 799 bias-disable; << 800 drive-strength = <4>; << 801 slew-rate = <SLEW_RATE << 802 }; << 803 }; << 804 << 805 pinctrl_gem3_default: gem3-default { << 806 mux { << 807 function = "ethernet3" << 808 groups = "ethernet3_0_ << 809 }; << 810 << 811 conf { << 812 groups = "ethernet3_0_ << 813 slew-rate = <SLEW_RATE << 814 power-source = <IO_STA << 815 }; << 816 << 817 conf-rx { << 818 pins = "MIO70", "MIO71 << 819 << 820 bias-high-impedance; << 821 low-power-disable; << 822 }; << 823 << 824 conf-tx { << 825 pins = "MIO64", "MIO65 << 826 << 827 bias-disable; << 828 low-power-enable; << 829 }; << 830 << 831 mux-mdio { << 832 function = "mdio3"; << 833 groups = "mdio3_0_grp" << 834 }; << 835 << 836 conf-mdio { << 837 groups = "mdio3_0_grp" << 838 slew-rate = <SLEW_RATE << 839 power-source = <IO_STA << 840 bias-disable; << 841 }; << 842 }; << 843 << 844 pinctrl_can1_default: can1-default { << 845 mux { << 846 function = "can1"; << 847 groups = "can1_6_grp"; << 848 }; << 849 << 850 conf { << 851 groups = "can1_6_grp"; << 852 slew-rate = <SLEW_RATE << 853 power-source = <IO_STA << 854 }; << 855 << 856 conf-rx { << 857 pins = "MIO25"; << 858 bias-high-impedance; << 859 }; << 860 << 861 conf-tx { << 862 pins = "MIO24"; << 863 bias-disable; << 864 }; << 865 }; << 866 << 867 pinctrl_sdhci1_default: sdhci1-default << 868 mux { << 869 groups = "sdio1_0_grp" << 870 function = "sdio1"; << 871 }; << 872 << 873 conf { << 874 groups = "sdio1_0_grp" << 875 slew-rate = <SLEW_RATE << 876 power-source = <IO_STA << 877 bias-disable; << 878 }; << 879 << 880 mux-cd { << 881 groups = "sdio1_cd_0_g << 882 function = "sdio1_cd"; << 883 }; << 884 << 885 conf-cd { << 886 groups = "sdio1_cd_0_g << 887 bias-high-impedance; << 888 bias-pull-up; << 889 slew-rate = <SLEW_RATE << 890 power-source = <IO_STA << 891 }; << 892 << 893 mux-wp { << 894 groups = "sdio1_wp_0_g << 895 function = "sdio1_wp"; << 896 }; << 897 << 898 conf-wp { << 899 groups = "sdio1_wp_0_g << 900 bias-high-impedance; << 901 bias-pull-up; << 902 slew-rate = <SLEW_RATE << 903 power-source = <IO_STA << 904 }; << 905 }; << 906 << 907 pinctrl_gpio_default: gpio-default { << 908 mux-sw { << 909 function = "gpio0"; << 910 groups = "gpio0_22_grp << 911 }; << 912 << 913 conf-sw { << 914 groups = "gpio0_22_grp << 915 slew-rate = <SLEW_RATE << 916 power-source = <IO_STA << 917 }; << 918 << 919 mux-msp { << 920 function = "gpio0"; << 921 groups = "gpio0_13_grp << 922 }; << 923 << 924 conf-msp { << 925 groups = "gpio0_13_grp << 926 slew-rate = <SLEW_RATE << 927 power-source = <IO_STA << 928 }; << 929 << 930 conf-pull-up { << 931 pins = "MIO22", "MIO23 << 932 bias-pull-up; << 933 }; << 934 << 935 conf-pull-none { << 936 pins = "MIO13", "MIO38 << 937 bias-disable; << 938 }; << 939 }; << 940 }; << 941 << 942 &pcie { 504 &pcie { 943 status = "okay"; 505 status = "okay"; 944 phys = <&psgtr 0 PHY_TYPE_PCIE 0 0>; << 945 }; << 946 << 947 &psgtr { << 948 status = "okay"; << 949 /* pcie, sata, usb3, dp */ << 950 clocks = <&si5341 0 5>, <&si5341 0 3>, << 951 clock-names = "ref0", "ref1", "ref2", << 952 }; << 953 << 954 &qspi { << 955 status = "okay"; << 956 flash@0 { << 957 compatible = "m25p80", "jedec, << 958 #address-cells = <1>; << 959 #size-cells = <1>; << 960 reg = <0x0>; << 961 spi-tx-bus-width = <4>; << 962 spi-rx-bus-width = <4>; /* FIX << 963 spi-max-frequency = <108000000 << 964 }; << 965 }; 506 }; 966 507 967 &rtc { 508 &rtc { 968 status = "okay"; 509 status = "okay"; 969 }; 510 }; 970 511 971 &sata { 512 &sata { 972 status = "okay"; 513 status = "okay"; 973 /* SATA OOB timing settings */ 514 /* SATA OOB timing settings */ 974 ceva,p0-cominit-params = /bits/ 8 <0x1 515 ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>; 975 ceva,p0-comwake-params = /bits/ 8 <0x0 516 ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>; 976 ceva,p0-burst-params = /bits/ 8 <0x13 517 ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>; 977 ceva,p0-retry-params = /bits/ 16 <0x96 518 ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>; 978 ceva,p1-cominit-params = /bits/ 8 <0x1 519 ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>; 979 ceva,p1-comwake-params = /bits/ 8 <0x0 520 ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>; 980 ceva,p1-burst-params = /bits/ 8 <0x13 521 ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>; 981 ceva,p1-retry-params = /bits/ 16 <0x96 522 ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>; 982 phy-names = "sata-phy"; << 983 phys = <&psgtr 3 PHY_TYPE_SATA 1 1>; << 984 }; 523 }; 985 524 986 /* SD1 with level shifter */ 525 /* SD1 with level shifter */ 987 &sdhci1 { 526 &sdhci1 { 988 status = "okay"; 527 status = "okay"; 989 /* << 990 * 1.0 revision has level shifter and << 991 * removed for supporting UHS mode << 992 */ << 993 no-1-8-v; 528 no-1-8-v; 994 pinctrl-names = "default"; << 995 pinctrl-0 = <&pinctrl_sdhci1_default>; << 996 xlnx,mio-bank = <1>; << 997 }; 529 }; 998 530 999 &uart0 { 531 &uart0 { 1000 status = "okay"; 532 status = "okay"; 1001 pinctrl-names = "default"; << 1002 pinctrl-0 = <&pinctrl_uart0_default>; << 1003 }; 533 }; 1004 534 1005 &uart1 { 535 &uart1 { 1006 status = "okay"; 536 status = "okay"; 1007 pinctrl-names = "default"; << 1008 pinctrl-0 = <&pinctrl_uart1_default>; << 1009 }; 537 }; 1010 538 1011 /* ULPI SMSC USB3320 */ 539 /* ULPI SMSC USB3320 */ 1012 &usb0 { 540 &usb0 { 1013 status = "okay"; 541 status = "okay"; 1014 pinctrl-names = "default"; << 1015 pinctrl-0 = <&pinctrl_usb0_default>; << 1016 phy-names = "usb3-phy"; << 1017 phys = <&psgtr 2 PHY_TYPE_USB3 0 2>; << 1018 }; << 1019 << 1020 &dwc3_0 { << 1021 status = "okay"; << 1022 dr_mode = "host"; << 1023 snps,usb3_lpm_capable; << 1024 maximum-speed = "super-speed"; << 1025 }; 542 }; 1026 543 1027 &watchdog0 { 544 &watchdog0 { 1028 status = "okay"; 545 status = "okay"; 1029 }; << 1030 << 1031 &xilinx_ams { << 1032 status = "okay"; << 1033 }; << 1034 << 1035 &ams_ps { << 1036 status = "okay"; << 1037 }; << 1038 << 1039 &ams_pl { << 1040 status = "okay"; << 1041 }; << 1042 << 1043 &zynqmp_dpdma { << 1044 status = "okay"; << 1045 }; << 1046 << 1047 &zynqmp_dpsub { << 1048 status = "okay"; << 1049 phy-names = "dp-phy0"; << 1050 phys = <&psgtr 1 PHY_TYPE_DP 0 3>; << 1051 }; 546 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.