John Linn | b85a3ef | 2011-06-20 11:47:27 -0600 | [diff] [blame] | 1 | /* |
Soren Brinkmann | f7b1e9b | 2014-05-05 10:16:08 -0700 | [diff] [blame] | 2 | * Copyright (C) 2011 - 2014 Xilinx |
John Linn | b85a3ef | 2011-06-20 11:47:27 -0600 | [diff] [blame] | 3 | * |
| 4 | * This software is licensed under the terms of the GNU General Public |
| 5 | * License version 2, as published by the Free Software Foundation, and |
| 6 | * may be copied, distributed, and modified under those terms. |
| 7 | * |
| 8 | * This program is distributed in the hope that it will be useful, |
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 11 | * GNU General Public License for more details. |
| 12 | */ |
Josh Cartwright | e06f1a9 | 2012-10-31 12:24:48 -0600 | [diff] [blame] | 13 | /include/ "skeleton.dtsi" |
John Linn | b85a3ef | 2011-06-20 11:47:27 -0600 | [diff] [blame] | 14 | |
John Linn | b85a3ef | 2011-06-20 11:47:27 -0600 | [diff] [blame] | 15 | / { |
Josh Cartwright | e06f1a9 | 2012-10-31 12:24:48 -0600 | [diff] [blame] | 16 | compatible = "xlnx,zynq-7000"; |
John Linn | b85a3ef | 2011-06-20 11:47:27 -0600 | [diff] [blame] | 17 | |
Soren Brinkmann | 41e4cdb | 2013-11-26 17:04:49 -0800 | [diff] [blame] | 18 | cpus { |
| 19 | #address-cells = <1>; |
| 20 | #size-cells = <0>; |
| 21 | |
| 22 | cpu@0 { |
| 23 | compatible = "arm,cortex-a9"; |
| 24 | device_type = "cpu"; |
| 25 | reg = <0>; |
| 26 | clocks = <&clkc 3>; |
Soren Brinkmann | b2bf5d4 | 2014-04-04 16:14:12 -0700 | [diff] [blame] | 27 | clock-latency = <1000>; |
Soren Brinkmann | e1e22df | 2014-05-02 14:07:32 -0700 | [diff] [blame] | 28 | cpu0-supply = <®ulator_vccpint>; |
Soren Brinkmann | cd32529 | 2014-02-19 15:14:44 -0800 | [diff] [blame] | 29 | operating-points = < |
| 30 | /* kHz uV */ |
| 31 | 666667 1000000 |
| 32 | 333334 1000000 |
| 33 | 222223 1000000 |
| 34 | >; |
Soren Brinkmann | 41e4cdb | 2013-11-26 17:04:49 -0800 | [diff] [blame] | 35 | }; |
| 36 | |
| 37 | cpu@1 { |
| 38 | compatible = "arm,cortex-a9"; |
| 39 | device_type = "cpu"; |
| 40 | reg = <1>; |
| 41 | clocks = <&clkc 3>; |
| 42 | }; |
| 43 | }; |
| 44 | |
Michal Simek | 268a820 | 2013-03-20 13:37:01 +0100 | [diff] [blame] | 45 | pmu { |
| 46 | compatible = "arm,cortex-a9-pmu"; |
| 47 | interrupts = <0 5 4>, <0 6 4>; |
| 48 | interrupt-parent = <&intc>; |
| 49 | reg = < 0xf8891000 0x1000 0xf8893000 0x1000 >; |
| 50 | }; |
| 51 | |
Soren Brinkmann | e1e22df | 2014-05-02 14:07:32 -0700 | [diff] [blame] | 52 | regulator_vccpint: fixedregulator@0 { |
| 53 | compatible = "regulator-fixed"; |
| 54 | regulator-name = "VCCPINT"; |
| 55 | regulator-min-microvolt = <1000000>; |
| 56 | regulator-max-microvolt = <1000000>; |
| 57 | regulator-boot-on; |
| 58 | regulator-always-on; |
| 59 | }; |
| 60 | |
John Linn | b85a3ef | 2011-06-20 11:47:27 -0600 | [diff] [blame] | 61 | amba { |
| 62 | compatible = "simple-bus"; |
| 63 | #address-cells = <1>; |
| 64 | #size-cells = <1>; |
Josh Cartwright | e06f1a9 | 2012-10-31 12:24:48 -0600 | [diff] [blame] | 65 | interrupt-parent = <&intc>; |
John Linn | b85a3ef | 2011-06-20 11:47:27 -0600 | [diff] [blame] | 66 | ranges; |
| 67 | |
Soren Brinkmann | 2155560 | 2014-06-05 09:05:23 -0700 | [diff] [blame] | 68 | adc@f8007100 { |
| 69 | compatible = "xlnx,zynq-xadc-1.00.a"; |
| 70 | reg = <0xf8007100 0x20>; |
| 71 | interrupts = <0 7 4>; |
| 72 | interrupt-parent = <&intc>; |
| 73 | clocks = <&clkc 12>; |
Michal Simek | fdf2618 | 2014-07-23 15:03:03 +0200 | [diff] [blame] | 74 | }; |
| 75 | |
| 76 | can0: can@e0008000 { |
| 77 | compatible = "xlnx,zynq-can-1.0"; |
| 78 | status = "disabled"; |
| 79 | clocks = <&clkc 19>, <&clkc 36>; |
| 80 | clock-names = "can_clk", "pclk"; |
| 81 | reg = <0xe0008000 0x1000>; |
| 82 | interrupts = <0 28 4>; |
| 83 | interrupt-parent = <&intc>; |
| 84 | tx-fifo-depth = <0x40>; |
| 85 | rx-fifo-depth = <0x40>; |
| 86 | }; |
| 87 | |
| 88 | can1: can@e0009000 { |
| 89 | compatible = "xlnx,zynq-can-1.0"; |
| 90 | status = "disabled"; |
| 91 | clocks = <&clkc 20>, <&clkc 37>; |
| 92 | clock-names = "can_clk", "pclk"; |
| 93 | reg = <0xe0009000 0x1000>; |
| 94 | interrupts = <0 51 4>; |
| 95 | interrupt-parent = <&intc>; |
| 96 | tx-fifo-depth = <0x40>; |
| 97 | rx-fifo-depth = <0x40>; |
| 98 | }; |
Soren Brinkmann | e0a5c55 | 2014-07-10 11:53:38 -0700 | [diff] [blame] | 99 | |
| 100 | gpio0: gpio@e000a000 { |
| 101 | compatible = "xlnx,zynq-gpio-1.0"; |
| 102 | #gpio-cells = <2>; |
| 103 | clocks = <&clkc 42>; |
| 104 | gpio-controller; |
| 105 | interrupt-parent = <&intc>; |
| 106 | interrupts = <0 20 4>; |
| 107 | reg = <0xe000a000 0x1000>; |
Soren Brinkmann | 2155560 | 2014-06-05 09:05:23 -0700 | [diff] [blame] | 108 | }; |
| 109 | |
Soren Brinkmann | f7b1e9b | 2014-05-05 10:16:08 -0700 | [diff] [blame] | 110 | i2c0: i2c@e0004000 { |
Soren Brinkmann | 0f6faa3 | 2014-04-04 14:27:56 -0700 | [diff] [blame] | 111 | compatible = "cdns,i2c-r1p10"; |
| 112 | status = "disabled"; |
| 113 | clocks = <&clkc 38>; |
| 114 | interrupt-parent = <&intc>; |
| 115 | interrupts = <0 25 4>; |
| 116 | reg = <0xe0004000 0x1000>; |
| 117 | #address-cells = <1>; |
| 118 | #size-cells = <0>; |
| 119 | }; |
| 120 | |
Soren Brinkmann | f7b1e9b | 2014-05-05 10:16:08 -0700 | [diff] [blame] | 121 | i2c1: i2c@e0005000 { |
Soren Brinkmann | 0f6faa3 | 2014-04-04 14:27:56 -0700 | [diff] [blame] | 122 | compatible = "cdns,i2c-r1p10"; |
| 123 | status = "disabled"; |
| 124 | clocks = <&clkc 39>; |
| 125 | interrupt-parent = <&intc>; |
| 126 | interrupts = <0 48 4>; |
| 127 | reg = <0xe0005000 0x1000>; |
| 128 | #address-cells = <1>; |
| 129 | #size-cells = <0>; |
| 130 | }; |
| 131 | |
John Linn | b85a3ef | 2011-06-20 11:47:27 -0600 | [diff] [blame] | 132 | intc: interrupt-controller@f8f01000 { |
Josh Cartwright | f447ed2 | 2012-10-17 19:46:49 -0500 | [diff] [blame] | 133 | compatible = "arm,cortex-a9-gic"; |
| 134 | #interrupt-cells = <3>; |
John Linn | b85a3ef | 2011-06-20 11:47:27 -0600 | [diff] [blame] | 135 | interrupt-controller; |
Josh Cartwright | f447ed2 | 2012-10-17 19:46:49 -0500 | [diff] [blame] | 136 | reg = <0xF8F01000 0x1000>, |
| 137 | <0xF8F00100 0x100>; |
John Linn | b85a3ef | 2011-06-20 11:47:27 -0600 | [diff] [blame] | 138 | }; |
| 139 | |
Josh Cartwright | 0fcfdbc | 2012-10-23 17:34:22 -0500 | [diff] [blame] | 140 | L2: cache-controller { |
| 141 | compatible = "arm,pl310-cache"; |
| 142 | reg = <0xF8F02000 0x1000>; |
Soren Brinkmann | 39c41df9 | 2013-07-31 16:24:59 -0700 | [diff] [blame] | 143 | arm,data-latency = <3 2 2>; |
| 144 | arm,tag-latency = <2 2 2>; |
Josh Cartwright | 0fcfdbc | 2012-10-23 17:34:22 -0500 | [diff] [blame] | 145 | cache-unified; |
| 146 | cache-level = <2>; |
| 147 | }; |
| 148 | |
Soren Brinkmann | f7b1e9b | 2014-05-05 10:16:08 -0700 | [diff] [blame] | 149 | uart0: serial@e0000000 { |
Soren Brinkmann | 8fe9346 | 2014-04-04 17:23:45 -0700 | [diff] [blame] | 150 | compatible = "xlnx,xuartps", "cdns,uart-r1p8"; |
Soren Brinkmann | ec11ebc | 2013-06-13 09:37:16 -0700 | [diff] [blame] | 151 | status = "disabled"; |
Soren Brinkmann | 30e1e28 | 2013-05-13 10:46:38 -0700 | [diff] [blame] | 152 | clocks = <&clkc 23>, <&clkc 40>; |
Soren Brinkmann | 8fe9346 | 2014-04-04 17:23:45 -0700 | [diff] [blame] | 153 | clock-names = "uart_clk", "pclk"; |
John Linn | b85a3ef | 2011-06-20 11:47:27 -0600 | [diff] [blame] | 154 | reg = <0xE0000000 0x1000>; |
Josh Cartwright | f447ed2 | 2012-10-17 19:46:49 -0500 | [diff] [blame] | 155 | interrupts = <0 27 4>; |
John Linn | b85a3ef | 2011-06-20 11:47:27 -0600 | [diff] [blame] | 156 | }; |
Josh Cartwright | 78d6785 | 2012-10-31 13:45:17 -0600 | [diff] [blame] | 157 | |
Soren Brinkmann | f7b1e9b | 2014-05-05 10:16:08 -0700 | [diff] [blame] | 158 | uart1: serial@e0001000 { |
Soren Brinkmann | 8fe9346 | 2014-04-04 17:23:45 -0700 | [diff] [blame] | 159 | compatible = "xlnx,xuartps", "cdns,uart-r1p8"; |
Soren Brinkmann | ec11ebc | 2013-06-13 09:37:16 -0700 | [diff] [blame] | 160 | status = "disabled"; |
Soren Brinkmann | 30e1e28 | 2013-05-13 10:46:38 -0700 | [diff] [blame] | 161 | clocks = <&clkc 24>, <&clkc 41>; |
Soren Brinkmann | 8fe9346 | 2014-04-04 17:23:45 -0700 | [diff] [blame] | 162 | clock-names = "uart_clk", "pclk"; |
Josh Cartwright | 78d6785 | 2012-10-31 13:45:17 -0600 | [diff] [blame] | 163 | reg = <0xE0001000 0x1000>; |
| 164 | interrupts = <0 50 4>; |
Josh Cartwright | 78d6785 | 2012-10-31 13:45:17 -0600 | [diff] [blame] | 165 | }; |
Josh Cartwright | 0f586fb | 2012-11-08 12:04:26 -0600 | [diff] [blame] | 166 | |
Andreas Färber | f07ab7a | 2014-07-25 13:12:31 +0200 | [diff] [blame] | 167 | spi0: spi@e0006000 { |
| 168 | compatible = "xlnx,zynq-spi-r1p6"; |
| 169 | reg = <0xe0006000 0x1000>; |
| 170 | status = "disabled"; |
| 171 | interrupt-parent = <&intc>; |
| 172 | interrupts = <0 26 4>; |
| 173 | clocks = <&clkc 25>, <&clkc 34>; |
| 174 | clock-names = "ref_clk", "pclk"; |
| 175 | #address-cells = <1>; |
| 176 | #size-cells = <0>; |
| 177 | }; |
| 178 | |
| 179 | spi1: spi@e0007000 { |
| 180 | compatible = "xlnx,zynq-spi-r1p6"; |
| 181 | reg = <0xe0007000 0x1000>; |
| 182 | status = "disabled"; |
| 183 | interrupt-parent = <&intc>; |
| 184 | interrupts = <0 49 4>; |
| 185 | clocks = <&clkc 26>, <&clkc 35>; |
| 186 | clock-names = "ref_clk", "pclk"; |
| 187 | #address-cells = <1>; |
| 188 | #size-cells = <0>; |
| 189 | }; |
| 190 | |
Steffen Trumtrar | 982264c | 2013-12-11 09:29:49 -0800 | [diff] [blame] | 191 | gem0: ethernet@e000b000 { |
| 192 | compatible = "cdns,gem"; |
| 193 | reg = <0xe000b000 0x4000>; |
| 194 | status = "disabled"; |
| 195 | interrupts = <0 22 4>; |
| 196 | clocks = <&clkc 30>, <&clkc 30>, <&clkc 13>; |
| 197 | clock-names = "pclk", "hclk", "tx_clk"; |
Soren Brinkmann | edbd35e | 2014-08-20 08:56:58 -0700 | [diff] [blame^] | 198 | #address-cells = <1>; |
| 199 | #size-cells = <0>; |
Steffen Trumtrar | 982264c | 2013-12-11 09:29:49 -0800 | [diff] [blame] | 200 | }; |
| 201 | |
| 202 | gem1: ethernet@e000c000 { |
| 203 | compatible = "cdns,gem"; |
| 204 | reg = <0xe000c000 0x4000>; |
| 205 | status = "disabled"; |
| 206 | interrupts = <0 45 4>; |
| 207 | clocks = <&clkc 31>, <&clkc 31>, <&clkc 14>; |
| 208 | clock-names = "pclk", "hclk", "tx_clk"; |
Soren Brinkmann | edbd35e | 2014-08-20 08:56:58 -0700 | [diff] [blame^] | 209 | #address-cells = <1>; |
| 210 | #size-cells = <0>; |
Steffen Trumtrar | 982264c | 2013-12-11 09:29:49 -0800 | [diff] [blame] | 211 | }; |
| 212 | |
Soren Brinkmann | f7b1e9b | 2014-05-05 10:16:08 -0700 | [diff] [blame] | 213 | sdhci0: sdhci@e0100000 { |
Soren Brinkmann | 3f7c730 | 2013-12-02 10:02:37 -0800 | [diff] [blame] | 214 | compatible = "arasan,sdhci-8.9a"; |
| 215 | status = "disabled"; |
| 216 | clock-names = "clk_xin", "clk_ahb"; |
| 217 | clocks = <&clkc 21>, <&clkc 32>; |
| 218 | interrupt-parent = <&intc>; |
| 219 | interrupts = <0 24 4>; |
| 220 | reg = <0xe0100000 0x1000>; |
| 221 | } ; |
| 222 | |
Soren Brinkmann | f7b1e9b | 2014-05-05 10:16:08 -0700 | [diff] [blame] | 223 | sdhci1: sdhci@e0101000 { |
Soren Brinkmann | 3f7c730 | 2013-12-02 10:02:37 -0800 | [diff] [blame] | 224 | compatible = "arasan,sdhci-8.9a"; |
| 225 | status = "disabled"; |
| 226 | clock-names = "clk_xin", "clk_ahb"; |
| 227 | clocks = <&clkc 22>, <&clkc 33>; |
| 228 | interrupt-parent = <&intc>; |
| 229 | interrupts = <0 47 4>; |
| 230 | reg = <0xe0101000 0x1000>; |
| 231 | } ; |
| 232 | |
Josh Cartwright | 0f586fb | 2012-11-08 12:04:26 -0600 | [diff] [blame] | 233 | slcr: slcr@f8000000 { |
Michal Simek | b0504e3 | 2013-11-18 16:48:19 +0100 | [diff] [blame] | 234 | #address-cells = <1>; |
| 235 | #size-cells = <1>; |
Michal Simek | 016f4dc | 2013-11-26 15:41:31 +0100 | [diff] [blame] | 236 | compatible = "xlnx,zynq-slcr", "syscon"; |
Josh Cartwright | 0f586fb | 2012-11-08 12:04:26 -0600 | [diff] [blame] | 237 | reg = <0xF8000000 0x1000>; |
Michal Simek | b0504e3 | 2013-11-18 16:48:19 +0100 | [diff] [blame] | 238 | ranges; |
| 239 | clkc: clkc@100 { |
| 240 | #clock-cells = <1>; |
| 241 | compatible = "xlnx,ps7-clkc"; |
| 242 | ps-clk-frequency = <33333333>; |
| 243 | fclk-enable = <0>; |
| 244 | clock-output-names = "armpll", "ddrpll", "iopll", "cpu_6or4x", |
| 245 | "cpu_3or2x", "cpu_2x", "cpu_1x", "ddr2x", "ddr3x", |
| 246 | "dci", "lqspi", "smc", "pcap", "gem0", "gem1", |
| 247 | "fclk0", "fclk1", "fclk2", "fclk3", "can0", "can1", |
| 248 | "sdio0", "sdio1", "uart0", "uart1", "spi0", "spi1", |
| 249 | "dma", "usb0_aper", "usb1_aper", "gem0_aper", |
| 250 | "gem1_aper", "sdio0_aper", "sdio1_aper", |
| 251 | "spi0_aper", "spi1_aper", "can0_aper", "can1_aper", |
| 252 | "i2c0_aper", "i2c1_aper", "uart0_aper", "uart1_aper", |
| 253 | "gpio_aper", "lqspi_aper", "smc_aper", "swdt", |
| 254 | "dbg_trc", "dbg_apb"; |
| 255 | reg = <0x100 0x100>; |
Josh Cartwright | 0f586fb | 2012-11-08 12:04:26 -0600 | [diff] [blame] | 256 | }; |
| 257 | }; |
Josh Cartwright | 91dc985 | 2012-10-31 13:56:14 -0600 | [diff] [blame] | 258 | |
Andreas Färber | fbb4add | 2014-07-25 01:00:15 +0200 | [diff] [blame] | 259 | dmac_s: dmac@f8003000 { |
| 260 | compatible = "arm,pl330", "arm,primecell"; |
| 261 | reg = <0xf8003000 0x1000>; |
| 262 | interrupt-parent = <&intc>; |
| 263 | interrupts = <0 13 4>, |
| 264 | <0 14 4>, <0 15 4>, |
| 265 | <0 16 4>, <0 17 4>, |
| 266 | <0 40 4>, <0 41 4>, |
| 267 | <0 42 4>, <0 43 4>; |
| 268 | #dma-cells = <1>; |
| 269 | #dma-channels = <8>; |
| 270 | #dma-requests = <4>; |
| 271 | clocks = <&clkc 27>; |
| 272 | clock-names = "apb_pclk"; |
| 273 | }; |
| 274 | |
Michal Simek | 00f7dc6 | 2013-07-31 09:19:59 +0200 | [diff] [blame] | 275 | devcfg: devcfg@f8007000 { |
| 276 | compatible = "xlnx,zynq-devcfg-1.0"; |
| 277 | reg = <0xf8007000 0x100>; |
| 278 | } ; |
| 279 | |
Soren Brinkmann | fa94bd5 | 2013-09-18 11:48:38 -0700 | [diff] [blame] | 280 | global_timer: timer@f8f00200 { |
| 281 | compatible = "arm,cortex-a9-global-timer"; |
| 282 | reg = <0xf8f00200 0x20>; |
| 283 | interrupts = <1 11 0x301>; |
| 284 | interrupt-parent = <&intc>; |
| 285 | clocks = <&clkc 4>; |
| 286 | }; |
| 287 | |
Soren Brinkmann | f7b1e9b | 2014-05-05 10:16:08 -0700 | [diff] [blame] | 288 | ttc0: timer@f8001000 { |
Michal Simek | e932900 | 2013-03-20 10:15:28 +0100 | [diff] [blame] | 289 | interrupt-parent = <&intc>; |
Soren Brinkmann | f7b1e9b | 2014-05-05 10:16:08 -0700 | [diff] [blame] | 290 | interrupts = <0 10 4>, <0 11 4>, <0 12 4>; |
Michal Simek | e932900 | 2013-03-20 10:15:28 +0100 | [diff] [blame] | 291 | compatible = "cdns,ttc"; |
Soren Brinkmann | 30e1e28 | 2013-05-13 10:46:38 -0700 | [diff] [blame] | 292 | clocks = <&clkc 6>; |
Josh Cartwright | 91dc985 | 2012-10-31 13:56:14 -0600 | [diff] [blame] | 293 | reg = <0xF8001000 0x1000>; |
Josh Cartwright | 91dc985 | 2012-10-31 13:56:14 -0600 | [diff] [blame] | 294 | }; |
| 295 | |
Soren Brinkmann | f7b1e9b | 2014-05-05 10:16:08 -0700 | [diff] [blame] | 296 | ttc1: timer@f8002000 { |
Michal Simek | e932900 | 2013-03-20 10:15:28 +0100 | [diff] [blame] | 297 | interrupt-parent = <&intc>; |
Soren Brinkmann | f7b1e9b | 2014-05-05 10:16:08 -0700 | [diff] [blame] | 298 | interrupts = <0 37 4>, <0 38 4>, <0 39 4>; |
Michal Simek | e932900 | 2013-03-20 10:15:28 +0100 | [diff] [blame] | 299 | compatible = "cdns,ttc"; |
Soren Brinkmann | 30e1e28 | 2013-05-13 10:46:38 -0700 | [diff] [blame] | 300 | clocks = <&clkc 6>; |
Josh Cartwright | 91dc985 | 2012-10-31 13:56:14 -0600 | [diff] [blame] | 301 | reg = <0xF8002000 0x1000>; |
Josh Cartwright | 91dc985 | 2012-10-31 13:56:14 -0600 | [diff] [blame] | 302 | }; |
Soren Brinkmann | f7b1e9b | 2014-05-05 10:16:08 -0700 | [diff] [blame] | 303 | |
| 304 | scutimer: timer@f8f00600 { |
Michal Simek | 2f34e0a | 2013-03-27 13:36:39 +0100 | [diff] [blame] | 305 | interrupt-parent = <&intc>; |
Soren Brinkmann | f7b1e9b | 2014-05-05 10:16:08 -0700 | [diff] [blame] | 306 | interrupts = <1 13 0x301>; |
Michal Simek | 2f34e0a | 2013-03-27 13:36:39 +0100 | [diff] [blame] | 307 | compatible = "arm,cortex-a9-twd-timer"; |
Soren Brinkmann | f7b1e9b | 2014-05-05 10:16:08 -0700 | [diff] [blame] | 308 | reg = <0xf8f00600 0x20>; |
Soren Brinkmann | 30e1e28 | 2013-05-13 10:46:38 -0700 | [diff] [blame] | 309 | clocks = <&clkc 4>; |
Michal Simek | 2f34e0a | 2013-03-27 13:36:39 +0100 | [diff] [blame] | 310 | } ; |
John Linn | b85a3ef | 2011-06-20 11:47:27 -0600 | [diff] [blame] | 311 | }; |
| 312 | }; |