xref: /linux/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm017-dc3.dts (revision 06d07429858317ded2db7986113a9e0129cd599b)
1e2fc49e1SMichal Simek// SPDX-License-Identifier: GPL-2.0+
2e2fc49e1SMichal Simek/*
3e2fc49e1SMichal Simek * dts file for Xilinx ZynqMP zc1751-xm017-dc3
4e2fc49e1SMichal Simek *
5f4df4f58SMichal Simek * (C) Copyright 2016 - 2021, Xilinx, Inc.
6e2fc49e1SMichal Simek *
74e4ddd3dSMichal Simek * Michal Simek <michal.simek@amd.com>
8e2fc49e1SMichal Simek */
9e2fc49e1SMichal Simek
10e2fc49e1SMichal Simek/dts-v1/;
11e2fc49e1SMichal Simek
12e2fc49e1SMichal Simek#include "zynqmp.dtsi"
139c8a47b4SRajan Vaja#include "zynqmp-clk-ccf.dtsi"
1435a7430dSMichal Simek#include <dt-bindings/phy/phy.h>
15e2fc49e1SMichal Simek
16e2fc49e1SMichal Simek/ {
17e2fc49e1SMichal Simek	model = "ZynqMP zc1751-xm017-dc3 RevA";
18e2fc49e1SMichal Simek	compatible = "xlnx,zynqmp-zc1751", "xlnx,zynqmp";
19e2fc49e1SMichal Simek
20e2fc49e1SMichal Simek	aliases {
21e2fc49e1SMichal Simek		ethernet0 = &gem0;
22e2fc49e1SMichal Simek		i2c0 = &i2c0;
23e2fc49e1SMichal Simek		i2c1 = &i2c1;
24e2fc49e1SMichal Simek		mmc0 = &sdhci1;
25e2fc49e1SMichal Simek		rtc0 = &rtc;
26e2fc49e1SMichal Simek		serial0 = &uart0;
27e2fc49e1SMichal Simek		serial1 = &uart1;
28b61c4ff9SMichal Simek		usb0 = &usb0;
29b61c4ff9SMichal Simek		usb1 = &usb1;
30e2fc49e1SMichal Simek	};
31e2fc49e1SMichal Simek
32e2fc49e1SMichal Simek	chosen {
33e2fc49e1SMichal Simek		bootargs = "earlycon";
34e2fc49e1SMichal Simek		stdout-path = "serial0:115200n8";
35e2fc49e1SMichal Simek	};
36e2fc49e1SMichal Simek
37e2fc49e1SMichal Simek	memory@0 {
38e2fc49e1SMichal Simek		device_type = "memory";
39e2fc49e1SMichal Simek		reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
40e2fc49e1SMichal Simek	};
4135a7430dSMichal Simek
4235a7430dSMichal Simek	clock_si5338_2: clk26 {
4335a7430dSMichal Simek		compatible = "fixed-clock";
4435a7430dSMichal Simek		#clock-cells = <0>;
4535a7430dSMichal Simek		clock-frequency = <26000000>;
4635a7430dSMichal Simek	};
4735a7430dSMichal Simek
4835a7430dSMichal Simek	clock_si5338_3: clk125 {
4935a7430dSMichal Simek		compatible = "fixed-clock";
5035a7430dSMichal Simek		#clock-cells = <0>;
5135a7430dSMichal Simek		clock-frequency = <125000000>;
5235a7430dSMichal Simek	};
53e2fc49e1SMichal Simek};
54e2fc49e1SMichal Simek
55e2fc49e1SMichal Simek&fpd_dma_chan1 {
56e2fc49e1SMichal Simek	status = "okay";
57e2fc49e1SMichal Simek};
58e2fc49e1SMichal Simek
59e2fc49e1SMichal Simek&fpd_dma_chan2 {
60e2fc49e1SMichal Simek	status = "okay";
61e2fc49e1SMichal Simek};
62e2fc49e1SMichal Simek
63e2fc49e1SMichal Simek&fpd_dma_chan3 {
64e2fc49e1SMichal Simek	status = "okay";
65e2fc49e1SMichal Simek};
66e2fc49e1SMichal Simek
67e2fc49e1SMichal Simek&fpd_dma_chan4 {
68e2fc49e1SMichal Simek	status = "okay";
69e2fc49e1SMichal Simek};
70e2fc49e1SMichal Simek
71e2fc49e1SMichal Simek&fpd_dma_chan5 {
72e2fc49e1SMichal Simek	status = "okay";
73e2fc49e1SMichal Simek};
74e2fc49e1SMichal Simek
75e2fc49e1SMichal Simek&fpd_dma_chan6 {
76e2fc49e1SMichal Simek	status = "okay";
77e2fc49e1SMichal Simek};
78e2fc49e1SMichal Simek
79e2fc49e1SMichal Simek&fpd_dma_chan7 {
80e2fc49e1SMichal Simek	status = "okay";
81e2fc49e1SMichal Simek};
82e2fc49e1SMichal Simek
83e2fc49e1SMichal Simek&fpd_dma_chan8 {
84e2fc49e1SMichal Simek	status = "okay";
85e2fc49e1SMichal Simek};
86e2fc49e1SMichal Simek
87e2fc49e1SMichal Simek&gem0 {
88e2fc49e1SMichal Simek	status = "okay";
89e2fc49e1SMichal Simek	phy-handle = <&phy0>;
90e2fc49e1SMichal Simek	phy-mode = "rgmii-id";
91*2da2ac3cSMichal Simek	mdio: mdio {
92*2da2ac3cSMichal Simek		#address-cells = <1>;
93*2da2ac3cSMichal Simek		#size-cells = <0>;
9413d21ebaSMichal Simek		phy0: ethernet-phy@0 { /* VSC8211 */
95e2fc49e1SMichal Simek			reg = <0>;
96e2fc49e1SMichal Simek		};
97e2fc49e1SMichal Simek	};
98*2da2ac3cSMichal Simek};
99e2fc49e1SMichal Simek
100e2fc49e1SMichal Simek&gpio {
101e2fc49e1SMichal Simek	status = "okay";
102e2fc49e1SMichal Simek};
103e2fc49e1SMichal Simek
104e2fc49e1SMichal Simek/* just eeprom here */
105e2fc49e1SMichal Simek&i2c0 {
106e2fc49e1SMichal Simek	status = "okay";
107e2fc49e1SMichal Simek	clock-frequency = <400000>;
108e2fc49e1SMichal Simek
109e2fc49e1SMichal Simek	tca6416_u26: gpio@20 {
110e2fc49e1SMichal Simek		compatible = "ti,tca6416";
111e2fc49e1SMichal Simek		reg = <0x20>;
112e2fc49e1SMichal Simek		gpio-controller;
113e2fc49e1SMichal Simek		#gpio-cells = <2>;
114e2fc49e1SMichal Simek		/* IRQ not connected */
115e2fc49e1SMichal Simek	};
116e2fc49e1SMichal Simek
117e2fc49e1SMichal Simek	rtc@68 {
118e2fc49e1SMichal Simek		compatible = "dallas,ds1339";
119e2fc49e1SMichal Simek		reg = <0x68>;
120e2fc49e1SMichal Simek	};
121e2fc49e1SMichal Simek};
122e2fc49e1SMichal Simek
123e2fc49e1SMichal Simek/* eeprom24c02 and SE98A temp chip pca9306 */
124e2fc49e1SMichal Simek&i2c1 {
125e2fc49e1SMichal Simek	status = "okay";
126e2fc49e1SMichal Simek	clock-frequency = <400000>;
127e2fc49e1SMichal Simek};
128e2fc49e1SMichal Simek
129f4df4f58SMichal Simek/* MT29F64G08AECDBJ4-6 */
130f4df4f58SMichal Simek&nand0 {
131f4df4f58SMichal Simek	status = "okay";
132f4df4f58SMichal Simek	arasan,has-mdma;
133f4df4f58SMichal Simek	num-cs = <2>;
134f4df4f58SMichal Simek};
135f4df4f58SMichal Simek
13635a7430dSMichal Simek&psgtr {
13735a7430dSMichal Simek	status = "okay";
13835a7430dSMichal Simek	/* usb3, sata */
13935a7430dSMichal Simek	clocks = <&clock_si5338_2>, <&clock_si5338_3>;
14035a7430dSMichal Simek	clock-names = "ref2", "ref3";
14135a7430dSMichal Simek};
14235a7430dSMichal Simek
143e2fc49e1SMichal Simek&rtc {
144e2fc49e1SMichal Simek	status = "okay";
145e2fc49e1SMichal Simek};
146e2fc49e1SMichal Simek
147e2fc49e1SMichal Simek&sata {
148e2fc49e1SMichal Simek	status = "okay";
149e2fc49e1SMichal Simek	/* SATA phy OOB timing settings */
150e2fc49e1SMichal Simek	ceva,p0-cominit-params = /bits/ 8 <0x1B 0x4D 0x18 0x28>;
151e2fc49e1SMichal Simek	ceva,p0-comwake-params = /bits/ 8 <0x06 0x19 0x08 0x0E>;
152e2fc49e1SMichal Simek	ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
153e2fc49e1SMichal Simek	ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
154e2fc49e1SMichal Simek	ceva,p1-cominit-params = /bits/ 8 <0x1B 0x4D 0x18 0x28>;
155e2fc49e1SMichal Simek	ceva,p1-comwake-params = /bits/ 8 <0x06 0x19 0x08 0x0E>;
156e2fc49e1SMichal Simek	ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
157e2fc49e1SMichal Simek	ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
15835a7430dSMichal Simek	phy-names = "sata-phy";
15935a7430dSMichal Simek	phys = <&psgtr 2 PHY_TYPE_SATA 0 3>;
160e2fc49e1SMichal Simek};
161e2fc49e1SMichal Simek
162e2fc49e1SMichal Simek&sdhci1 { /* emmc with some settings */
163e2fc49e1SMichal Simek	status = "okay";
164e2fc49e1SMichal Simek};
165e2fc49e1SMichal Simek
166e2fc49e1SMichal Simek/* main */
167e2fc49e1SMichal Simek&uart0 {
168e2fc49e1SMichal Simek	status = "okay";
169e2fc49e1SMichal Simek};
170e2fc49e1SMichal Simek
171e2fc49e1SMichal Simek/* DB9 */
172e2fc49e1SMichal Simek&uart1 {
173e2fc49e1SMichal Simek	status = "okay";
174e2fc49e1SMichal Simek};
175e2fc49e1SMichal Simek
176e2fc49e1SMichal Simek&usb0 {
177e2fc49e1SMichal Simek	status = "okay";
17835a7430dSMichal Simek	phy-names = "usb3-phy";
17935a7430dSMichal Simek	phys = <&psgtr 0 PHY_TYPE_USB3 0 2>;
180b61c4ff9SMichal Simek};
181b61c4ff9SMichal Simek
182b61c4ff9SMichal Simek&dwc3_0 {
183b61c4ff9SMichal Simek	status = "okay";
184e2fc49e1SMichal Simek	dr_mode = "host";
185b61c4ff9SMichal Simek	snps,usb3_lpm_capable;
186b61c4ff9SMichal Simek	maximum-speed = "super-speed";
187e2fc49e1SMichal Simek};
188e2fc49e1SMichal Simek
189e2fc49e1SMichal Simek/* ULPI SMSC USB3320 */
190e2fc49e1SMichal Simek&usb1 {
191e2fc49e1SMichal Simek	status = "okay";
19235a7430dSMichal Simek	phy-names = "usb3-phy";
19335a7430dSMichal Simek	phys = <&psgtr 3 PHY_TYPE_USB3 1 2>;
194b61c4ff9SMichal Simek};
195b61c4ff9SMichal Simek
196b61c4ff9SMichal Simek&dwc3_1 {
197b61c4ff9SMichal Simek	status = "okay";
198e2fc49e1SMichal Simek	dr_mode = "host";
199b61c4ff9SMichal Simek	snps,usb3_lpm_capable;
200b61c4ff9SMichal Simek	maximum-speed = "super-speed";
201e2fc49e1SMichal Simek};
202