118a952ceSMichal Simek// SPDX-License-Identifier: GPL-2.0+
26c0c958dSMichal Simek/*
36c0c958dSMichal Simek * dts file for Xilinx ZynqMP zc1751-xm015-dc1
46c0c958dSMichal Simek *
518a952ceSMichal Simek * (C) Copyright 2015 - 2018, Xilinx, Inc.
66c0c958dSMichal Simek *
76c0c958dSMichal Simek * Michal Simek <michal.simek@xilinx.com>
86c0c958dSMichal Simek */
96c0c958dSMichal Simek
106c0c958dSMichal Simek/dts-v1/;
116c0c958dSMichal Simek
126c0c958dSMichal Simek#include "zynqmp.dtsi"
13ee4983f7SMichal Simek#include "zynqmp-clk-ccf.dtsi"
146c0c958dSMichal Simek
156c0c958dSMichal Simek/ {
166c0c958dSMichal Simek	model = "ZynqMP zc1751-xm015-dc1 RevA";
176c0c958dSMichal Simek	compatible = "xlnx,zynqmp-zc1751", "xlnx,zynqmp";
186c0c958dSMichal Simek
196c0c958dSMichal Simek	aliases {
206c0c958dSMichal Simek		ethernet0 = &gem3;
216c0c958dSMichal Simek		gpio0 = &gpio;
226c0c958dSMichal Simek		i2c0 = &i2c1;
236c0c958dSMichal Simek		mmc0 = &sdhci0;
246c0c958dSMichal Simek		mmc1 = &sdhci1;
256c0c958dSMichal Simek		rtc0 = &rtc;
266c0c958dSMichal Simek		serial0 = &uart0;
276c0c958dSMichal Simek		spi0 = &qspi;
286c0c958dSMichal Simek		usb0 = &usb0;
296c0c958dSMichal Simek	};
306c0c958dSMichal Simek
316c0c958dSMichal Simek	chosen {
326c0c958dSMichal Simek		bootargs = "earlycon";
336c0c958dSMichal Simek		stdout-path = "serial0:115200n8";
346c0c958dSMichal Simek	};
356c0c958dSMichal Simek
36c926e6fbSMichal Simek	memory@0 {
376c0c958dSMichal Simek		device_type = "memory";
386c0c958dSMichal Simek		reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
396c0c958dSMichal Simek	};
406c0c958dSMichal Simek};
416c0c958dSMichal Simek
426c0c958dSMichal Simek&fpd_dma_chan1 {
436c0c958dSMichal Simek	status = "okay";
446c0c958dSMichal Simek};
456c0c958dSMichal Simek
466c0c958dSMichal Simek&fpd_dma_chan2 {
476c0c958dSMichal Simek	status = "okay";
486c0c958dSMichal Simek};
496c0c958dSMichal Simek
506c0c958dSMichal Simek&fpd_dma_chan3 {
516c0c958dSMichal Simek	status = "okay";
526c0c958dSMichal Simek};
536c0c958dSMichal Simek
546c0c958dSMichal Simek&fpd_dma_chan4 {
556c0c958dSMichal Simek	status = "okay";
566c0c958dSMichal Simek};
576c0c958dSMichal Simek
586c0c958dSMichal Simek&fpd_dma_chan5 {
596c0c958dSMichal Simek	status = "okay";
606c0c958dSMichal Simek};
616c0c958dSMichal Simek
626c0c958dSMichal Simek&fpd_dma_chan6 {
636c0c958dSMichal Simek	status = "okay";
646c0c958dSMichal Simek};
656c0c958dSMichal Simek
666c0c958dSMichal Simek&fpd_dma_chan7 {
676c0c958dSMichal Simek	status = "okay";
686c0c958dSMichal Simek};
696c0c958dSMichal Simek
706c0c958dSMichal Simek&fpd_dma_chan8 {
716c0c958dSMichal Simek	status = "okay";
726c0c958dSMichal Simek};
736c0c958dSMichal Simek
746c0c958dSMichal Simek&gem3 {
756c0c958dSMichal Simek	status = "okay";
766c0c958dSMichal Simek	phy-handle = <&phy0>;
776c0c958dSMichal Simek	phy-mode = "rgmii-id";
786c0c958dSMichal Simek	phy0: phy@0 {
796c0c958dSMichal Simek		reg = <0>;
806c0c958dSMichal Simek	};
816c0c958dSMichal Simek};
826c0c958dSMichal Simek
836c0c958dSMichal Simek&gpio {
846c0c958dSMichal Simek	status = "okay";
856c0c958dSMichal Simek};
866c0c958dSMichal Simek
876c0c958dSMichal Simek&gpu {
886c0c958dSMichal Simek	status = "okay";
896c0c958dSMichal Simek};
906c0c958dSMichal Simek
916c0c958dSMichal Simek&i2c1 {
926c0c958dSMichal Simek	status = "okay";
936c0c958dSMichal Simek	clock-frequency = <400000>;
9443bf4394SMichal Simek
9543bf4394SMichal Simek	eeprom: eeprom@55 {
96098505f5SMichal Simek		compatible = "atmel,24c64"; /* 24AA64 */
976c0c958dSMichal Simek		reg = <0x55>;
986c0c958dSMichal Simek	};
996c0c958dSMichal Simek};
1006c0c958dSMichal Simek
1016c0c958dSMichal Simek&qspi {
1026c0c958dSMichal Simek	status = "okay";
1036c0c958dSMichal Simek	flash@0 {
104*0ed45f00SMichal Simek		compatible = "m25p80", "spi-flash"; /* Micron MT25QU512ABB8ESF */
1056c0c958dSMichal Simek		#address-cells = <1>;
1066c0c958dSMichal Simek		#size-cells = <1>;
1076c0c958dSMichal Simek		reg = <0x0>;
1086c0c958dSMichal Simek		spi-tx-bus-width = <1>;
1096c0c958dSMichal Simek		spi-rx-bus-width = <4>;
1106c0c958dSMichal Simek		spi-max-frequency = <108000000>; /* Based on DC1 spec */
1116c0c958dSMichal Simek		partition@qspi-fsbl-uboot { /* for testing purpose */
1126c0c958dSMichal Simek			label = "qspi-fsbl-uboot";
1136c0c958dSMichal Simek			reg = <0x0 0x100000>;
1146c0c958dSMichal Simek		};
1156c0c958dSMichal Simek		partition@qspi-linux { /* for testing purpose */
1166c0c958dSMichal Simek			label = "qspi-linux";
1176c0c958dSMichal Simek			reg = <0x100000 0x500000>;
1186c0c958dSMichal Simek		};
1196c0c958dSMichal Simek		partition@qspi-device-tree { /* for testing purpose */
1206c0c958dSMichal Simek			label = "qspi-device-tree";
1216c0c958dSMichal Simek			reg = <0x600000 0x20000>;
1226c0c958dSMichal Simek		};
1236c0c958dSMichal Simek		partition@qspi-rootfs { /* for testing purpose */
1246c0c958dSMichal Simek			label = "qspi-rootfs";
1256c0c958dSMichal Simek			reg = <0x620000 0x5E0000>;
1266c0c958dSMichal Simek		};
1276c0c958dSMichal Simek	};
1286c0c958dSMichal Simek};
1296c0c958dSMichal Simek
1306c0c958dSMichal Simek&rtc {
1316c0c958dSMichal Simek	status = "okay";
1326c0c958dSMichal Simek};
1336c0c958dSMichal Simek
1346c0c958dSMichal Simek&sata {
1356c0c958dSMichal Simek	status = "okay";
1366c0c958dSMichal Simek	/* SATA phy OOB timing settings */
1376c0c958dSMichal Simek	ceva,p0-cominit-params = /bits/ 8 <0x1B 0x4D 0x18 0x28>;
1386c0c958dSMichal Simek	ceva,p0-comwake-params = /bits/ 8 <0x06 0x19 0x08 0x0E>;
1396c0c958dSMichal Simek	ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
1406c0c958dSMichal Simek	ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
1416c0c958dSMichal Simek	ceva,p1-cominit-params = /bits/ 8 <0x1B 0x4D 0x18 0x28>;
1426c0c958dSMichal Simek	ceva,p1-comwake-params = /bits/ 8 <0x06 0x19 0x08 0x0E>;
1436c0c958dSMichal Simek	ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
1446c0c958dSMichal Simek	ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
1456c0c958dSMichal Simek};
1466c0c958dSMichal Simek
1476c0c958dSMichal Simek/* eMMC */
1486c0c958dSMichal Simek&sdhci0 {
1496c0c958dSMichal Simek	status = "okay";
1506c0c958dSMichal Simek	bus-width = <8>;
1510488a5e1SSai Krishna Potthuri	xlnx,mio_bank = <0>;
1526c0c958dSMichal Simek};
1536c0c958dSMichal Simek
1546c0c958dSMichal Simek/* SD1 with level shifter */
1556c0c958dSMichal Simek&sdhci1 {
1566c0c958dSMichal Simek	status = "okay";
1576c0c958dSMichal Simek	no-1-8-v;       /* for 1.0 silicon */
1580488a5e1SSai Krishna Potthuri	xlnx,mio_bank = <1>;
1596c0c958dSMichal Simek};
1606c0c958dSMichal Simek
1616c0c958dSMichal Simek&uart0 {
1626c0c958dSMichal Simek	status = "okay";
1636c0c958dSMichal Simek};
1646c0c958dSMichal Simek
1656c0c958dSMichal Simek/* ULPI SMSC USB3320 */
1666c0c958dSMichal Simek&usb0 {
1676c0c958dSMichal Simek	status = "okay";
1688925e599SMichal Simek};
1698925e599SMichal Simek
1708925e599SMichal Simek&dwc3_0 {
1718925e599SMichal Simek	status = "okay";
1726c0c958dSMichal Simek	dr_mode = "host";
1736c0c958dSMichal Simek};
1746c0c958dSMichal Simek
1756c0c958dSMichal Simek&xilinx_drm {
1766c0c958dSMichal Simek	status = "okay";
1776c0c958dSMichal Simek};
1786c0c958dSMichal Simek
1796c0c958dSMichal Simek&xlnx_dp {
1806c0c958dSMichal Simek	status = "okay";
1816c0c958dSMichal Simek};
1826c0c958dSMichal Simek
1836c0c958dSMichal Simek&xlnx_dp_sub {
1846c0c958dSMichal Simek	status = "okay";
1856c0c958dSMichal Simek	xlnx,vid-clk-pl;
1866c0c958dSMichal Simek};
1876c0c958dSMichal Simek
1886c0c958dSMichal Simek&xlnx_dp_snd_pcm0 {
1896c0c958dSMichal Simek	status = "okay";
1906c0c958dSMichal Simek};
1916c0c958dSMichal Simek
1926c0c958dSMichal Simek&xlnx_dp_snd_pcm1 {
1936c0c958dSMichal Simek	status = "okay";
1946c0c958dSMichal Simek};
1956c0c958dSMichal Simek
1966c0c958dSMichal Simek&xlnx_dp_snd_card {
1976c0c958dSMichal Simek	status = "okay";
1986c0c958dSMichal Simek};
1996c0c958dSMichal Simek
2006c0c958dSMichal Simek&xlnx_dp_snd_codec0 {
2016c0c958dSMichal Simek	status = "okay";
2026c0c958dSMichal Simek};
2036c0c958dSMichal Simek
2046c0c958dSMichal Simek&xlnx_dpdma {
2056c0c958dSMichal Simek	status = "okay";
2066c0c958dSMichal Simek};
207