1*4882a593Smuzhiyun/* 2*4882a593Smuzhiyun * dts file for Xilinx ZynqMP ZCU102 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * (C) Copyright 2015, Xilinx, Inc. 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * Michal Simek <michal.simek@xilinx.com> 7*4882a593Smuzhiyun * 8*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 9*4882a593Smuzhiyun */ 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun/dts-v1/; 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun#include "zynqmp.dtsi" 14*4882a593Smuzhiyun#include "zynqmp-clk.dtsi" 15*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h> 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun/ { 18*4882a593Smuzhiyun model = "ZynqMP ZCU102 RevA"; 19*4882a593Smuzhiyun compatible = "xlnx,zynqmp-zcu102-revA", "xlnx,zynqmp-zcu102", "xlnx,zynqmp"; 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun aliases { 22*4882a593Smuzhiyun ethernet0 = &gem3; 23*4882a593Smuzhiyun gpio0 = &gpio; 24*4882a593Smuzhiyun i2c0 = &i2c0; 25*4882a593Smuzhiyun i2c1 = &i2c1; 26*4882a593Smuzhiyun mmc0 = &sdhci1; 27*4882a593Smuzhiyun rtc0 = &rtc; 28*4882a593Smuzhiyun serial0 = &uart0; 29*4882a593Smuzhiyun serial1 = &uart1; 30*4882a593Smuzhiyun serial2 = &dcc; 31*4882a593Smuzhiyun spi0 = &qspi; 32*4882a593Smuzhiyun usb0 = &usb0; 33*4882a593Smuzhiyun }; 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun chosen { 36*4882a593Smuzhiyun bootargs = "earlycon"; 37*4882a593Smuzhiyun stdout-path = "serial0:115200n8"; 38*4882a593Smuzhiyun }; 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun memory@0 { 41*4882a593Smuzhiyun device_type = "memory"; 42*4882a593Smuzhiyun reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>; 43*4882a593Smuzhiyun }; 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun gpio-keys { 46*4882a593Smuzhiyun compatible = "gpio-keys"; 47*4882a593Smuzhiyun #address-cells = <1>; 48*4882a593Smuzhiyun #size-cells = <0>; 49*4882a593Smuzhiyun autorepeat; 50*4882a593Smuzhiyun sw19 { 51*4882a593Smuzhiyun label = "sw19"; 52*4882a593Smuzhiyun gpios = <&gpio 22 GPIO_ACTIVE_HIGH>; 53*4882a593Smuzhiyun linux,code = <108>; /* down */ 54*4882a593Smuzhiyun gpio-key,wakeup; 55*4882a593Smuzhiyun autorepeat; 56*4882a593Smuzhiyun }; 57*4882a593Smuzhiyun }; 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun leds { 60*4882a593Smuzhiyun compatible = "gpio-leds"; 61*4882a593Smuzhiyun heartbeat_led { 62*4882a593Smuzhiyun label = "heartbeat"; 63*4882a593Smuzhiyun gpios = <&gpio 23 0>; 64*4882a593Smuzhiyun linux,default-trigger = "heartbeat"; 65*4882a593Smuzhiyun }; 66*4882a593Smuzhiyun }; 67*4882a593Smuzhiyun}; 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun&can1 { 70*4882a593Smuzhiyun status = "okay"; 71*4882a593Smuzhiyun}; 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun&dcc { 74*4882a593Smuzhiyun status = "okay"; 75*4882a593Smuzhiyun}; 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun/* fpd_dma clk 667MHz, lpd_dma 500MHz */ 78*4882a593Smuzhiyun&fpd_dma_chan1 { 79*4882a593Smuzhiyun status = "okay"; 80*4882a593Smuzhiyun xlnx,include-sg; /* for testing purpose */ 81*4882a593Smuzhiyun xlnx,overfetch; /* for testing purpose */ 82*4882a593Smuzhiyun xlnx,ratectrl = <0>; /* for testing purpose */ 83*4882a593Smuzhiyun xlnx,src-issue = <31>; 84*4882a593Smuzhiyun}; 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun&fpd_dma_chan2 { 87*4882a593Smuzhiyun status = "okay"; 88*4882a593Smuzhiyun xlnx,ratectrl = <100>; /* for testing purpose */ 89*4882a593Smuzhiyun xlnx,src-issue = <4>; /* for testing purpose */ 90*4882a593Smuzhiyun}; 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun&fpd_dma_chan3 { 93*4882a593Smuzhiyun status = "okay"; 94*4882a593Smuzhiyun}; 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun&fpd_dma_chan4 { 97*4882a593Smuzhiyun status = "okay"; 98*4882a593Smuzhiyun xlnx,include-sg; /* for testing purpose */ 99*4882a593Smuzhiyun}; 100*4882a593Smuzhiyun 101*4882a593Smuzhiyun&fpd_dma_chan5 { 102*4882a593Smuzhiyun status = "okay"; 103*4882a593Smuzhiyun}; 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun&fpd_dma_chan6 { 106*4882a593Smuzhiyun status = "okay"; 107*4882a593Smuzhiyun xlnx,include-sg; /* for testing purpose */ 108*4882a593Smuzhiyun}; 109*4882a593Smuzhiyun 110*4882a593Smuzhiyun&fpd_dma_chan7 { 111*4882a593Smuzhiyun status = "okay"; 112*4882a593Smuzhiyun}; 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun&fpd_dma_chan8 { 115*4882a593Smuzhiyun status = "okay"; 116*4882a593Smuzhiyun xlnx,include-sg; /* for testing purpose */ 117*4882a593Smuzhiyun}; 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun&gem3 { 120*4882a593Smuzhiyun status = "okay"; 121*4882a593Smuzhiyun local-mac-address = [00 0a 35 00 02 90]; 122*4882a593Smuzhiyun phy-handle = <&phy0>; 123*4882a593Smuzhiyun phy-mode = "rgmii-id"; 124*4882a593Smuzhiyun phy0: phy@21 { 125*4882a593Smuzhiyun reg = <21>; 126*4882a593Smuzhiyun ti,rx-internal-delay = <0x8>; 127*4882a593Smuzhiyun ti,tx-internal-delay = <0xa>; 128*4882a593Smuzhiyun ti,fifo-depth = <0x1>; 129*4882a593Smuzhiyun }; 130*4882a593Smuzhiyun}; 131*4882a593Smuzhiyun 132*4882a593Smuzhiyun&gpio { 133*4882a593Smuzhiyun status = "okay"; 134*4882a593Smuzhiyun}; 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun&gpu { 137*4882a593Smuzhiyun status = "okay"; 138*4882a593Smuzhiyun}; 139*4882a593Smuzhiyun 140*4882a593Smuzhiyun&i2c0 { 141*4882a593Smuzhiyun status = "okay"; 142*4882a593Smuzhiyun clock-frequency = <400000>; 143*4882a593Smuzhiyun 144*4882a593Smuzhiyun tca6416_u97: gpio@20 { 145*4882a593Smuzhiyun /* 146*4882a593Smuzhiyun * Enable all GTs to out from U-Boot 147*4882a593Smuzhiyun * i2c mw 20 6 0 - setup IO to output 148*4882a593Smuzhiyun * i2c mw 20 2 ef - setup output values on pins 0-7 149*4882a593Smuzhiyun * i2c mw 20 3 ff - setup output values on pins 10-17 150*4882a593Smuzhiyun */ 151*4882a593Smuzhiyun compatible = "ti,tca6416"; 152*4882a593Smuzhiyun reg = <0x20>; 153*4882a593Smuzhiyun gpio-controller; 154*4882a593Smuzhiyun #gpio-cells = <2>; 155*4882a593Smuzhiyun /* 156*4882a593Smuzhiyun * IRQ not connected 157*4882a593Smuzhiyun * Lines: 158*4882a593Smuzhiyun * 0 - PS_GTR_LAN_SEL0 159*4882a593Smuzhiyun * 1 - PS_GTR_LAN_SEL1 160*4882a593Smuzhiyun * 2 - PS_GTR_LAN_SEL2 161*4882a593Smuzhiyun * 3 - PS_GTR_LAN_SEL3 162*4882a593Smuzhiyun * 4 - PCI_CLK_DIR_SEL 163*4882a593Smuzhiyun * 5 - IIC_MUX_RESET_B 164*4882a593Smuzhiyun * 6 - GEM3_EXP_RESET_B 165*4882a593Smuzhiyun * 7, 10 - 17 - not connected 166*4882a593Smuzhiyun */ 167*4882a593Smuzhiyun 168*4882a593Smuzhiyun gtr_sel0 { 169*4882a593Smuzhiyun gpio-hog; 170*4882a593Smuzhiyun gpios = <0 0>; 171*4882a593Smuzhiyun output-high; /* PCIE = 0, DP = 1 */ 172*4882a593Smuzhiyun line-name = "sel0"; 173*4882a593Smuzhiyun }; 174*4882a593Smuzhiyun gtr_sel1 { 175*4882a593Smuzhiyun gpio-hog; 176*4882a593Smuzhiyun gpios = <1 0>; 177*4882a593Smuzhiyun output-high; /* PCIE = 0, DP = 1 */ 178*4882a593Smuzhiyun line-name = "sel1"; 179*4882a593Smuzhiyun }; 180*4882a593Smuzhiyun gtr_sel2 { 181*4882a593Smuzhiyun gpio-hog; 182*4882a593Smuzhiyun gpios = <2 0>; 183*4882a593Smuzhiyun output-high; /* PCIE = 0, USB0 = 1 */ 184*4882a593Smuzhiyun line-name = "sel2"; 185*4882a593Smuzhiyun }; 186*4882a593Smuzhiyun gtr_sel3 { 187*4882a593Smuzhiyun gpio-hog; 188*4882a593Smuzhiyun gpios = <3 0>; 189*4882a593Smuzhiyun output-high; /* PCIE = 0, SATA = 1 */ 190*4882a593Smuzhiyun line-name = "sel3"; 191*4882a593Smuzhiyun }; 192*4882a593Smuzhiyun }; 193*4882a593Smuzhiyun 194*4882a593Smuzhiyun tca6416_u61: gpio@21 { /* FIXME enable it by i2c mw 21 6 0 */ 195*4882a593Smuzhiyun compatible = "ti,tca6416"; 196*4882a593Smuzhiyun reg = <0x21>; 197*4882a593Smuzhiyun gpio-controller; 198*4882a593Smuzhiyun #gpio-cells = <2>; 199*4882a593Smuzhiyun /* 200*4882a593Smuzhiyun * IRQ not connected 201*4882a593Smuzhiyun * Lines: 202*4882a593Smuzhiyun * 0 - VCCPSPLL_EN 203*4882a593Smuzhiyun * 1 - MGTRAVCC_EN 204*4882a593Smuzhiyun * 2 - MGTRAVTT_EN 205*4882a593Smuzhiyun * 3 - VCCPSDDRPLL_EN 206*4882a593Smuzhiyun * 4 - MIO26_PMU_INPUT_LS 207*4882a593Smuzhiyun * 5 - PL_PMBUS_ALERT 208*4882a593Smuzhiyun * 6 - PS_PMBUS_ALERT 209*4882a593Smuzhiyun * 7 - MAXIM_PMBUS_ALERT 210*4882a593Smuzhiyun * 10 - PL_DDR4_VTERM_EN 211*4882a593Smuzhiyun * 11 - PL_DDR4_VPP_2V5_EN 212*4882a593Smuzhiyun * 12 - PS_DIMM_VDDQ_TO_PSVCCO_ON 213*4882a593Smuzhiyun * 13 - PS_DIMM_SUSPEND_EN 214*4882a593Smuzhiyun * 14 - PS_DDR4_VTERM_EN 215*4882a593Smuzhiyun * 15 - PS_DDR4_VPP_2V5_EN 216*4882a593Smuzhiyun * 16 - 17 - not connected 217*4882a593Smuzhiyun */ 218*4882a593Smuzhiyun }; 219*4882a593Smuzhiyun 220*4882a593Smuzhiyun i2cswitch@75 { /* u60 */ 221*4882a593Smuzhiyun compatible = "nxp,pca9544"; 222*4882a593Smuzhiyun #address-cells = <1>; 223*4882a593Smuzhiyun #size-cells = <0>; 224*4882a593Smuzhiyun reg = <0x75>; 225*4882a593Smuzhiyun i2c@0 { /* i2c mw 75 0 1 */ 226*4882a593Smuzhiyun #address-cells = <1>; 227*4882a593Smuzhiyun #size-cells = <0>; 228*4882a593Smuzhiyun reg = <0>; 229*4882a593Smuzhiyun /* PS_PMBUS */ 230*4882a593Smuzhiyun ina226@40 { /* u76 */ 231*4882a593Smuzhiyun compatible = "ti,ina226"; 232*4882a593Smuzhiyun reg = <0x40>; 233*4882a593Smuzhiyun shunt-resistor = <5000>; 234*4882a593Smuzhiyun }; 235*4882a593Smuzhiyun ina226@41 { /* u77 */ 236*4882a593Smuzhiyun compatible = "ti,ina226"; 237*4882a593Smuzhiyun reg = <0x41>; 238*4882a593Smuzhiyun shunt-resistor = <5000>; 239*4882a593Smuzhiyun }; 240*4882a593Smuzhiyun ina226@42 { /* u78 */ 241*4882a593Smuzhiyun compatible = "ti,ina226"; 242*4882a593Smuzhiyun reg = <0x42>; 243*4882a593Smuzhiyun shunt-resistor = <5000>; 244*4882a593Smuzhiyun }; 245*4882a593Smuzhiyun ina226@43 { /* u87 */ 246*4882a593Smuzhiyun compatible = "ti,ina226"; 247*4882a593Smuzhiyun reg = <0x43>; 248*4882a593Smuzhiyun shunt-resistor = <5000>; 249*4882a593Smuzhiyun }; 250*4882a593Smuzhiyun ina226@44 { /* u85 */ 251*4882a593Smuzhiyun compatible = "ti,ina226"; 252*4882a593Smuzhiyun reg = <0x44>; 253*4882a593Smuzhiyun shunt-resistor = <5000>; 254*4882a593Smuzhiyun }; 255*4882a593Smuzhiyun ina226@45 { /* u86 */ 256*4882a593Smuzhiyun compatible = "ti,ina226"; 257*4882a593Smuzhiyun reg = <0x45>; 258*4882a593Smuzhiyun shunt-resistor = <5000>; 259*4882a593Smuzhiyun }; 260*4882a593Smuzhiyun ina226@46 { /* u93 */ 261*4882a593Smuzhiyun compatible = "ti,ina226"; 262*4882a593Smuzhiyun reg = <0x46>; 263*4882a593Smuzhiyun shunt-resistor = <5000>; 264*4882a593Smuzhiyun }; 265*4882a593Smuzhiyun ina226@47 { /* u88 */ 266*4882a593Smuzhiyun compatible = "ti,ina226"; 267*4882a593Smuzhiyun reg = <0x47>; 268*4882a593Smuzhiyun shunt-resistor = <5000>; 269*4882a593Smuzhiyun }; 270*4882a593Smuzhiyun ina226@4a { /* u15 */ 271*4882a593Smuzhiyun compatible = "ti,ina226"; 272*4882a593Smuzhiyun reg = <0x4a>; 273*4882a593Smuzhiyun shunt-resistor = <5000>; 274*4882a593Smuzhiyun }; 275*4882a593Smuzhiyun ina226@4b { /* u92 */ 276*4882a593Smuzhiyun compatible = "ti,ina226"; 277*4882a593Smuzhiyun reg = <0x4b>; 278*4882a593Smuzhiyun shunt-resistor = <5000>; 279*4882a593Smuzhiyun }; 280*4882a593Smuzhiyun }; 281*4882a593Smuzhiyun i2c@1 { /* i2c mw 75 0 1 */ 282*4882a593Smuzhiyun #address-cells = <1>; 283*4882a593Smuzhiyun #size-cells = <0>; 284*4882a593Smuzhiyun reg = <1>; 285*4882a593Smuzhiyun /* PL_PMBUS */ 286*4882a593Smuzhiyun ina226@40 { /* u79 */ 287*4882a593Smuzhiyun compatible = "ti,ina226"; 288*4882a593Smuzhiyun reg = <0x40>; 289*4882a593Smuzhiyun shunt-resistor = <2000>; 290*4882a593Smuzhiyun }; 291*4882a593Smuzhiyun ina226@41 { /* u81 */ 292*4882a593Smuzhiyun compatible = "ti,ina226"; 293*4882a593Smuzhiyun reg = <0x41>; 294*4882a593Smuzhiyun shunt-resistor = <5000>; 295*4882a593Smuzhiyun }; 296*4882a593Smuzhiyun ina226@42 { /* u80 */ 297*4882a593Smuzhiyun compatible = "ti,ina226"; 298*4882a593Smuzhiyun reg = <0x42>; 299*4882a593Smuzhiyun shunt-resistor = <5000>; 300*4882a593Smuzhiyun }; 301*4882a593Smuzhiyun ina226@43 { /* u84 */ 302*4882a593Smuzhiyun compatible = "ti,ina226"; 303*4882a593Smuzhiyun reg = <0x43>; 304*4882a593Smuzhiyun shunt-resistor = <5000>; 305*4882a593Smuzhiyun }; 306*4882a593Smuzhiyun ina226@44 { /* u16 */ 307*4882a593Smuzhiyun compatible = "ti,ina226"; 308*4882a593Smuzhiyun reg = <0x44>; 309*4882a593Smuzhiyun shunt-resistor = <5000>; 310*4882a593Smuzhiyun }; 311*4882a593Smuzhiyun ina226@45 { /* u65 */ 312*4882a593Smuzhiyun compatible = "ti,ina226"; 313*4882a593Smuzhiyun reg = <0x45>; 314*4882a593Smuzhiyun shunt-resistor = <5000>; 315*4882a593Smuzhiyun }; 316*4882a593Smuzhiyun ina226@46 { /* u74 */ 317*4882a593Smuzhiyun compatible = "ti,ina226"; 318*4882a593Smuzhiyun reg = <0x46>; 319*4882a593Smuzhiyun shunt-resistor = <5000>; 320*4882a593Smuzhiyun }; 321*4882a593Smuzhiyun ina226@47 { /* u75 */ 322*4882a593Smuzhiyun compatible = "ti,ina226"; 323*4882a593Smuzhiyun reg = <0x47>; 324*4882a593Smuzhiyun shunt-resistor = <5000>; 325*4882a593Smuzhiyun }; 326*4882a593Smuzhiyun }; 327*4882a593Smuzhiyun i2c@2 { /* i2c mw 75 0 1 */ 328*4882a593Smuzhiyun #address-cells = <1>; 329*4882a593Smuzhiyun #size-cells = <0>; 330*4882a593Smuzhiyun reg = <2>; 331*4882a593Smuzhiyun /* MAXIM_PMBUS - 00 */ 332*4882a593Smuzhiyun max15301@a { /* u46 */ 333*4882a593Smuzhiyun compatible = "max15301"; 334*4882a593Smuzhiyun reg = <0xa>; 335*4882a593Smuzhiyun }; 336*4882a593Smuzhiyun max15303@b { /* u4 */ 337*4882a593Smuzhiyun compatible = "max15303"; 338*4882a593Smuzhiyun reg = <0xb>; 339*4882a593Smuzhiyun }; 340*4882a593Smuzhiyun max15303@10 { /* u13 */ 341*4882a593Smuzhiyun compatible = "max15303"; 342*4882a593Smuzhiyun reg = <0x10>; 343*4882a593Smuzhiyun }; 344*4882a593Smuzhiyun max15301@13 { /* u47 */ 345*4882a593Smuzhiyun compatible = "max15301"; 346*4882a593Smuzhiyun reg = <0x13>; 347*4882a593Smuzhiyun }; 348*4882a593Smuzhiyun max15303@14 { /* u7 */ 349*4882a593Smuzhiyun compatible = "max15303"; 350*4882a593Smuzhiyun reg = <0x14>; 351*4882a593Smuzhiyun }; 352*4882a593Smuzhiyun max15303@15 { /* u6 */ 353*4882a593Smuzhiyun compatible = "max15303"; 354*4882a593Smuzhiyun reg = <0x15>; 355*4882a593Smuzhiyun }; 356*4882a593Smuzhiyun max15303@16 { /* u10 */ 357*4882a593Smuzhiyun compatible = "max15303"; 358*4882a593Smuzhiyun reg = <0x16>; 359*4882a593Smuzhiyun }; 360*4882a593Smuzhiyun max15303@17 { /* u9 */ 361*4882a593Smuzhiyun compatible = "max15303"; 362*4882a593Smuzhiyun reg = <0x17>; 363*4882a593Smuzhiyun }; 364*4882a593Smuzhiyun max15301@18 { /* u63 */ 365*4882a593Smuzhiyun compatible = "max15301"; 366*4882a593Smuzhiyun reg = <0x18>; 367*4882a593Smuzhiyun }; 368*4882a593Smuzhiyun max15303@1a { /* u49 */ 369*4882a593Smuzhiyun compatible = "max15303"; 370*4882a593Smuzhiyun reg = <0x1a>; 371*4882a593Smuzhiyun }; 372*4882a593Smuzhiyun max15303@1d { /* u18 */ 373*4882a593Smuzhiyun compatible = "max15303"; 374*4882a593Smuzhiyun reg = <0x1d>; 375*4882a593Smuzhiyun }; 376*4882a593Smuzhiyun max15303@20 { /* u8 */ 377*4882a593Smuzhiyun compatible = "max15303"; 378*4882a593Smuzhiyun status = "disabled"; /* unreachable */ 379*4882a593Smuzhiyun reg = <0x20>; 380*4882a593Smuzhiyun }; 381*4882a593Smuzhiyun 382*4882a593Smuzhiyun/* drivers/hwmon/pmbus/Kconfig:86: be called max20751. 383*4882a593Smuzhiyundrivers/hwmon/pmbus/Makefile:11:obj-$(CONFIG_SENSORS_MAX20751) += max20751.o 384*4882a593Smuzhiyun*/ 385*4882a593Smuzhiyun max20751@72 { /* u95 FIXME - not detected */ 386*4882a593Smuzhiyun compatible = "max20751"; 387*4882a593Smuzhiyun reg = <0x72>; 388*4882a593Smuzhiyun }; 389*4882a593Smuzhiyun max20751@73 { /* u96 FIXME - not detected */ 390*4882a593Smuzhiyun compatible = "max20751"; 391*4882a593Smuzhiyun reg = <0x73>; 392*4882a593Smuzhiyun }; 393*4882a593Smuzhiyun }; 394*4882a593Smuzhiyun /* Bus 3 is not connected */ 395*4882a593Smuzhiyun }; 396*4882a593Smuzhiyun 397*4882a593Smuzhiyun /* FIXME PMOD - j160 */ 398*4882a593Smuzhiyun /* FIXME MSP430F - u41 - not detected */ 399*4882a593Smuzhiyun}; 400*4882a593Smuzhiyun 401*4882a593Smuzhiyun&i2c1 { 402*4882a593Smuzhiyun status = "okay"; 403*4882a593Smuzhiyun clock-frequency = <400000>; 404*4882a593Smuzhiyun /* FIXME PL i2c via PCA9306 - u45 */ 405*4882a593Smuzhiyun /* FIXME MSP430 - u41 - not detected */ 406*4882a593Smuzhiyun i2cswitch@74 { /* u34 */ 407*4882a593Smuzhiyun compatible = "nxp,pca9548"; 408*4882a593Smuzhiyun #address-cells = <1>; 409*4882a593Smuzhiyun #size-cells = <0>; 410*4882a593Smuzhiyun reg = <0x74>; 411*4882a593Smuzhiyun i2c@0 { /* i2c mw 74 0 1 */ 412*4882a593Smuzhiyun #address-cells = <1>; 413*4882a593Smuzhiyun #size-cells = <0>; 414*4882a593Smuzhiyun reg = <0>; 415*4882a593Smuzhiyun /* 416*4882a593Smuzhiyun * IIC_EEPROM 1kB memory which uses 256B blocks 417*4882a593Smuzhiyun * where every block has different address. 418*4882a593Smuzhiyun * 0 - 256B address 0x54 419*4882a593Smuzhiyun * 256B - 512B address 0x55 420*4882a593Smuzhiyun * 512B - 768B address 0x56 421*4882a593Smuzhiyun * 768B - 1024B address 0x57 422*4882a593Smuzhiyun */ 423*4882a593Smuzhiyun eeprom@54 { /* u23 */ 424*4882a593Smuzhiyun compatible = "at,24c08"; 425*4882a593Smuzhiyun reg = <0x54>; 426*4882a593Smuzhiyun }; 427*4882a593Smuzhiyun }; 428*4882a593Smuzhiyun i2c@1 { /* i2c mw 74 0 2 */ 429*4882a593Smuzhiyun #address-cells = <1>; 430*4882a593Smuzhiyun #size-cells = <0>; 431*4882a593Smuzhiyun reg = <1>; 432*4882a593Smuzhiyun si5341: clock-generator1@36 { /* SI5341 - u69 */ 433*4882a593Smuzhiyun compatible = "si5341"; 434*4882a593Smuzhiyun reg = <0x36>; 435*4882a593Smuzhiyun }; 436*4882a593Smuzhiyun 437*4882a593Smuzhiyun }; 438*4882a593Smuzhiyun i2c@2 { /* i2c mw 74 0 4 */ 439*4882a593Smuzhiyun #address-cells = <1>; 440*4882a593Smuzhiyun #size-cells = <0>; 441*4882a593Smuzhiyun reg = <2>; 442*4882a593Smuzhiyun si570_1: clock-generator2@5d { /* USER SI570 - u42 */ 443*4882a593Smuzhiyun #clock-cells = <0>; 444*4882a593Smuzhiyun compatible = "silabs,si570"; 445*4882a593Smuzhiyun reg = <0x5d>; 446*4882a593Smuzhiyun temperature-stability = <50>; 447*4882a593Smuzhiyun factory-fout = <300000000>; 448*4882a593Smuzhiyun clock-frequency = <300000000>; 449*4882a593Smuzhiyun }; 450*4882a593Smuzhiyun }; 451*4882a593Smuzhiyun i2c@3 { /* i2c mw 74 0 8 */ 452*4882a593Smuzhiyun #address-cells = <1>; 453*4882a593Smuzhiyun #size-cells = <0>; 454*4882a593Smuzhiyun reg = <3>; 455*4882a593Smuzhiyun si570_2: clock-generator3@5d { /* USER MGT SI570 - u56 */ 456*4882a593Smuzhiyun #clock-cells = <0>; 457*4882a593Smuzhiyun compatible = "silabs,si570"; 458*4882a593Smuzhiyun reg = <0x5d>; 459*4882a593Smuzhiyun temperature-stability = <50>; /* copy from zc702 */ 460*4882a593Smuzhiyun factory-fout = <156250000>; 461*4882a593Smuzhiyun clock-frequency = <148500000>; 462*4882a593Smuzhiyun }; 463*4882a593Smuzhiyun }; 464*4882a593Smuzhiyun i2c@4 { /* i2c mw 74 0 10 */ 465*4882a593Smuzhiyun #address-cells = <1>; 466*4882a593Smuzhiyun #size-cells = <0>; 467*4882a593Smuzhiyun reg = <4>; 468*4882a593Smuzhiyun si5328: clock-generator4@69 {/* SI5328 - u20 */ 469*4882a593Smuzhiyun compatible = "silabs,si5328"; 470*4882a593Smuzhiyun reg = <0x69>; 471*4882a593Smuzhiyun }; 472*4882a593Smuzhiyun }; 473*4882a593Smuzhiyun /* 5 - 7 unconnected */ 474*4882a593Smuzhiyun }; 475*4882a593Smuzhiyun 476*4882a593Smuzhiyun i2cswitch@75 { 477*4882a593Smuzhiyun compatible = "nxp,pca9548"; /* u135 */ 478*4882a593Smuzhiyun #address-cells = <1>; 479*4882a593Smuzhiyun #size-cells = <0>; 480*4882a593Smuzhiyun reg = <0x75>; 481*4882a593Smuzhiyun 482*4882a593Smuzhiyun i2c@0 { 483*4882a593Smuzhiyun #address-cells = <1>; 484*4882a593Smuzhiyun #size-cells = <0>; 485*4882a593Smuzhiyun reg = <0>; 486*4882a593Smuzhiyun /* HPC0_IIC */ 487*4882a593Smuzhiyun }; 488*4882a593Smuzhiyun i2c@1 { 489*4882a593Smuzhiyun #address-cells = <1>; 490*4882a593Smuzhiyun #size-cells = <0>; 491*4882a593Smuzhiyun reg = <1>; 492*4882a593Smuzhiyun /* HPC1_IIC */ 493*4882a593Smuzhiyun }; 494*4882a593Smuzhiyun i2c@2 { 495*4882a593Smuzhiyun #address-cells = <1>; 496*4882a593Smuzhiyun #size-cells = <0>; 497*4882a593Smuzhiyun reg = <2>; 498*4882a593Smuzhiyun /* SYSMON */ 499*4882a593Smuzhiyun }; 500*4882a593Smuzhiyun i2c@3 { /* i2c mw 75 0 8 */ 501*4882a593Smuzhiyun #address-cells = <1>; 502*4882a593Smuzhiyun #size-cells = <0>; 503*4882a593Smuzhiyun reg = <3>; 504*4882a593Smuzhiyun /* DDR4 SODIMM */ 505*4882a593Smuzhiyun dev@19 { /* u-boot detection */ 506*4882a593Smuzhiyun compatible = "xxx"; 507*4882a593Smuzhiyun reg = <0x19>; 508*4882a593Smuzhiyun }; 509*4882a593Smuzhiyun dev@30 { /* u-boot detection */ 510*4882a593Smuzhiyun compatible = "xxx"; 511*4882a593Smuzhiyun reg = <0x30>; 512*4882a593Smuzhiyun }; 513*4882a593Smuzhiyun dev@35 { /* u-boot detection */ 514*4882a593Smuzhiyun compatible = "xxx"; 515*4882a593Smuzhiyun reg = <0x35>; 516*4882a593Smuzhiyun }; 517*4882a593Smuzhiyun dev@36 { /* u-boot detection */ 518*4882a593Smuzhiyun compatible = "xxx"; 519*4882a593Smuzhiyun reg = <0x36>; 520*4882a593Smuzhiyun }; 521*4882a593Smuzhiyun dev@51 { /* u-boot detection - maybe SPD */ 522*4882a593Smuzhiyun compatible = "xxx"; 523*4882a593Smuzhiyun reg = <0x51>; 524*4882a593Smuzhiyun }; 525*4882a593Smuzhiyun }; 526*4882a593Smuzhiyun i2c@4 { 527*4882a593Smuzhiyun #address-cells = <1>; 528*4882a593Smuzhiyun #size-cells = <0>; 529*4882a593Smuzhiyun reg = <4>; 530*4882a593Smuzhiyun /* SEP 3 */ 531*4882a593Smuzhiyun }; 532*4882a593Smuzhiyun i2c@5 { 533*4882a593Smuzhiyun #address-cells = <1>; 534*4882a593Smuzhiyun #size-cells = <0>; 535*4882a593Smuzhiyun reg = <5>; 536*4882a593Smuzhiyun /* SEP 2 */ 537*4882a593Smuzhiyun }; 538*4882a593Smuzhiyun i2c@6 { 539*4882a593Smuzhiyun #address-cells = <1>; 540*4882a593Smuzhiyun #size-cells = <0>; 541*4882a593Smuzhiyun reg = <6>; 542*4882a593Smuzhiyun /* SEP 1 */ 543*4882a593Smuzhiyun }; 544*4882a593Smuzhiyun i2c@7 { 545*4882a593Smuzhiyun #address-cells = <1>; 546*4882a593Smuzhiyun #size-cells = <0>; 547*4882a593Smuzhiyun reg = <7>; 548*4882a593Smuzhiyun /* SEP 0 */ 549*4882a593Smuzhiyun }; 550*4882a593Smuzhiyun }; 551*4882a593Smuzhiyun}; 552*4882a593Smuzhiyun 553*4882a593Smuzhiyun&pcie { 554*4882a593Smuzhiyun/* status = "okay"; */ 555*4882a593Smuzhiyun}; 556*4882a593Smuzhiyun 557*4882a593Smuzhiyun&qspi { 558*4882a593Smuzhiyun status = "okay"; 559*4882a593Smuzhiyun is-dual = <1>; 560*4882a593Smuzhiyun flash@0 { 561*4882a593Smuzhiyun compatible = "m25p80"; /* 32MB */ 562*4882a593Smuzhiyun #address-cells = <1>; 563*4882a593Smuzhiyun #size-cells = <1>; 564*4882a593Smuzhiyun reg = <0x0>; 565*4882a593Smuzhiyun spi-tx-bus-width = <1>; 566*4882a593Smuzhiyun spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */ 567*4882a593Smuzhiyun spi-max-frequency = <108000000>; /* Based on DC1 spec */ 568*4882a593Smuzhiyun partition@qspi-fsbl-uboot { /* for testing purpose */ 569*4882a593Smuzhiyun label = "qspi-fsbl-uboot"; 570*4882a593Smuzhiyun reg = <0x0 0x100000>; 571*4882a593Smuzhiyun }; 572*4882a593Smuzhiyun partition@qspi-linux { /* for testing purpose */ 573*4882a593Smuzhiyun label = "qspi-linux"; 574*4882a593Smuzhiyun reg = <0x100000 0x500000>; 575*4882a593Smuzhiyun }; 576*4882a593Smuzhiyun partition@qspi-device-tree { /* for testing purpose */ 577*4882a593Smuzhiyun label = "qspi-device-tree"; 578*4882a593Smuzhiyun reg = <0x600000 0x20000>; 579*4882a593Smuzhiyun }; 580*4882a593Smuzhiyun partition@qspi-rootfs { /* for testing purpose */ 581*4882a593Smuzhiyun label = "qspi-rootfs"; 582*4882a593Smuzhiyun reg = <0x620000 0x5E0000>; 583*4882a593Smuzhiyun }; 584*4882a593Smuzhiyun }; 585*4882a593Smuzhiyun}; 586*4882a593Smuzhiyun 587*4882a593Smuzhiyun&rtc { 588*4882a593Smuzhiyun status = "okay"; 589*4882a593Smuzhiyun}; 590*4882a593Smuzhiyun 591*4882a593Smuzhiyun&sata { 592*4882a593Smuzhiyun status = "okay"; 593*4882a593Smuzhiyun /* SATA OOB timing settings */ 594*4882a593Smuzhiyun ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>; 595*4882a593Smuzhiyun ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>; 596*4882a593Smuzhiyun ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>; 597*4882a593Smuzhiyun ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>; 598*4882a593Smuzhiyun ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>; 599*4882a593Smuzhiyun ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>; 600*4882a593Smuzhiyun ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>; 601*4882a593Smuzhiyun ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>; 602*4882a593Smuzhiyun}; 603*4882a593Smuzhiyun 604*4882a593Smuzhiyun/* SD1 with level shifter */ 605*4882a593Smuzhiyun&sdhci1 { 606*4882a593Smuzhiyun status = "okay"; 607*4882a593Smuzhiyun no-1-8-v; /* for 1.0 silicon */ 608*4882a593Smuzhiyun xlnx,mio_bank = <1>; 609*4882a593Smuzhiyun}; 610*4882a593Smuzhiyun 611*4882a593Smuzhiyun&uart0 { 612*4882a593Smuzhiyun status = "okay"; 613*4882a593Smuzhiyun}; 614*4882a593Smuzhiyun 615*4882a593Smuzhiyun&uart1 { 616*4882a593Smuzhiyun status = "okay"; 617*4882a593Smuzhiyun}; 618*4882a593Smuzhiyun 619*4882a593Smuzhiyun/* ULPI SMSC USB3320 */ 620*4882a593Smuzhiyun&usb0 { 621*4882a593Smuzhiyun status = "okay"; 622*4882a593Smuzhiyun}; 623*4882a593Smuzhiyun 624*4882a593Smuzhiyun&dwc3_0 { 625*4882a593Smuzhiyun status = "okay"; 626*4882a593Smuzhiyun dr_mode = "host"; 627*4882a593Smuzhiyun}; 628*4882a593Smuzhiyun 629*4882a593Smuzhiyun&xilinx_drm { 630*4882a593Smuzhiyun status = "okay"; 631*4882a593Smuzhiyun clocks = <&si570_1>; 632*4882a593Smuzhiyun}; 633*4882a593Smuzhiyun 634*4882a593Smuzhiyun&xlnx_dp { 635*4882a593Smuzhiyun status = "okay"; 636*4882a593Smuzhiyun}; 637*4882a593Smuzhiyun 638*4882a593Smuzhiyun&xlnx_dp_sub { 639*4882a593Smuzhiyun status = "okay"; 640*4882a593Smuzhiyun xlnx,vid-clk-pl; 641*4882a593Smuzhiyun}; 642*4882a593Smuzhiyun 643*4882a593Smuzhiyun&xlnx_dp_snd_pcm0 { 644*4882a593Smuzhiyun status = "okay"; 645*4882a593Smuzhiyun}; 646*4882a593Smuzhiyun 647*4882a593Smuzhiyun&xlnx_dp_snd_pcm1 { 648*4882a593Smuzhiyun status = "okay"; 649*4882a593Smuzhiyun}; 650*4882a593Smuzhiyun 651*4882a593Smuzhiyun&xlnx_dp_snd_card { 652*4882a593Smuzhiyun status = "okay"; 653*4882a593Smuzhiyun}; 654*4882a593Smuzhiyun 655*4882a593Smuzhiyun&xlnx_dp_snd_codec0 { 656*4882a593Smuzhiyun status = "okay"; 657*4882a593Smuzhiyun}; 658*4882a593Smuzhiyun 659*4882a593Smuzhiyun&xlnx_dpdma { 660*4882a593Smuzhiyun status = "okay"; 661*4882a593Smuzhiyun}; 662