1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Device Tree Include file for Marvell Armada XP family SoC
5 * Copyright (C) 2012 Marvell
7 * Lior Amsalem <alior@marvell.com>
8 * Gregory CLEMENT <gregory.clement@free-electrons.com>
9 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
10 * Ben Dooks <ben.dooks@codethink.co.uk>
12 * Contains definitions specific to the Armada XP SoC that are not
13 * common to all Armada SoCs.
16 #include "armada-370-xp.dtsi"
22 model = "Marvell Armada XP family SoC";
23 compatible = "marvell,armadaxp", "marvell,armada-370-xp";
31 compatible = "marvell,armadaxp-mbus", "simple-bus";
35 compatible = "marvell,bootrom";
36 reg = <MBUS_ID(0x01, 0x1d) 0 0x100000>;
41 compatible = "marvell,armada-xp-sdram-controller";
46 compatible = "marvell,aurora-system-cache";
47 reg = <0x08000 0x1000>;
48 cache-id-part = <0x100>;
55 compatible = "snps,dw-apb-uart";
56 pinctrl-0 = <&uart2_pins>;
57 pinctrl-names = "default";
58 reg = <0x12200 0x100>;
62 clocks = <&coreclk 0>;
67 compatible = "snps,dw-apb-uart";
68 pinctrl-0 = <&uart3_pins>;
69 pinctrl-names = "default";
70 reg = <0x12300 0x100>;
74 clocks = <&coreclk 0>;
78 systemc: system-controller@18200 {
79 compatible = "marvell,armada-370-xp-system-controller";
80 reg = <0x18200 0x500>;
83 gateclk: clock-gating-control@18220 {
84 compatible = "marvell,armada-xp-gating-clock";
86 clocks = <&coreclk 0>;
90 coreclk: mvebu-sar@18230 {
91 compatible = "marvell,armada-xp-core-clock";
96 thermal: thermal@182b0 {
97 compatible = "marvell,armadaxp-thermal";
103 cpuclk: clock-complex@18700 {
105 compatible = "marvell,armada-xp-cpu-clock";
106 reg = <0x18700 0x24>, <0x1c054 0x10>;
107 clocks = <&coreclk 1>;
111 compatible = "marvell,armada-xp-cpu-config";
115 eth2: ethernet@30000 {
116 compatible = "marvell,armada-xp-neta";
117 reg = <0x30000 0x4000>;
119 clocks = <&gateclk 2>;
124 compatible = "marvell,orion-ehci";
125 reg = <0x52000 0x500>;
127 clocks = <&gateclk 20>;
132 compatible = "marvell,orion-xor";
135 clocks = <&gateclk 22>;
152 compatible = "marvell,armada-xp-neta";
156 compatible = "marvell,armada-xp-neta";
160 compatible = "marvell,armada-xp-crypto";
161 reg = <0x90000 0x10000>;
163 interrupts = <48>, <49>;
164 clocks = <&gateclk 23>, <&gateclk 23>;
165 clock-names = "cesa0", "cesa1";
166 marvell,crypto-srams = <&crypto_sram0>,
168 marvell,crypto-sram-size = <0x800>;
172 compatible = "marvell,armada-380-neta-bm";
173 reg = <0xc0000 0xac>;
174 clocks = <&gateclk 13>;
175 internal-mem = <&bm_bppi>;
180 compatible = "marvell,orion-xor";
183 clocks = <&gateclk 28>;
200 crypto_sram0: sa-sram0 {
201 compatible = "mmio-sram";
202 reg = <MBUS_ID(0x09, 0x09) 0 0x800>;
203 clocks = <&gateclk 23>;
204 #address-cells = <1>;
206 ranges = <0 MBUS_ID(0x09, 0x09) 0 0x800>;
209 crypto_sram1: sa-sram1 {
210 compatible = "mmio-sram";
211 reg = <MBUS_ID(0x09, 0x05) 0 0x800>;
212 clocks = <&gateclk 23>;
213 #address-cells = <1>;
215 ranges = <0 MBUS_ID(0x09, 0x05) 0 0x800>;
219 compatible = "mmio-sram";
220 reg = <MBUS_ID(0x0c, 0x04) 0 0x100000>;
221 ranges = <0 MBUS_ID(0x0c, 0x04) 0 0x100000>;
222 #address-cells = <1>;
224 clocks = <&gateclk 13>;
231 /* 25 MHz reference crystal */
233 compatible = "fixed-clock";
235 clock-frequency = <25000000>;
241 compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
242 reg = <0x11000 0x100>;
246 compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
247 reg = <0x11100 0x100>;
251 reg = <0x20a00 0x2d0>, <0x21070 0x58>;
255 compatible = "marvell,armada-xp-timer";
256 clocks = <&coreclk 2>, <&refclk>;
257 clock-names = "nbclk", "fixed";
261 compatible = "marvell,armada-xp-wdt";
262 clocks = <&coreclk 2>, <&refclk>;
263 clock-names = "nbclk", "fixed";
267 reg = <0x20800 0x20>;
271 clocks = <&gateclk 18>;
275 clocks = <&gateclk 19>;
279 ge0_gmii_pins: ge0-gmii-pins {
281 "mpp0", "mpp1", "mpp2", "mpp3",
282 "mpp4", "mpp5", "mpp6", "mpp7",
283 "mpp8", "mpp9", "mpp10", "mpp11",
284 "mpp12", "mpp13", "mpp14", "mpp15",
285 "mpp16", "mpp17", "mpp18", "mpp19",
286 "mpp20", "mpp21", "mpp22", "mpp23";
287 marvell,function = "ge0";
290 ge0_rgmii_pins: ge0-rgmii-pins {
292 "mpp0", "mpp1", "mpp2", "mpp3",
293 "mpp4", "mpp5", "mpp6", "mpp7",
294 "mpp8", "mpp9", "mpp10", "mpp11";
295 marvell,function = "ge0";
298 ge1_rgmii_pins: ge1-rgmii-pins {
300 "mpp12", "mpp13", "mpp14", "mpp15",
301 "mpp16", "mpp17", "mpp18", "mpp19",
302 "mpp20", "mpp21", "mpp22", "mpp23";
303 marvell,function = "ge1";
306 sdio_pins: sdio-pins {
307 marvell,pins = "mpp30", "mpp31", "mpp32",
308 "mpp33", "mpp34", "mpp35";
309 marvell,function = "sd0";
312 spi0_pins: spi0-pins {
313 marvell,pins = "mpp36", "mpp37",
315 marvell,function = "spi0";
318 spi1_pins: spi1-pins {
319 marvell,pins = "mpp13", "mpp14",
321 marvell,function = "spi1";
324 uart2_pins: uart2-pins {
325 marvell,pins = "mpp42", "mpp43";
326 marvell,function = "uart2";
329 uart3_pins: uart3-pins {
330 marvell,pins = "mpp44", "mpp45";
331 marvell,function = "uart3";
336 compatible = "marvell,armada-xp-spi", "marvell,orion-spi";
337 pinctrl-0 = <&spi0_pins>;
338 pinctrl-names = "default";
342 compatible = "marvell,armada-xp-spi", "marvell,orion-spi";
343 pinctrl-0 = <&spi1_pins>;
344 pinctrl-names = "default";