2 * Copyright (c) 2012 The FreeBSD Foundation
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 compatible = "digilent,zedboard";
36 interrupt-parent = <&GIC>;
39 // #address-cells = <1>;
42 // device-type = "cpu";
43 // model = "ARM Cortex-A9";
48 // First megabyte isn't accessible by all interconnect masters.
49 device_type = "memory";
50 reg = <0x100000 0x1ff00000>; /* 511MB RAM at 0x100000 */
53 // Zynq PS System registers.
57 compatible = "simple-bus";
60 ranges = <0x0 0xf8000000 0xf10000>;
64 compatible = "xlnx,zy7_slcr";
68 // Interrupt controller
70 compatible = "arm,gic";
73 #interrupt-cells = <1>;
74 reg = <0xf01000 0x1000>, // distributer registers
75 <0xf00100 0x0100>; // CPU if registers
78 // L2 cache controller
80 compatible = "arm,pl310";
81 reg = <0xf02000 0x1000>;
83 interrupt-parent = <&GIC>;
88 compatible = "xlnx,zy7_devcfg";
89 reg = <0x7000 0x1000>;
91 interrupt-parent = <&GIC>;
94 // triple timer counters0,1
96 compatible = "xlnx,ttc";
97 reg = <0x1000 0x1000>;
100 compatible = "xlnx,ttc";
101 reg = <0x2000 0x1000>;
104 // ARM Cortex A9 TWD Timer
106 compatible = "arm,mpcore-timers";
107 clock-frequency = <333333333>; // 333Mhz
108 #address-cells = <1>;
110 reg = <0xf00200 0x100>, // Global Timer Regs
111 <0xf00600 0x20>; // Private Timer Regs
112 interrupts = < 27 29 >;
113 interrupt-parent = <&GIC>;
116 // system watch-dog timer
118 device_type = "watchdog";
119 compatible = "xlnx,zy7_wdt";
120 reg = <0x5000 0x1000>;
122 interrupt-parent = <&GIC>;
126 device_type = "watchdog";
127 compatible = "arm,mpcore_wdt";
128 reg = <0xf00620 0x20>;
130 interrupt-parent = <&GIC>;
135 // Zynq PS I/O Peripheral registers.
139 compatible = "simple-bus";
140 #address-cells = <1>;
142 ranges = <0x0 0xe0000000 0x300000>;
144 // uart0: uart@0000 {
145 // device_type = "serial";
146 // compatible = "cadence,uart";
147 // reg = <0x0000 0x1000>;
148 // interrupts = <59>;
149 // interrupt-parent = <&GIC>;
150 // clock-frequency = <50000000>;
154 device_type = "serial";
155 compatible = "cadence,uart";
156 reg = <0x1000 0x1000>;
158 interrupt-parent = <&GIC>;
159 clock-frequency = <50000000>;
160 current-speed = <115200>;
164 compatible = "xlnx,zy7_gpio";
165 reg = <0xa000 0x1000>;
167 interrupt-parent = <&GIC>;
172 // device_type = "network";
174 compatible = "cadence,gem";
175 reg = <0xb000 0x1000>;
176 interrupts = <54 55>;
177 interrupt-parent = <&GIC>;
181 sdhci0: sdhci@100000 {
182 compatible = "xlnx,zy7_sdhci";
183 reg = <0x100000 0x1000>;
185 interrupt-parent = <&GIC>;
186 clock-frequency = <50000000>;
191 compatible = "xlnx,zy7_qspi";
192 reg = <0xd000 0x1000>;
194 interrupt-parent = <&GIC>;
195 spi-clock = <50000000>;
196 ref-clock = <190476000>;
201 compatible = "xlnx,zy7_ehci";
202 reg = <0x2000 0x1000>;
204 interrupt-parent = <&GIC>;