blob: ad23ff40e0d12cc25b77adfdc77750acac38e985 [file] [log] [blame]
Thomas Petazzoni1bffb4a2012-11-16 16:39:45 +01001/*
2 * Copyright (C) 2012 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
3 *
4 * This file is licensed under the terms of the GNU General Public
5 * License version 2. This program is licensed "as is" without any
6 * warranty of any kind, whether express or implied.
7 */
8
Thomas Petazzoni48be9702014-04-22 23:26:15 +02009#include "skeleton.dtsi"
Thomas Petazzoni1bffb4a2012-11-16 16:39:45 +010010
Thomas Petazzoni5c697662014-04-22 23:26:17 +020011#define MBUS_ID(target,attributes) (((target) << 24) | ((attributes) << 16))
12
Thomas Petazzoni1bffb4a2012-11-16 16:39:45 +010013/ {
14 model = "Marvell Orion5x SoC";
15 compatible = "marvell,orion5x";
16 interrupt-parent = <&intc>;
17
Alexander Clouter835f6322013-03-26 21:44:46 +000018 aliases {
19 gpio0 = &gpio0;
20 };
Sebastian Hesselbarthcabbd6b2013-07-02 13:03:39 +020021
Thomas Petazzoni5c697662014-04-22 23:26:17 +020022 soc {
23 #address-cells = <2>;
Thomas Petazzoni1bffb4a2012-11-16 16:39:45 +010024 #size-cells = <1>;
Thomas Petazzoni5c697662014-04-22 23:26:17 +020025 controller = <&mbusc>;
Thomas Petazzoni1bffb4a2012-11-16 16:39:45 +010026
Thomas Petazzoni5c697662014-04-22 23:26:17 +020027 internal-regs {
28 compatible = "simple-bus";
Jason Cooper6226cf12013-12-11 20:32:50 +000029 #address-cells = <1>;
Thomas Petazzoni5c697662014-04-22 23:26:17 +020030 #size-cells = <1>;
31 ranges = <0 MBUS_ID(0xf0, 0x01) 0 0x100000>;
Jason Cooper6226cf12013-12-11 20:32:50 +000032
Thomas Petazzoni5c697662014-04-22 23:26:17 +020033 gpio0: gpio@10100 {
34 compatible = "marvell,orion-gpio";
35 #gpio-cells = <2>;
36 gpio-controller;
37 reg = <0x10100 0x40>;
38 ngpios = <32>;
39 interrupt-controller;
40 #interrupt-cells = <2>;
41 interrupts = <6>, <7>, <8>, <9>;
Alexander Clouter45046072013-03-26 21:44:48 +000042 };
Thomas Petazzoni5c697662014-04-22 23:26:17 +020043
Thomas Petazzoni29583162014-04-22 23:26:18 +020044 spi: spi@10600 {
Thomas Petazzoni5c697662014-04-22 23:26:17 +020045 compatible = "marvell,orion-spi";
46 #address-cells = <1>;
47 #size-cells = <0>;
48 cell-index = <0>;
49 reg = <0x10600 0x28>;
50 status = "disabled";
Alexander Clouter45046072013-03-26 21:44:48 +000051 };
Alexander Clouter45046072013-03-26 21:44:48 +000052
Thomas Petazzoni29583162014-04-22 23:26:18 +020053 i2c: i2c@11000 {
Thomas Petazzoni5c697662014-04-22 23:26:17 +020054 compatible = "marvell,mv64xxx-i2c";
55 reg = <0x11000 0x20>;
56 #address-cells = <1>;
57 #size-cells = <0>;
58 interrupts = <5>;
59 clock-frequency = <100000>;
60 status = "disabled";
Sebastian Hesselbarth99d64552013-07-02 13:00:20 +020061 };
Jason Cooper6226cf12013-12-11 20:32:50 +000062
Thomas Petazzoni29583162014-04-22 23:26:18 +020063 uart0: serial@12000 {
Thomas Petazzoni5c697662014-04-22 23:26:17 +020064 compatible = "ns16550a";
65 reg = <0x12000 0x100>;
66 reg-shift = <2>;
67 interrupts = <3>;
68 /* set clock-frequency in board dts */
69 status = "disabled";
70 };
Jason Cooper6226cf12013-12-11 20:32:50 +000071
Thomas Petazzoni29583162014-04-22 23:26:18 +020072 uart1: serial@12100 {
Thomas Petazzoni5c697662014-04-22 23:26:17 +020073 compatible = "ns16550a";
74 reg = <0x12100 0x100>;
75 reg-shift = <2>;
76 interrupts = <4>;
77 /* set clock-frequency in board dts */
78 status = "disabled";
79 };
Jason Cooper6226cf12013-12-11 20:32:50 +000080
Thomas Petazzoni5c697662014-04-22 23:26:17 +020081 intc: interrupt-controller@20200 {
82 compatible = "marvell,orion-intc";
83 interrupt-controller;
84 #interrupt-cells = <1>;
85 reg = <0x20200 0x08>;
86 };
87
Thomas Petazzoni29583162014-04-22 23:26:18 +020088 wdt: wdt@20300 {
Thomas Petazzoni5c697662014-04-22 23:26:17 +020089 compatible = "marvell,orion-wdt";
90 reg = <0x20300 0x28>;
91 status = "okay";
92 };
93
Thomas Petazzoni29583162014-04-22 23:26:18 +020094 ehci0: ehci@50000 {
Thomas Petazzoni5c697662014-04-22 23:26:17 +020095 compatible = "marvell,orion-ehci";
96 reg = <0x50000 0x1000>;
97 interrupts = <17>;
98 status = "disabled";
99 };
100
Thomas Petazzoni984d37c2014-04-22 23:26:22 +0200101 xor: dma-controller@60900 {
Thomas Petazzoni5c697662014-04-22 23:26:17 +0200102 compatible = "marvell,orion-xor";
103 reg = <0x60900 0x100
104 0x60b00 0x100>;
105 status = "okay";
106
107 xor00 {
108 interrupts = <30>;
109 dmacap,memcpy;
110 dmacap,xor;
111 };
112 xor01 {
113 interrupts = <31>;
114 dmacap,memcpy;
115 dmacap,xor;
116 dmacap,memset;
117 };
118 };
119
120 eth: ethernet-controller@72000 {
121 compatible = "marvell,orion-eth";
122 #address-cells = <1>;
123 #size-cells = <0>;
124 reg = <0x72000 0x4000>;
125 marvell,tx-checksum-limit = <1600>;
126 status = "disabled";
127
Thomas Petazzoni29583162014-04-22 23:26:18 +0200128 ethport: ethernet-port@0 {
Thomas Petazzoni5c697662014-04-22 23:26:17 +0200129 compatible = "marvell,orion-eth-port";
130 reg = <0>;
Thomas Petazzoni2864ed62014-04-22 23:26:23 +0200131 interrupts = <21>;
Thomas Petazzoni5c697662014-04-22 23:26:17 +0200132 /* overwrite MAC address in bootloader */
133 local-mac-address = [00 00 00 00 00 00];
134 /* set phy-handle property in board file */
135 };
136 };
137
138 mdio: mdio-bus@72004 {
139 compatible = "marvell,orion-mdio";
140 #address-cells = <1>;
141 #size-cells = <0>;
142 reg = <0x72004 0x84>;
143 interrupts = <22>;
144 status = "disabled";
145
146 /* add phy nodes in board file */
147 };
148
Thomas Petazzoni29583162014-04-22 23:26:18 +0200149 sata: sata@80000 {
Thomas Petazzoni5c697662014-04-22 23:26:17 +0200150 compatible = "marvell,orion-sata";
151 reg = <0x80000 0x5000>;
152 interrupts = <29>;
153 status = "disabled";
154 };
155
Thomas Petazzoni29583162014-04-22 23:26:18 +0200156 ehci1: ehci@a0000 {
Thomas Petazzoni5c697662014-04-22 23:26:17 +0200157 compatible = "marvell,orion-ehci";
158 reg = <0xa0000 0x1000>;
159 interrupts = <12>;
160 status = "disabled";
161 };
Jason Cooper6226cf12013-12-11 20:32:50 +0000162 };
163
Thomas Petazzoni29583162014-04-22 23:26:18 +0200164 cesa: crypto@90000 {
Jason Cooper6226cf12013-12-11 20:32:50 +0000165 compatible = "marvell,orion-crypto";
Thomas Petazzoni5c697662014-04-22 23:26:17 +0200166 reg = <MBUS_ID(0xf0, 0x01) 0x90000 0x10000>,
167 <MBUS_ID(0x09, 0x00) 0x0 0x800>;
Jason Cooper6226cf12013-12-11 20:32:50 +0000168 reg-names = "regs", "sram";
169 interrupts = <28>;
170 status = "okay";
171 };
Thomas Petazzoni1bffb4a2012-11-16 16:39:45 +0100172 };
173};