18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0+ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * dts file for Xilinx ZynqMP ZCU104 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * (C) Copyright 2017 - 2019, Xilinx, Inc. 68c2ecf20Sopenharmony_ci * 78c2ecf20Sopenharmony_ci * Michal Simek <michal.simek@xilinx.com> 88c2ecf20Sopenharmony_ci */ 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci/dts-v1/; 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci#include "zynqmp.dtsi" 138c2ecf20Sopenharmony_ci#include "zynqmp-clk-ccf.dtsi" 148c2ecf20Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci/ { 178c2ecf20Sopenharmony_ci model = "ZynqMP ZCU104 RevA"; 188c2ecf20Sopenharmony_ci compatible = "xlnx,zynqmp-zcu104-revA", "xlnx,zynqmp-zcu104", "xlnx,zynqmp"; 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci aliases { 218c2ecf20Sopenharmony_ci ethernet0 = &gem3; 228c2ecf20Sopenharmony_ci i2c0 = &i2c1; 238c2ecf20Sopenharmony_ci mmc0 = &sdhci1; 248c2ecf20Sopenharmony_ci rtc0 = &rtc; 258c2ecf20Sopenharmony_ci serial0 = &uart0; 268c2ecf20Sopenharmony_ci serial1 = &uart1; 278c2ecf20Sopenharmony_ci serial2 = &dcc; 288c2ecf20Sopenharmony_ci }; 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci chosen { 318c2ecf20Sopenharmony_ci bootargs = "earlycon"; 328c2ecf20Sopenharmony_ci stdout-path = "serial0:115200n8"; 338c2ecf20Sopenharmony_ci }; 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci memory@0 { 368c2ecf20Sopenharmony_ci device_type = "memory"; 378c2ecf20Sopenharmony_ci reg = <0x0 0x0 0x0 0x80000000>; 388c2ecf20Sopenharmony_ci }; 398c2ecf20Sopenharmony_ci}; 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci&can1 { 428c2ecf20Sopenharmony_ci status = "okay"; 438c2ecf20Sopenharmony_ci}; 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci&dcc { 468c2ecf20Sopenharmony_ci status = "okay"; 478c2ecf20Sopenharmony_ci}; 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci&gem3 { 508c2ecf20Sopenharmony_ci status = "okay"; 518c2ecf20Sopenharmony_ci phy-handle = <&phy0>; 528c2ecf20Sopenharmony_ci phy-mode = "rgmii-id"; 538c2ecf20Sopenharmony_ci phy0: ethernet-phy@c { 548c2ecf20Sopenharmony_ci reg = <0xc>; 558c2ecf20Sopenharmony_ci ti,rx-internal-delay = <0x8>; 568c2ecf20Sopenharmony_ci ti,tx-internal-delay = <0xa>; 578c2ecf20Sopenharmony_ci ti,fifo-depth = <0x1>; 588c2ecf20Sopenharmony_ci ti,dp83867-rxctrl-strap-quirk; 598c2ecf20Sopenharmony_ci }; 608c2ecf20Sopenharmony_ci}; 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ci&gpio { 638c2ecf20Sopenharmony_ci status = "okay"; 648c2ecf20Sopenharmony_ci}; 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci&i2c1 { 678c2ecf20Sopenharmony_ci status = "okay"; 688c2ecf20Sopenharmony_ci clock-frequency = <400000>; 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ci /* Another connection to this bus via PL i2c via PCA9306 - u45 */ 718c2ecf20Sopenharmony_ci i2c-mux@74 { /* u34 */ 728c2ecf20Sopenharmony_ci compatible = "nxp,pca9548"; 738c2ecf20Sopenharmony_ci #address-cells = <1>; 748c2ecf20Sopenharmony_ci #size-cells = <0>; 758c2ecf20Sopenharmony_ci reg = <0x74>; 768c2ecf20Sopenharmony_ci i2c@0 { 778c2ecf20Sopenharmony_ci #address-cells = <1>; 788c2ecf20Sopenharmony_ci #size-cells = <0>; 798c2ecf20Sopenharmony_ci reg = <0>; 808c2ecf20Sopenharmony_ci /* 818c2ecf20Sopenharmony_ci * IIC_EEPROM 1kB memory which uses 256B blocks 828c2ecf20Sopenharmony_ci * where every block has different address. 838c2ecf20Sopenharmony_ci * 0 - 256B address 0x54 848c2ecf20Sopenharmony_ci * 256B - 512B address 0x55 858c2ecf20Sopenharmony_ci * 512B - 768B address 0x56 868c2ecf20Sopenharmony_ci * 768B - 1024B address 0x57 878c2ecf20Sopenharmony_ci */ 888c2ecf20Sopenharmony_ci eeprom@54 { /* u23 */ 898c2ecf20Sopenharmony_ci compatible = "atmel,24c08"; 908c2ecf20Sopenharmony_ci reg = <0x54>; 918c2ecf20Sopenharmony_ci #address-cells = <1>; 928c2ecf20Sopenharmony_ci #size-cells = <1>; 938c2ecf20Sopenharmony_ci }; 948c2ecf20Sopenharmony_ci }; 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ci i2c@1 { 978c2ecf20Sopenharmony_ci #address-cells = <1>; 988c2ecf20Sopenharmony_ci #size-cells = <0>; 998c2ecf20Sopenharmony_ci reg = <1>; 1008c2ecf20Sopenharmony_ci clock_8t49n287: clock-generator@6c { /* 8T49N287 - u182 */ 1018c2ecf20Sopenharmony_ci reg = <0x6c>; 1028c2ecf20Sopenharmony_ci }; 1038c2ecf20Sopenharmony_ci }; 1048c2ecf20Sopenharmony_ci 1058c2ecf20Sopenharmony_ci i2c@2 { 1068c2ecf20Sopenharmony_ci #address-cells = <1>; 1078c2ecf20Sopenharmony_ci #size-cells = <0>; 1088c2ecf20Sopenharmony_ci reg = <2>; 1098c2ecf20Sopenharmony_ci irps5401_43: irps54012@43 { /* IRPS5401 - u175 */ 1108c2ecf20Sopenharmony_ci reg = <0x43>; 1118c2ecf20Sopenharmony_ci }; 1128c2ecf20Sopenharmony_ci irps5401_4d: irps54012@4d { /* IRPS5401 - u180 */ 1138c2ecf20Sopenharmony_ci reg = <0x4d>; 1148c2ecf20Sopenharmony_ci }; 1158c2ecf20Sopenharmony_ci }; 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_ci i2c@4 { 1188c2ecf20Sopenharmony_ci #address-cells = <1>; 1198c2ecf20Sopenharmony_ci #size-cells = <0>; 1208c2ecf20Sopenharmony_ci reg = <4>; 1218c2ecf20Sopenharmony_ci tca6416_u97: gpio@20 { 1228c2ecf20Sopenharmony_ci compatible = "ti,tca6416"; 1238c2ecf20Sopenharmony_ci reg = <0x20>; 1248c2ecf20Sopenharmony_ci gpio-controller; 1258c2ecf20Sopenharmony_ci #gpio-cells = <2>; 1268c2ecf20Sopenharmony_ci /* 1278c2ecf20Sopenharmony_ci * IRQ not connected 1288c2ecf20Sopenharmony_ci * Lines: 1298c2ecf20Sopenharmony_ci * 0 - IRPS5401_ALERT_B 1308c2ecf20Sopenharmony_ci * 1 - HDMI_8T49N241_INT_ALM 1318c2ecf20Sopenharmony_ci * 2 - MAX6643_OT_B 1328c2ecf20Sopenharmony_ci * 3 - MAX6643_FANFAIL_B 1338c2ecf20Sopenharmony_ci * 5 - IIC_MUX_RESET_B 1348c2ecf20Sopenharmony_ci * 6 - GEM3_EXP_RESET_B 1358c2ecf20Sopenharmony_ci * 7 - FMC_LPC_PRSNT_M2C_B 1368c2ecf20Sopenharmony_ci * 4, 10 - 17 - not connected 1378c2ecf20Sopenharmony_ci */ 1388c2ecf20Sopenharmony_ci }; 1398c2ecf20Sopenharmony_ci }; 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_ci i2c@5 { 1428c2ecf20Sopenharmony_ci #address-cells = <1>; 1438c2ecf20Sopenharmony_ci #size-cells = <0>; 1448c2ecf20Sopenharmony_ci reg = <5>; 1458c2ecf20Sopenharmony_ci }; 1468c2ecf20Sopenharmony_ci 1478c2ecf20Sopenharmony_ci i2c@7 { 1488c2ecf20Sopenharmony_ci #address-cells = <1>; 1498c2ecf20Sopenharmony_ci #size-cells = <0>; 1508c2ecf20Sopenharmony_ci reg = <7>; 1518c2ecf20Sopenharmony_ci }; 1528c2ecf20Sopenharmony_ci 1538c2ecf20Sopenharmony_ci /* 3, 6 not connected */ 1548c2ecf20Sopenharmony_ci }; 1558c2ecf20Sopenharmony_ci}; 1568c2ecf20Sopenharmony_ci 1578c2ecf20Sopenharmony_ci&rtc { 1588c2ecf20Sopenharmony_ci status = "okay"; 1598c2ecf20Sopenharmony_ci}; 1608c2ecf20Sopenharmony_ci 1618c2ecf20Sopenharmony_ci&sata { 1628c2ecf20Sopenharmony_ci status = "okay"; 1638c2ecf20Sopenharmony_ci /* SATA OOB timing settings */ 1648c2ecf20Sopenharmony_ci ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>; 1658c2ecf20Sopenharmony_ci ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>; 1668c2ecf20Sopenharmony_ci ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>; 1678c2ecf20Sopenharmony_ci ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>; 1688c2ecf20Sopenharmony_ci ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>; 1698c2ecf20Sopenharmony_ci ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>; 1708c2ecf20Sopenharmony_ci ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>; 1718c2ecf20Sopenharmony_ci ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>; 1728c2ecf20Sopenharmony_ci}; 1738c2ecf20Sopenharmony_ci 1748c2ecf20Sopenharmony_ci/* SD1 with level shifter */ 1758c2ecf20Sopenharmony_ci&sdhci1 { 1768c2ecf20Sopenharmony_ci status = "okay"; 1778c2ecf20Sopenharmony_ci no-1-8-v; 1788c2ecf20Sopenharmony_ci disable-wp; 1798c2ecf20Sopenharmony_ci}; 1808c2ecf20Sopenharmony_ci 1818c2ecf20Sopenharmony_ci&uart0 { 1828c2ecf20Sopenharmony_ci status = "okay"; 1838c2ecf20Sopenharmony_ci}; 1848c2ecf20Sopenharmony_ci 1858c2ecf20Sopenharmony_ci&uart1 { 1868c2ecf20Sopenharmony_ci status = "okay"; 1878c2ecf20Sopenharmony_ci}; 1888c2ecf20Sopenharmony_ci 1898c2ecf20Sopenharmony_ci/* ULPI SMSC USB3320 */ 1908c2ecf20Sopenharmony_ci&usb0 { 1918c2ecf20Sopenharmony_ci status = "okay"; 1928c2ecf20Sopenharmony_ci dr_mode = "host"; 1938c2ecf20Sopenharmony_ci}; 1948c2ecf20Sopenharmony_ci 1958c2ecf20Sopenharmony_ci&watchdog0 { 1968c2ecf20Sopenharmony_ci status = "okay"; 1978c2ecf20Sopenharmony_ci}; 198