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 { !! 113 ti,dp83867-rxctrl-strap-quirk; 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 }; 114 }; 218 }; 115 }; 219 116 220 &gpio { 117 &gpio { 221 status = "okay"; 118 status = "okay"; 222 pinctrl-names = "default"; << 223 pinctrl-0 = <&pinctrl_gpio_default>; << 224 }; << 225 << 226 &gpu { << 227 status = "okay"; << 228 }; 119 }; 229 120 230 &i2c0 { 121 &i2c0 { 231 status = "okay"; 122 status = "okay"; 232 clock-frequency = <400000>; 123 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 124 239 tca6416_u97: gpio@20 { 125 tca6416_u97: gpio@20 { 240 compatible = "ti,tca6416"; 126 compatible = "ti,tca6416"; 241 reg = <0x20>; 127 reg = <0x20>; 242 gpio-controller; /* IRQ not co !! 128 gpio-controller; 243 #gpio-cells = <2>; 129 #gpio-cells = <2>; 244 gpio-line-names = "PS_GTR_LAN_ !! 130 /* 245 "PCI_CLK_DIR_S !! 131 * IRQ not connected 246 "", "", "", "" !! 132 * Lines: 247 gtr-sel0-hog { !! 133 * 0 - PS_GTR_LAN_SEL0 >> 134 * 1 - PS_GTR_LAN_SEL1 >> 135 * 2 - PS_GTR_LAN_SEL2 >> 136 * 3 - PS_GTR_LAN_SEL3 >> 137 * 4 - PCI_CLK_DIR_SEL >> 138 * 5 - IIC_MUX_RESET_B >> 139 * 6 - GEM3_EXP_RESET_B >> 140 * 7, 10 - 17 - not connected >> 141 */ >> 142 >> 143 gtr-sel0 { 248 gpio-hog; 144 gpio-hog; 249 gpios = <0 0>; 145 gpios = <0 0>; 250 output-low; /* PCIE = 146 output-low; /* PCIE = 0, DP = 1 */ 251 line-name = "sel0"; 147 line-name = "sel0"; 252 }; 148 }; 253 gtr-sel1-hog { !! 149 gtr-sel1 { 254 gpio-hog; 150 gpio-hog; 255 gpios = <1 0>; 151 gpios = <1 0>; 256 output-high; /* PCIE = 152 output-high; /* PCIE = 0, DP = 1 */ 257 line-name = "sel1"; 153 line-name = "sel1"; 258 }; 154 }; 259 gtr-sel2-hog { !! 155 gtr-sel2 { 260 gpio-hog; 156 gpio-hog; 261 gpios = <2 0>; 157 gpios = <2 0>; 262 output-high; /* PCIE = 158 output-high; /* PCIE = 0, USB0 = 1 */ 263 line-name = "sel2"; 159 line-name = "sel2"; 264 }; 160 }; 265 gtr-sel3-hog { !! 161 gtr-sel3 { 266 gpio-hog; 162 gpio-hog; 267 gpios = <3 0>; 163 gpios = <3 0>; 268 output-high; /* PCIE = 164 output-high; /* PCIE = 0, SATA = 1 */ 269 line-name = "sel3"; 165 line-name = "sel3"; 270 }; 166 }; 271 }; 167 }; 272 168 273 tca6416_u61: gpio@21 { 169 tca6416_u61: gpio@21 { 274 compatible = "ti,tca6416"; 170 compatible = "ti,tca6416"; 275 reg = <0x21>; 171 reg = <0x21>; 276 gpio-controller; /* IRQ not co !! 172 gpio-controller; 277 #gpio-cells = <2>; 173 #gpio-cells = <2>; 278 gpio-line-names = "VCCPSPLL_EN !! 174 /* 279 "PL_PMBUS_ALER !! 175 * IRQ not connected 280 "PL_DDR4_VPP_2 !! 176 * Lines: 281 "PS_DDR4_VTERM !! 177 * 0 - VCCPSPLL_EN >> 178 * 1 - MGTRAVCC_EN >> 179 * 2 - MGTRAVTT_EN >> 180 * 3 - VCCPSDDRPLL_EN >> 181 * 4 - MIO26_PMU_INPUT_LS >> 182 * 5 - PL_PMBUS_ALERT >> 183 * 6 - PS_PMBUS_ALERT >> 184 * 7 - MAXIM_PMBUS_ALERT >> 185 * 10 - PL_DDR4_VTERM_EN >> 186 * 11 - PL_DDR4_VPP_2V5_EN >> 187 * 12 - PS_DIMM_VDDQ_TO_PSVCCO_ON >> 188 * 13 - PS_DIMM_SUSPEND_EN >> 189 * 14 - PS_DDR4_VTERM_EN >> 190 * 15 - PS_DDR4_VPP_2V5_EN >> 191 * 16 - 17 - not connected >> 192 */ 282 }; 193 }; 283 194 284 i2c-mux@75 { /* u60 */ 195 i2c-mux@75 { /* u60 */ 285 compatible = "nxp,pca9544"; 196 compatible = "nxp,pca9544"; 286 #address-cells = <1>; 197 #address-cells = <1>; 287 #size-cells = <0>; 198 #size-cells = <0>; 288 reg = <0x75>; 199 reg = <0x75>; 289 i2c@0 { 200 i2c@0 { 290 #address-cells = <1>; 201 #address-cells = <1>; 291 #size-cells = <0>; 202 #size-cells = <0>; 292 reg = <0>; 203 reg = <0>; 293 /* PS_PMBUS */ 204 /* PS_PMBUS */ 294 u76: ina226@40 { /* u7 !! 205 ina226@40 { /* u76 */ 295 compatible = " 206 compatible = "ti,ina226"; 296 #io-channel-ce << 297 label = "ina22 << 298 reg = <0x40>; 207 reg = <0x40>; 299 shunt-resistor 208 shunt-resistor = <5000>; 300 }; 209 }; 301 u77: ina226@41 { /* u7 !! 210 ina226@41 { /* u77 */ 302 compatible = " 211 compatible = "ti,ina226"; 303 #io-channel-ce << 304 label = "ina22 << 305 reg = <0x41>; 212 reg = <0x41>; 306 shunt-resistor 213 shunt-resistor = <5000>; 307 }; 214 }; 308 u78: ina226@42 { /* u7 !! 215 ina226@42 { /* u78 */ 309 compatible = " 216 compatible = "ti,ina226"; 310 #io-channel-ce << 311 label = "ina22 << 312 reg = <0x42>; 217 reg = <0x42>; 313 shunt-resistor 218 shunt-resistor = <5000>; 314 }; 219 }; 315 u87: ina226@43 { /* u8 !! 220 ina226@43 { /* u87 */ 316 compatible = " 221 compatible = "ti,ina226"; 317 #io-channel-ce << 318 label = "ina22 << 319 reg = <0x43>; 222 reg = <0x43>; 320 shunt-resistor 223 shunt-resistor = <5000>; 321 }; 224 }; 322 u85: ina226@44 { /* u8 !! 225 ina226@44 { /* u85 */ 323 compatible = " 226 compatible = "ti,ina226"; 324 #io-channel-ce << 325 label = "ina22 << 326 reg = <0x44>; 227 reg = <0x44>; 327 shunt-resistor 228 shunt-resistor = <5000>; 328 }; 229 }; 329 u86: ina226@45 { /* u8 !! 230 ina226@45 { /* u86 */ 330 compatible = " 231 compatible = "ti,ina226"; 331 #io-channel-ce << 332 label = "ina22 << 333 reg = <0x45>; 232 reg = <0x45>; 334 shunt-resistor 233 shunt-resistor = <5000>; 335 }; 234 }; 336 u93: ina226@46 { /* u9 !! 235 ina226@46 { /* u93 */ 337 compatible = " 236 compatible = "ti,ina226"; 338 #io-channel-ce << 339 label = "ina22 << 340 reg = <0x46>; 237 reg = <0x46>; 341 shunt-resistor 238 shunt-resistor = <5000>; 342 }; 239 }; 343 u88: ina226@47 { /* u8 !! 240 ina226@47 { /* u88 */ 344 compatible = " 241 compatible = "ti,ina226"; 345 #io-channel-ce << 346 label = "ina22 << 347 reg = <0x47>; 242 reg = <0x47>; 348 shunt-resistor 243 shunt-resistor = <5000>; 349 }; 244 }; 350 u15: ina226@4a { /* u1 !! 245 ina226@4a { /* u15 */ 351 compatible = " 246 compatible = "ti,ina226"; 352 #io-channel-ce << 353 label = "ina22 << 354 reg = <0x4a>; 247 reg = <0x4a>; 355 shunt-resistor 248 shunt-resistor = <5000>; 356 }; 249 }; 357 u92: ina226@4b { /* u9 !! 250 ina226@4b { /* u92 */ 358 compatible = " 251 compatible = "ti,ina226"; 359 #io-channel-ce << 360 label = "ina22 << 361 reg = <0x4b>; 252 reg = <0x4b>; 362 shunt-resistor 253 shunt-resistor = <5000>; 363 }; 254 }; 364 }; 255 }; 365 i2c@1 { 256 i2c@1 { 366 #address-cells = <1>; 257 #address-cells = <1>; 367 #size-cells = <0>; 258 #size-cells = <0>; 368 reg = <1>; 259 reg = <1>; 369 /* PL_PMBUS */ 260 /* PL_PMBUS */ 370 u79: ina226@40 { /* u7 !! 261 ina226@40 { /* u79 */ 371 compatible = " 262 compatible = "ti,ina226"; 372 #io-channel-ce << 373 label = "ina22 << 374 reg = <0x40>; 263 reg = <0x40>; 375 shunt-resistor 264 shunt-resistor = <2000>; 376 }; 265 }; 377 u81: ina226@41 { /* u8 !! 266 ina226@41 { /* u81 */ 378 compatible = " 267 compatible = "ti,ina226"; 379 #io-channel-ce << 380 label = "ina22 << 381 reg = <0x41>; 268 reg = <0x41>; 382 shunt-resistor 269 shunt-resistor = <5000>; 383 }; 270 }; 384 u80: ina226@42 { /* u8 !! 271 ina226@42 { /* u80 */ 385 compatible = " 272 compatible = "ti,ina226"; 386 #io-channel-ce << 387 label = "ina22 << 388 reg = <0x42>; 273 reg = <0x42>; 389 shunt-resistor 274 shunt-resistor = <5000>; 390 }; 275 }; 391 u84: ina226@43 { /* u8 !! 276 ina226@43 { /* u84 */ 392 compatible = " 277 compatible = "ti,ina226"; 393 #io-channel-ce << 394 label = "ina22 << 395 reg = <0x43>; 278 reg = <0x43>; 396 shunt-resistor 279 shunt-resistor = <5000>; 397 }; 280 }; 398 u16: ina226@44 { /* u1 !! 281 ina226@44 { /* u16 */ 399 compatible = " 282 compatible = "ti,ina226"; 400 #io-channel-ce << 401 label = "ina22 << 402 reg = <0x44>; 283 reg = <0x44>; 403 shunt-resistor 284 shunt-resistor = <5000>; 404 }; 285 }; 405 u65: ina226@45 { /* u6 !! 286 ina226@45 { /* u65 */ 406 compatible = " 287 compatible = "ti,ina226"; 407 #io-channel-ce << 408 label = "ina22 << 409 reg = <0x45>; 288 reg = <0x45>; 410 shunt-resistor 289 shunt-resistor = <5000>; 411 }; 290 }; 412 u74: ina226@46 { /* u7 !! 291 ina226@46 { /* u74 */ 413 compatible = " 292 compatible = "ti,ina226"; 414 #io-channel-ce << 415 label = "ina22 << 416 reg = <0x46>; 293 reg = <0x46>; 417 shunt-resistor 294 shunt-resistor = <5000>; 418 }; 295 }; 419 u75: ina226@47 { /* u7 !! 296 ina226@47 { /* u75 */ 420 compatible = " 297 compatible = "ti,ina226"; 421 #io-channel-ce << 422 label = "ina22 << 423 reg = <0x47>; 298 reg = <0x47>; 424 shunt-resistor 299 shunt-resistor = <5000>; 425 }; 300 }; 426 }; 301 }; 427 i2c@2 { 302 i2c@2 { 428 #address-cells = <1>; 303 #address-cells = <1>; 429 #size-cells = <0>; 304 #size-cells = <0>; 430 reg = <2>; 305 reg = <2>; 431 /* MAXIM_PMBUS - 00 */ 306 /* MAXIM_PMBUS - 00 */ 432 max15301@a { /* u46 */ 307 max15301@a { /* u46 */ 433 compatible = " 308 compatible = "maxim,max15301"; 434 reg = <0xa>; 309 reg = <0xa>; 435 }; 310 }; 436 max15303@b { /* u4 */ 311 max15303@b { /* u4 */ 437 compatible = " 312 compatible = "maxim,max15303"; 438 reg = <0xb>; 313 reg = <0xb>; 439 }; 314 }; 440 max15303@10 { /* u13 * 315 max15303@10 { /* u13 */ 441 compatible = " 316 compatible = "maxim,max15303"; 442 reg = <0x10>; 317 reg = <0x10>; 443 }; 318 }; 444 max15301@13 { /* u47 * 319 max15301@13 { /* u47 */ 445 compatible = " 320 compatible = "maxim,max15301"; 446 reg = <0x13>; 321 reg = <0x13>; 447 }; 322 }; 448 max15303@14 { /* u7 */ 323 max15303@14 { /* u7 */ 449 compatible = " 324 compatible = "maxim,max15303"; 450 reg = <0x14>; 325 reg = <0x14>; 451 }; 326 }; 452 max15303@15 { /* u6 */ 327 max15303@15 { /* u6 */ 453 compatible = " 328 compatible = "maxim,max15303"; 454 reg = <0x15>; 329 reg = <0x15>; 455 }; 330 }; 456 max15303@16 { /* u10 * 331 max15303@16 { /* u10 */ 457 compatible = " 332 compatible = "maxim,max15303"; 458 reg = <0x16>; 333 reg = <0x16>; 459 }; 334 }; 460 max15303@17 { /* u9 */ 335 max15303@17 { /* u9 */ 461 compatible = " 336 compatible = "maxim,max15303"; 462 reg = <0x17>; 337 reg = <0x17>; 463 }; 338 }; 464 max15301@18 { /* u63 * 339 max15301@18 { /* u63 */ 465 compatible = " 340 compatible = "maxim,max15301"; 466 reg = <0x18>; 341 reg = <0x18>; 467 }; 342 }; 468 max15303@1a { /* u49 * 343 max15303@1a { /* u49 */ 469 compatible = " 344 compatible = "maxim,max15303"; 470 reg = <0x1a>; 345 reg = <0x1a>; 471 }; 346 }; 472 max15303@1d { /* u18 * 347 max15303@1d { /* u18 */ 473 compatible = " 348 compatible = "maxim,max15303"; 474 reg = <0x1d>; 349 reg = <0x1d>; 475 }; 350 }; 476 max15303@20 { /* u8 */ 351 max15303@20 { /* u8 */ 477 compatible = " 352 compatible = "maxim,max15303"; 478 status = "disa 353 status = "disabled"; /* unreachable */ 479 reg = <0x20>; 354 reg = <0x20>; 480 }; 355 }; >> 356 481 max20751@72 { /* u95 * 357 max20751@72 { /* u95 */ 482 compatible = " 358 compatible = "maxim,max20751"; 483 reg = <0x72>; 359 reg = <0x72>; 484 }; 360 }; 485 max20751@73 { /* u96 * 361 max20751@73 { /* u96 */ 486 compatible = " 362 compatible = "maxim,max20751"; 487 reg = <0x73>; 363 reg = <0x73>; 488 }; 364 }; 489 }; 365 }; 490 /* Bus 3 is not connected */ 366 /* Bus 3 is not connected */ 491 }; 367 }; 492 }; 368 }; 493 369 494 &i2c1 { 370 &i2c1 { 495 status = "okay"; 371 status = "okay"; 496 clock-frequency = <400000>; 372 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 373 503 /* PL i2c via PCA9306 - u45 */ 374 /* PL i2c via PCA9306 - u45 */ 504 i2c-mux@74 { /* u34 */ 375 i2c-mux@74 { /* u34 */ 505 compatible = "nxp,pca9548"; 376 compatible = "nxp,pca9548"; 506 #address-cells = <1>; 377 #address-cells = <1>; 507 #size-cells = <0>; 378 #size-cells = <0>; 508 reg = <0x74>; 379 reg = <0x74>; 509 i2c@0 { 380 i2c@0 { 510 #address-cells = <1>; 381 #address-cells = <1>; 511 #size-cells = <0>; 382 #size-cells = <0>; 512 reg = <0>; 383 reg = <0>; 513 /* 384 /* 514 * IIC_EEPROM 1kB memo 385 * IIC_EEPROM 1kB memory which uses 256B blocks 515 * where every block h 386 * where every block has different address. 516 * 0 - 256B address 387 * 0 - 256B address 0x54 517 * 256B - 512B address 388 * 256B - 512B address 0x55 518 * 512B - 768B address 389 * 512B - 768B address 0x56 519 * 768B - 1024B addres 390 * 768B - 1024B address 0x57 520 */ 391 */ 521 eeprom: eeprom@54 { /* 392 eeprom: eeprom@54 { /* u23 */ 522 compatible = " 393 compatible = "atmel,24c08"; 523 reg = <0x54>; 394 reg = <0x54>; 524 }; 395 }; 525 }; 396 }; 526 i2c@1 { 397 i2c@1 { 527 #address-cells = <1>; 398 #address-cells = <1>; 528 #size-cells = <0>; 399 #size-cells = <0>; 529 reg = <1>; 400 reg = <1>; 530 si5341: clock-generato 401 si5341: clock-generator@36 { /* SI5341 - u69 */ 531 compatible = " << 532 reg = <0x36>; 402 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 }; 403 }; >> 404 581 }; 405 }; 582 i2c@2 { 406 i2c@2 { 583 #address-cells = <1>; 407 #address-cells = <1>; 584 #size-cells = <0>; 408 #size-cells = <0>; 585 reg = <2>; 409 reg = <2>; 586 si570_1: clock-generat 410 si570_1: clock-generator@5d { /* USER SI570 - u42 */ 587 #clock-cells = 411 #clock-cells = <0>; 588 compatible = " 412 compatible = "silabs,si570"; 589 reg = <0x5d>; 413 reg = <0x5d>; 590 temperature-st 414 temperature-stability = <50>; 591 factory-fout = 415 factory-fout = <300000000>; 592 clock-frequenc 416 clock-frequency = <300000000>; 593 clock-output-n << 594 }; 417 }; 595 }; 418 }; 596 i2c@3 { 419 i2c@3 { 597 #address-cells = <1>; 420 #address-cells = <1>; 598 #size-cells = <0>; 421 #size-cells = <0>; 599 reg = <3>; 422 reg = <3>; 600 si570_2: clock-generat 423 si570_2: clock-generator@5d { /* USER MGT SI570 - u56 */ 601 #clock-cells = 424 #clock-cells = <0>; 602 compatible = " 425 compatible = "silabs,si570"; 603 reg = <0x5d>; 426 reg = <0x5d>; 604 temperature-st 427 temperature-stability = <50>; /* copy from zc702 */ 605 factory-fout = 428 factory-fout = <156250000>; 606 clock-frequenc !! 429 clock-frequency = <148500000>; 607 clock-output-n << 608 }; 430 }; 609 }; 431 }; 610 i2c@4 { 432 i2c@4 { 611 #address-cells = <1>; 433 #address-cells = <1>; 612 #size-cells = <0>; 434 #size-cells = <0>; 613 reg = <4>; 435 reg = <4>; 614 /* SI5328 - u20 */ !! 436 si5328: clock-generator@69 {/* SI5328 - u20 */ >> 437 reg = <0x69>; >> 438 /* >> 439 * Chip has interrupt present connected to PL >> 440 * interrupt-parent = <&>; >> 441 * interrupts = <>; >> 442 */ >> 443 }; 615 }; 444 }; 616 /* 5 - 7 unconnected */ 445 /* 5 - 7 unconnected */ 617 }; 446 }; 618 447 619 i2c-mux@75 { 448 i2c-mux@75 { 620 compatible = "nxp,pca9548"; /* 449 compatible = "nxp,pca9548"; /* u135 */ 621 #address-cells = <1>; 450 #address-cells = <1>; 622 #size-cells = <0>; 451 #size-cells = <0>; 623 reg = <0x75>; 452 reg = <0x75>; 624 453 625 i2c@0 { 454 i2c@0 { 626 #address-cells = <1>; 455 #address-cells = <1>; 627 #size-cells = <0>; 456 #size-cells = <0>; 628 reg = <0>; 457 reg = <0>; 629 /* HPC0_IIC */ 458 /* HPC0_IIC */ 630 }; 459 }; 631 i2c@1 { 460 i2c@1 { 632 #address-cells = <1>; 461 #address-cells = <1>; 633 #size-cells = <0>; 462 #size-cells = <0>; 634 reg = <1>; 463 reg = <1>; 635 /* HPC1_IIC */ 464 /* HPC1_IIC */ 636 }; 465 }; 637 i2c@2 { 466 i2c@2 { 638 #address-cells = <1>; 467 #address-cells = <1>; 639 #size-cells = <0>; 468 #size-cells = <0>; 640 reg = <2>; 469 reg = <2>; 641 /* SYSMON */ 470 /* SYSMON */ 642 }; 471 }; 643 i2c@3 { 472 i2c@3 { 644 #address-cells = <1>; 473 #address-cells = <1>; 645 #size-cells = <0>; 474 #size-cells = <0>; 646 reg = <3>; 475 reg = <3>; 647 /* DDR4 SODIMM */ 476 /* DDR4 SODIMM */ 648 }; 477 }; 649 i2c@4 { 478 i2c@4 { 650 #address-cells = <1>; 479 #address-cells = <1>; 651 #size-cells = <0>; 480 #size-cells = <0>; 652 reg = <4>; 481 reg = <4>; 653 /* SEP 3 */ 482 /* SEP 3 */ 654 }; 483 }; 655 i2c@5 { 484 i2c@5 { 656 #address-cells = <1>; 485 #address-cells = <1>; 657 #size-cells = <0>; 486 #size-cells = <0>; 658 reg = <5>; 487 reg = <5>; 659 /* SEP 2 */ 488 /* SEP 2 */ 660 }; 489 }; 661 i2c@6 { 490 i2c@6 { 662 #address-cells = <1>; 491 #address-cells = <1>; 663 #size-cells = <0>; 492 #size-cells = <0>; 664 reg = <6>; 493 reg = <6>; 665 /* SEP 1 */ 494 /* SEP 1 */ 666 }; 495 }; 667 i2c@7 { 496 i2c@7 { 668 #address-cells = <1>; 497 #address-cells = <1>; 669 #size-cells = <0>; 498 #size-cells = <0>; 670 reg = <7>; 499 reg = <7>; 671 /* SEP 0 */ 500 /* SEP 0 */ 672 }; 501 }; 673 }; 502 }; 674 }; 503 }; 675 504 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 { 505 &pcie { 943 status = "okay"; 506 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 }; 507 }; 966 508 967 &rtc { 509 &rtc { 968 status = "okay"; 510 status = "okay"; 969 }; 511 }; 970 512 971 &sata { 513 &sata { 972 status = "okay"; 514 status = "okay"; 973 /* SATA OOB timing settings */ 515 /* SATA OOB timing settings */ 974 ceva,p0-cominit-params = /bits/ 8 <0x1 516 ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>; 975 ceva,p0-comwake-params = /bits/ 8 <0x0 517 ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>; 976 ceva,p0-burst-params = /bits/ 8 <0x13 518 ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>; 977 ceva,p0-retry-params = /bits/ 16 <0x96 519 ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>; 978 ceva,p1-cominit-params = /bits/ 8 <0x1 520 ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>; 979 ceva,p1-comwake-params = /bits/ 8 <0x0 521 ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>; 980 ceva,p1-burst-params = /bits/ 8 <0x13 522 ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>; 981 ceva,p1-retry-params = /bits/ 16 <0x96 523 ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>; 982 phy-names = "sata-phy"; << 983 phys = <&psgtr 3 PHY_TYPE_SATA 1 1>; << 984 }; 524 }; 985 525 986 /* SD1 with level shifter */ 526 /* SD1 with level shifter */ 987 &sdhci1 { 527 &sdhci1 { 988 status = "okay"; 528 status = "okay"; 989 /* << 990 * 1.0 revision has level shifter and << 991 * removed for supporting UHS mode << 992 */ << 993 no-1-8-v; 529 no-1-8-v; 994 pinctrl-names = "default"; << 995 pinctrl-0 = <&pinctrl_sdhci1_default>; << 996 xlnx,mio-bank = <1>; << 997 }; 530 }; 998 531 999 &uart0 { 532 &uart0 { 1000 status = "okay"; 533 status = "okay"; 1001 pinctrl-names = "default"; << 1002 pinctrl-0 = <&pinctrl_uart0_default>; << 1003 }; 534 }; 1004 535 1005 &uart1 { 536 &uart1 { 1006 status = "okay"; 537 status = "okay"; 1007 pinctrl-names = "default"; << 1008 pinctrl-0 = <&pinctrl_uart1_default>; << 1009 }; 538 }; 1010 539 1011 /* ULPI SMSC USB3320 */ 540 /* ULPI SMSC USB3320 */ 1012 &usb0 { 541 &usb0 { 1013 status = "okay"; 542 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 }; 543 }; 1026 544 1027 &watchdog0 { 545 &watchdog0 { 1028 status = "okay"; 546 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 }; 547 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.