xref: /OK3568_Linux_fs/u-boot/arch/arm/dts/zynqmp-ep108.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun/*
2*4882a593Smuzhiyun * dts file for Xilinx ZynqMP ep108 development board
3*4882a593Smuzhiyun *
4*4882a593Smuzhiyun * (C) Copyright 2014 - 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-ep108-clk.dtsi"
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun/ {
17*4882a593Smuzhiyun	model = "ZynqMP EP108";
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun	aliases {
20*4882a593Smuzhiyun		mmc0 = &sdhci0;
21*4882a593Smuzhiyun		mmc1 = &sdhci1;
22*4882a593Smuzhiyun		serial0 = &uart0;
23*4882a593Smuzhiyun		spi0 = &qspi;
24*4882a593Smuzhiyun		spi1 = &spi0;
25*4882a593Smuzhiyun		spi2 = &spi1;
26*4882a593Smuzhiyun		usb0 = &usb0;
27*4882a593Smuzhiyun		usb1 = &usb1;
28*4882a593Smuzhiyun	};
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun	chosen {
31*4882a593Smuzhiyun		bootargs = "earlycon";
32*4882a593Smuzhiyun		stdout-path = "serial0:115200n8";
33*4882a593Smuzhiyun	};
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun	memory@0 {
36*4882a593Smuzhiyun		device_type = "memory";
37*4882a593Smuzhiyun		reg = <0x0 0x0 0x0 0x40000000>;
38*4882a593Smuzhiyun	};
39*4882a593Smuzhiyun};
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun&can0 {
42*4882a593Smuzhiyun	status = "okay";
43*4882a593Smuzhiyun};
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun&can1 {
46*4882a593Smuzhiyun	status = "okay";
47*4882a593Smuzhiyun};
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun&gem0 {
50*4882a593Smuzhiyun	status = "okay";
51*4882a593Smuzhiyun	phy-handle = <&phy0>;
52*4882a593Smuzhiyun	phy-mode = "rgmii-id";
53*4882a593Smuzhiyun	phy0: phy@0 {
54*4882a593Smuzhiyun		reg = <0>;
55*4882a593Smuzhiyun		max-speed = <100>;
56*4882a593Smuzhiyun	};
57*4882a593Smuzhiyun};
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun&gpio {
60*4882a593Smuzhiyun	status = "okay";
61*4882a593Smuzhiyun};
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun&i2c0 {
64*4882a593Smuzhiyun	status = "okay";
65*4882a593Smuzhiyun	clock-frequency = <400000>;
66*4882a593Smuzhiyun	eeprom@54 {
67*4882a593Smuzhiyun		compatible = "at,24c64";
68*4882a593Smuzhiyun		reg = <0x54>;
69*4882a593Smuzhiyun	};
70*4882a593Smuzhiyun};
71*4882a593Smuzhiyun
72*4882a593Smuzhiyun&i2c1 {
73*4882a593Smuzhiyun	status = "okay";
74*4882a593Smuzhiyun	clock-frequency = <400000>;
75*4882a593Smuzhiyun	eeprom@55 {
76*4882a593Smuzhiyun		compatible = "at,24c64";
77*4882a593Smuzhiyun		reg = <0x55>;
78*4882a593Smuzhiyun	};
79*4882a593Smuzhiyun};
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun&nand0 {
82*4882a593Smuzhiyun	status = "okay";
83*4882a593Smuzhiyun	arasan,has-mdma;
84*4882a593Smuzhiyun	num-cs = <1>;
85*4882a593Smuzhiyun
86*4882a593Smuzhiyun	partition@0 {	/* for testing purpose */
87*4882a593Smuzhiyun		label = "nand-fsbl-uboot";
88*4882a593Smuzhiyun		reg = <0x0 0x0 0x400000>;
89*4882a593Smuzhiyun	};
90*4882a593Smuzhiyun	partition@1 {	/* for testing purpose */
91*4882a593Smuzhiyun		label = "nand-linux";
92*4882a593Smuzhiyun		reg = <0x0 0x400000 0x1400000>;
93*4882a593Smuzhiyun	};
94*4882a593Smuzhiyun	partition@2 {	/* for testing purpose */
95*4882a593Smuzhiyun		label = "nand-device-tree";
96*4882a593Smuzhiyun		reg = <0x0 0x1800000 0x400000>;
97*4882a593Smuzhiyun	};
98*4882a593Smuzhiyun	partition@3 {	/* for testing purpose */
99*4882a593Smuzhiyun		label = "nand-rootfs";
100*4882a593Smuzhiyun		reg = <0x0 0x1C00000 0x1400000>;
101*4882a593Smuzhiyun	};
102*4882a593Smuzhiyun	partition@4 {	/* for testing purpose */
103*4882a593Smuzhiyun		label = "nand-bitstream";
104*4882a593Smuzhiyun		reg = <0x0 0x3000000 0x400000>;
105*4882a593Smuzhiyun	};
106*4882a593Smuzhiyun	partition@5 {	/* for testing purpose */
107*4882a593Smuzhiyun		label = "nand-misc";
108*4882a593Smuzhiyun		reg = <0x0 0x3400000 0xFCC00000>;
109*4882a593Smuzhiyun	};
110*4882a593Smuzhiyun};
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun&qspi {
113*4882a593Smuzhiyun	status = "okay";
114*4882a593Smuzhiyun	flash@0 {
115*4882a593Smuzhiyun		compatible = "m25p80";
116*4882a593Smuzhiyun		#address-cells = <1>;
117*4882a593Smuzhiyun		#size-cells = <1>;
118*4882a593Smuzhiyun		reg = <0x0>;
119*4882a593Smuzhiyun		spi-tx-bus-width = <1>;
120*4882a593Smuzhiyun		spi-rx-bus-width = <4>;
121*4882a593Smuzhiyun		spi-max-frequency = <10000000>;
122*4882a593Smuzhiyun		partition@qspi-fsbl-uboot { /* for testing purpose */
123*4882a593Smuzhiyun			label = "qspi-fsbl-uboot";
124*4882a593Smuzhiyun			reg = <0x0 0x100000>;
125*4882a593Smuzhiyun		};
126*4882a593Smuzhiyun		partition@qspi-linux { /* for testing purpose */
127*4882a593Smuzhiyun			label = "qspi-linux";
128*4882a593Smuzhiyun			reg = <0x100000 0x500000>;
129*4882a593Smuzhiyun		};
130*4882a593Smuzhiyun		partition@qspi-device-tree { /* for testing purpose */
131*4882a593Smuzhiyun			label = "qspi-device-tree";
132*4882a593Smuzhiyun			reg = <0x600000 0x20000>;
133*4882a593Smuzhiyun		};
134*4882a593Smuzhiyun		partition@qspi-rootfs { /* for testing purpose */
135*4882a593Smuzhiyun			label = "qspi-rootfs";
136*4882a593Smuzhiyun			reg = <0x620000 0x5E0000>;
137*4882a593Smuzhiyun		};
138*4882a593Smuzhiyun	};
139*4882a593Smuzhiyun};
140*4882a593Smuzhiyun
141*4882a593Smuzhiyun&sata {
142*4882a593Smuzhiyun	status = "okay";
143*4882a593Smuzhiyun	ceva,broken-gen2;
144*4882a593Smuzhiyun	/* SATA Phy OOB timing settings */
145*4882a593Smuzhiyun	ceva,p0-cominit-params = /bits/ 8 <0x0F 0x25 0x18 0x29>;
146*4882a593Smuzhiyun	ceva,p0-comwake-params = /bits/ 8 <0x04 0x0B 0x08 0x0F>;
147*4882a593Smuzhiyun	ceva,p0-burst-params = /bits/ 8 <0x0A 0x08 0x4A 0x06>;
148*4882a593Smuzhiyun	ceva,p0-retry-params = /bits/ 16 <0x0216 0x7F06>;
149*4882a593Smuzhiyun	ceva,p1-cominit-params = /bits/ 8 <0x0F 0x25 0x18 0x29>;
150*4882a593Smuzhiyun	ceva,p1-comwake-params = /bits/ 8 <0x04 0x0B 0x08 0x0F>;
151*4882a593Smuzhiyun	ceva,p1-burst-params = /bits/ 8 <0x0A 0x08 0x4A 0x06>;
152*4882a593Smuzhiyun	ceva,p1-retry-params = /bits/ 16 <0x0216 0x7F06>;
153*4882a593Smuzhiyun};
154*4882a593Smuzhiyun
155*4882a593Smuzhiyun&sdhci0 {
156*4882a593Smuzhiyun	status = "okay";
157*4882a593Smuzhiyun	bus-width = <8>;
158*4882a593Smuzhiyun	xlnx,mio_bank = <2>;
159*4882a593Smuzhiyun};
160*4882a593Smuzhiyun
161*4882a593Smuzhiyun&sdhci1 {
162*4882a593Smuzhiyun	status = "okay";
163*4882a593Smuzhiyun	xlnx,mio_bank = <1>;
164*4882a593Smuzhiyun};
165*4882a593Smuzhiyun
166*4882a593Smuzhiyun&spi0 {
167*4882a593Smuzhiyun	status = "okay";
168*4882a593Smuzhiyun	num-cs = <1>;
169*4882a593Smuzhiyun	spi0_flash0: spi0_flash0@0 {
170*4882a593Smuzhiyun		compatible = "m25p80";
171*4882a593Smuzhiyun		#address-cells = <1>;
172*4882a593Smuzhiyun		#size-cells = <1>;
173*4882a593Smuzhiyun		spi-max-frequency = <50000000>;
174*4882a593Smuzhiyun		reg = <0>;
175*4882a593Smuzhiyun
176*4882a593Smuzhiyun		spi0_flash0@00000000 {
177*4882a593Smuzhiyun			label = "spi0_flash0";
178*4882a593Smuzhiyun			reg = <0x0 0x100000>;
179*4882a593Smuzhiyun		};
180*4882a593Smuzhiyun	};
181*4882a593Smuzhiyun};
182*4882a593Smuzhiyun
183*4882a593Smuzhiyun&spi1 {
184*4882a593Smuzhiyun	status = "okay";
185*4882a593Smuzhiyun	num-cs = <1>;
186*4882a593Smuzhiyun	spi1_flash0: spi1_flash0@0 {
187*4882a593Smuzhiyun		compatible = "m25p80";
188*4882a593Smuzhiyun		#address-cells = <1>;
189*4882a593Smuzhiyun		#size-cells = <1>;
190*4882a593Smuzhiyun		spi-max-frequency = <50000000>;
191*4882a593Smuzhiyun		reg = <0>;
192*4882a593Smuzhiyun
193*4882a593Smuzhiyun		spi1_flash0@00000000 {
194*4882a593Smuzhiyun			label = "spi1_flash0";
195*4882a593Smuzhiyun			reg = <0x0 0x100000>;
196*4882a593Smuzhiyun		};
197*4882a593Smuzhiyun	};
198*4882a593Smuzhiyun};
199*4882a593Smuzhiyun
200*4882a593Smuzhiyun&uart0 {
201*4882a593Smuzhiyun	status = "okay";
202*4882a593Smuzhiyun};
203*4882a593Smuzhiyun
204*4882a593Smuzhiyun&usb0 {
205*4882a593Smuzhiyun	status = "okay";
206*4882a593Smuzhiyun};
207*4882a593Smuzhiyun
208*4882a593Smuzhiyun&dwc3_0 {
209*4882a593Smuzhiyun	status = "okay";
210*4882a593Smuzhiyun	dr_mode = "peripheral";
211*4882a593Smuzhiyun	maximum-speed = "high-speed";
212*4882a593Smuzhiyun};
213*4882a593Smuzhiyun
214*4882a593Smuzhiyun&usb1 {
215*4882a593Smuzhiyun	status = "okay";
216*4882a593Smuzhiyun};
217*4882a593Smuzhiyun
218*4882a593Smuzhiyun&dwc3_1 {
219*4882a593Smuzhiyun	status = "okay";
220*4882a593Smuzhiyun	dr_mode = "host";
221*4882a593Smuzhiyun	maximum-speed = "high-speed";
222*4882a593Smuzhiyun};
223*4882a593Smuzhiyun
224*4882a593Smuzhiyun&watchdog0 {
225*4882a593Smuzhiyun	status = "okay";
226*4882a593Smuzhiyun};
227*4882a593Smuzhiyun
228*4882a593Smuzhiyun&xlnx_dp {
229*4882a593Smuzhiyun	xlnx,max-pclock-frequency = <200000>;
230*4882a593Smuzhiyun};
231*4882a593Smuzhiyun
232*4882a593Smuzhiyun&xlnx_dpdma {
233*4882a593Smuzhiyun	xlnx,axi-clock-freq = <200000000>;
234*4882a593Smuzhiyun};
235