blob: 3058522f5aad2929092f7f7bcc2dd78a9c62c22a [file] [log] [blame]
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +02001/*
2 * Device Tree Include file for Marvell Armada XP family SoC
3 *
4 * Copyright (C) 2012 Marvell
5 *
6 * Lior Amsalem <alior@marvell.com>
7 * Gregory CLEMENT <gregory.clement@free-electrons.com>
8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9 * Ben Dooks <ben.dooks@codethink.co.uk>
10 *
11 * This file is licensed under the terms of the GNU General Public
12 * License version 2. This program is licensed "as is" without any
13 * warranty of any kind, whether express or implied.
14 *
Thomas Petazzoni10b683c2012-08-02 17:13:47 +020015 * Contains definitions specific to the Armada XP SoC that are not
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020016 * common to all Armada SoCs.
17 */
18
Ezequiel Garcia38149882013-07-26 10:17:56 -030019#include "armada-370-xp.dtsi"
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020020
21/ {
22 model = "Marvell Armada XP family SoC";
23 compatible = "marvell,armadaxp", "marvell,armada-370-xp";
24
Willy Tarreaube5a9382013-06-03 18:47:36 +020025 aliases {
26 eth2 = &eth2;
27 };
28
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020029 soc {
Ezequiel Garcia5e12a612013-07-26 10:17:57 -030030 compatible = "marvell,armadaxp-mbus", "simple-bus";
31
Ezequiel Garcia0cd37542013-07-26 10:17:58 -030032 bootrom {
33 compatible = "marvell,bootrom";
34 reg = <MBUS_ID(0x01, 0x1d) 0 0x100000>;
35 };
36
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020037 internal-regs {
38 L2: l2-cache {
39 compatible = "marvell,aurora-system-cache";
40 reg = <0x08000 0x1000>;
41 cache-id-part = <0x100>;
42 wt-override;
43 };
Thomas Petazzonib18ea4d2013-04-12 16:29:07 +020044
Thomas Petazzonibe3cd262013-04-09 23:26:18 +020045 interrupt-controller@20000 {
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020046 reg = <0x20a00 0x2d0>, <0x21070 0x58>;
47 };
Thomas Petazzonib18ea4d2013-04-12 16:29:07 +020048
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020049 armada-370-xp-pmsu@22000 {
50 compatible = "marvell,armada-370-xp-pmsu";
51 reg = <0x22100 0x430>, <0x20800 0x20>;
52 };
Thomas Petazzonib18ea4d2013-04-12 16:29:07 +020053
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020054 serial@12200 {
Gregory CLEMENTb24212f2012-12-04 18:04:59 +010055 compatible = "snps,dw-apb-uart";
Gregory CLEMENT82a68262013-04-12 16:29:08 +020056 reg = <0x12200 0x100>;
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020057 reg-shift = <2>;
58 interrupts = <43>;
Heikki Krogeruse3661542013-03-06 11:23:33 +010059 reg-io-width = <1>;
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020060 status = "disabled";
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020061 };
62 serial@12300 {
Gregory CLEMENTb24212f2012-12-04 18:04:59 +010063 compatible = "snps,dw-apb-uart";
Gregory CLEMENT82a68262013-04-12 16:29:08 +020064 reg = <0x12300 0x100>;
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020065 reg-shift = <2>;
66 interrupts = <44>;
Heikki Krogeruse3661542013-03-06 11:23:33 +010067 reg-io-width = <1>;
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020068 status = "disabled";
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020069 };
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020070
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020071 timer@20300 {
Ezequiel Garcia5d3b8832013-08-13 11:43:15 -030072 compatible = "marvell,armada-xp-timer";
Ezequiel Garcia3a3c0702013-08-20 12:45:51 -030073 clocks = <&coreclk 2>, <&refclk>;
74 clock-names = "nbclk", "fixed";
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020075 };
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020076
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020077 coreclk: mvebu-sar@18230 {
78 compatible = "marvell,armada-xp-core-clock";
79 reg = <0x18230 0x08>;
80 #clock-cells = <1>;
81 };
Gregory CLEMENT9d202782012-11-17 15:22:24 +010082
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020083 cpuclk: clock-complex@18700 {
84 #clock-cells = <1>;
85 compatible = "marvell,armada-xp-cpu-clock";
86 reg = <0x18700 0xA0>;
87 clocks = <&coreclk 1>;
88 };
Gregory CLEMENT9d202782012-11-17 15:22:24 +010089
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020090 gateclk: clock-gating-control@18220 {
91 compatible = "marvell,armada-xp-gating-clock";
92 reg = <0x18220 0x4>;
93 clocks = <&coreclk 0>;
94 #clock-cells = <1>;
95 };
Gregory CLEMENT9d202782012-11-17 15:22:24 +010096
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020097 system-controller@18200 {
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020098 compatible = "marvell,armada-370-xp-system-controller";
Gregory CLEMENT82a68262013-04-12 16:29:08 +020099 reg = <0x18200 0x500>;
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200100 };
Thomas Petazzoni323c1012012-09-04 15:06:43 +0200101
Willy Tarreaube5a9382013-06-03 18:47:36 +0200102 eth2: ethernet@30000 {
Thomas Petazzoni323c1012012-09-04 15:06:43 +0200103 compatible = "marvell,armada-370-neta";
Thomas Petazzonicf8088c2013-05-21 12:33:27 +0200104 reg = <0x30000 0x4000>;
Thomas Petazzoni323c1012012-09-04 15:06:43 +0200105 interrupts = <12>;
Thomas Petazzoni4aa935a2012-11-19 14:18:09 +0100106 clocks = <&gateclk 2>;
Thomas Petazzoni323c1012012-09-04 15:06:43 +0200107 status = "disabled";
Thomas Petazzonia1d53da2012-11-20 16:03:19 +0100108 };
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200109
110 xor@60900 {
111 compatible = "marvell,orion-xor";
112 reg = <0x60900 0x100
113 0x60b00 0x100>;
114 clocks = <&gateclk 22>;
115 status = "okay";
116
117 xor10 {
118 interrupts = <51>;
119 dmacap,memcpy;
120 dmacap,xor;
121 };
122 xor11 {
123 interrupts = <52>;
124 dmacap,memcpy;
125 dmacap,xor;
126 dmacap,memset;
127 };
Thomas Petazzonia1d53da2012-11-20 16:03:19 +0100128 };
Thomas Petazzonia1d53da2012-11-20 16:03:19 +0100129
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200130 xor@f0900 {
131 compatible = "marvell,orion-xor";
132 reg = <0xF0900 0x100
133 0xF0B00 0x100>;
134 clocks = <&gateclk 28>;
135 status = "okay";
Thomas Petazzonia1d53da2012-11-20 16:03:19 +0100136
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200137 xor00 {
138 interrupts = <94>;
139 dmacap,memcpy;
140 dmacap,xor;
141 };
142 xor01 {
143 interrupts = <95>;
144 dmacap,memcpy;
145 dmacap,xor;
146 dmacap,memset;
147 };
Thomas Petazzonia1d53da2012-11-20 16:03:19 +0100148 };
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200149
150 usb@50000 {
151 clocks = <&gateclk 18>;
Thomas Petazzonia1d53da2012-11-20 16:03:19 +0100152 };
Ezequiel Garciab2bb8062013-01-23 12:26:30 -0300153
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200154 usb@51000 {
155 clocks = <&gateclk 19>;
156 };
Ezequiel Garciab2bb8062013-01-23 12:26:30 -0300157
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200158 usb@52000 {
159 compatible = "marvell,orion-ehci";
160 reg = <0x52000 0x500>;
161 interrupts = <47>;
162 clocks = <&gateclk 20>;
163 status = "disabled";
164 };
Ezequiel Garciab2bb8062013-01-23 12:26:30 -0300165
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200166 thermal@182b0 {
167 compatible = "marvell,armadaxp-thermal";
168 reg = <0x182b0 0x4
169 0x184d0 0x4>;
170 status = "okay";
171 };
Ezequiel Garcia693a56e2013-03-26 07:16:26 -0300172 };
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +0200173 };
Ezequiel Garciac1bbd432013-08-20 12:45:50 -0300174
175 clocks {
176 /* 25 MHz reference crystal */
177 refclk: oscillator {
178 compatible = "fixed-clock";
179 #clock-cells = <0>;
180 clock-frequency = <25000000>;
181 };
182 };
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +0200183};