Merge branch 'async-scsi-resume' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux.git] / arch / arm / boot / dts / armada-xp-gp.dts
1 /*
2  * Device Tree file for Marvell Armada XP development board
3  * (DB-MV784MP-GP)
4  *
5  * Copyright (C) 2013-2014 Marvell
6  *
7  * Lior Amsalem <alior@marvell.com>
8  * Gregory CLEMENT <gregory.clement@free-electrons.com>
9  * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
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  *
15  * Note: this Device Tree assumes that the bootloader has remapped the
16  * internal registers to 0xf1000000 (instead of the default
17  * 0xd0000000). The 0xf1000000 is the default used by the recent,
18  * DT-capable, U-Boot bootloaders provided by Marvell. Some earlier
19  * boards were delivered with an older version of the bootloader that
20  * left internal registers mapped at 0xd0000000. If you are in this
21  * situation, you should either update your bootloader (preferred
22  * solution) or the below Device Tree should be adjusted.
23  */
24
25 /dts-v1/;
26 #include "armada-xp-mv78460.dtsi"
27
28 / {
29         model = "Marvell Armada XP Development Board DB-MV784MP-GP";
30         compatible = "marvell,axp-gp", "marvell,armadaxp-mv78460", "marvell,armadaxp", "marvell,armada-370-xp";
31
32         chosen {
33                 bootargs = "console=ttyS0,115200 earlyprintk";
34         };
35
36         memory {
37                 device_type = "memory";
38                 /*
39                  * 8 GB of plug-in RAM modules by default.The amount
40                  * of memory available can be changed by the
41                  * bootloader according the size of the module
42                  * actually plugged. However, memory between
43                  * 0xF0000000 to 0xFFFFFFFF cannot be used, as it is
44                  * the address range used for I/O (internal registers,
45                  * MBus windows).
46                  */
47                 reg = <0x00000000 0x00000000 0x00000000 0xf0000000>,
48                       <0x00000001 0x00000000 0x00000001 0x00000000>;
49         };
50
51         soc {
52                 ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xf1000000 0x100000
53                           MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000
54                           MBUS_ID(0x01, 0x2f) 0 0 0xf0000000 0x1000000>;
55
56                 devbus-bootcs {
57                         status = "okay";
58
59                         /* Device Bus parameters are required */
60
61                         /* Read parameters */
62                         devbus,bus-width    = <8>;
63                         devbus,turn-off-ps  = <60000>;
64                         devbus,badr-skew-ps = <0>;
65                         devbus,acc-first-ps = <124000>;
66                         devbus,acc-next-ps  = <248000>;
67                         devbus,rd-setup-ps  = <0>;
68                         devbus,rd-hold-ps   = <0>;
69
70                         /* Write parameters */
71                         devbus,sync-enable = <0>;
72                         devbus,wr-high-ps  = <60000>;
73                         devbus,wr-low-ps   = <60000>;
74                         devbus,ale-wr-ps   = <60000>;
75
76                         /* NOR 16 MiB */
77                         nor@0 {
78                                 compatible = "cfi-flash";
79                                 reg = <0 0x1000000>;
80                                 bank-width = <2>;
81                         };
82                 };
83
84                 pcie-controller {
85                         status = "okay";
86
87                         /*
88                          * The 3 slots are physically present as
89                          * standard PCIe slots on the board.
90                          */
91                         pcie@1,0 {
92                                 /* Port 0, Lane 0 */
93                                 status = "okay";
94                         };
95                         pcie@9,0 {
96                                 /* Port 2, Lane 0 */
97                                 status = "okay";
98                         };
99                         pcie@10,0 {
100                                 /* Port 3, Lane 0 */
101                                 status = "okay";
102                         };
103                 };
104
105                 internal-regs {
106                         serial@12000 {
107                                 clock-frequency = <250000000>;
108                                 status = "okay";
109                         };
110                         serial@12100 {
111                                 clock-frequency = <250000000>;
112                                 status = "okay";
113                         };
114                         serial@12200 {
115                                 clock-frequency = <250000000>;
116                                 status = "okay";
117                         };
118                         serial@12300 {
119                                 clock-frequency = <250000000>;
120                                 status = "okay";
121                         };
122
123                         sata@a0000 {
124                                 nr-ports = <2>;
125                                 status = "okay";
126                         };
127
128                         mdio {
129                                 phy0: ethernet-phy@0 {
130                                         reg = <16>;
131                                 };
132
133                                 phy1: ethernet-phy@1 {
134                                         reg = <17>;
135                                 };
136
137                                 phy2: ethernet-phy@2 {
138                                         reg = <18>;
139                                 };
140
141                                 phy3: ethernet-phy@3 {
142                                         reg = <19>;
143                                 };
144                         };
145
146                         ethernet@70000 {
147                                 status = "okay";
148                                 phy = <&phy0>;
149                                 phy-mode = "rgmii-id";
150                         };
151                         ethernet@74000 {
152                                 status = "okay";
153                                 phy = <&phy1>;
154                                 phy-mode = "rgmii-id";
155                         };
156                         ethernet@30000 {
157                                 status = "okay";
158                                 phy = <&phy2>;
159                                 phy-mode = "rgmii-id";
160                         };
161                         ethernet@34000 {
162                                 status = "okay";
163                                 phy = <&phy3>;
164                                 phy-mode = "rgmii-id";
165                         };
166
167                         /* Front-side USB slot */
168                         usb@50000 {
169                                 status = "okay";
170                         };
171
172                         /* Back-side USB slot */
173                         usb@51000 {
174                                 status = "okay";
175                         };
176
177                         spi0: spi@10600 {
178                                 status = "okay";
179
180                                 spi-flash@0 {
181                                         #address-cells = <1>;
182                                         #size-cells = <1>;
183                                         compatible = "n25q128a13";
184                                         reg = <0>; /* Chip select 0 */
185                                         spi-max-frequency = <108000000>;
186                                 };
187                         };
188
189                         nand@d0000 {
190                                 status = "okay";
191                                 num-cs = <1>;
192                                 marvell,nand-keep-config;
193                                 marvell,nand-enable-arbiter;
194                                 nand-on-flash-bbt;
195                         };
196                 };
197         };
198 };