Merge remote-tracking branches 'asoc/topic/adsp', 'asoc/topic/ak4613', 'asoc/topic...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / bcm958625hr.dts
1 /*
2  *  BSD LICENSE
3  *
4  *  Copyright(c) 2016 Broadcom.  All rights reserved.
5  *
6  *  Redistribution and use in source and binary forms, with or without
7  *  modification, are permitted provided that the following conditions
8  *  are met:
9  *
10  *    * Redistributions of source code must retain the above copyright
11  *      notice, this list of conditions and the following disclaimer.
12  *    * Redistributions in binary form must reproduce the above copyright
13  *      notice, this list of conditions and the following disclaimer in
14  *      the documentation and/or other materials provided with the
15  *      distribution.
16  *    * Neither the name of Broadcom Corporation nor the names of its
17  *      contributors may be used to endorse or promote products derived
18  *      from this software without specific prior written permission.
19  *
20  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32
33 /dts-v1/;
34
35 #include "bcm-nsp.dtsi"
36 #include <dt-bindings/gpio/gpio.h>
37
38 / {
39         model = "NorthStar Plus SVK (BCM958625HR)";
40         compatible = "brcm,bcm58625", "brcm,nsp";
41
42         aliases {
43                 serial0 = &uart0;
44         };
45
46         chosen {
47                 stdout-path = "serial0:115200n8";
48         };
49
50         memory {
51                 device_type = "memory";
52                 reg = <0x60000000 0x80000000>;
53         };
54
55         gpio-restart {
56                 compatible = "gpio-restart";
57                 gpios = <&gpioa 15 GPIO_ACTIVE_LOW>;
58                 open-source;
59                 priority = <200>;
60         };
61 };
62
63 &amac0 {
64         status = "okay";
65 };
66
67 &amac1 {
68         status = "okay";
69 };
70
71 &amac2 {
72         status = "okay";
73 };
74
75 &nand {
76         nandcs@0 {
77                 compatible = "brcm,nandcs";
78                 reg = <0>;
79                 nand-on-flash-bbt;
80
81                 #address-cells = <1>;
82                 #size-cells = <1>;
83
84                 nand-ecc-strength = <24>;
85                 nand-ecc-step-size = <1024>;
86
87                 brcm,nand-oob-sector-size = <27>;
88
89                 partition@0 {
90                         label = "nboot";
91                         reg = <0x00000000 0x00200000>;
92                         read-only;
93                 };
94                 partition@200000 {
95                         label = "nenv";
96                         reg = <0x00200000 0x00400000>;
97                 };
98                 partition@600000 {
99                         label = "nsystem";
100                         reg = <0x00600000 0x00a00000>;
101                 };
102                 partition@1000000 {
103                         label = "nrootfs";
104                         reg = <0x01000000 0x03000000>;
105                 };
106                 partition@4000000 {
107                         label = "ncustfs";
108                         reg = <0x04000000 0x3c000000>;
109                 };
110         };
111 };
112
113 &pcie0 {
114         status = "okay";
115 };
116
117 &pcie1 {
118         status = "okay";
119 };
120
121 &pinctrl {
122         pinctrl-names = "default";
123         pinctrl-0 = <&nand_sel>;
124         nand_sel: nand_sel {
125                 function = "nand";
126                 groups = "nand_grp";
127         };
128 };
129
130 &qspi {
131         bspi-sel = <0>;
132         flash: m25p80@0 {
133                 #address-cells = <1>;
134                 #size-cells = <1>;
135                 compatible = "m25p80";
136                 reg = <0x0>;
137                 spi-max-frequency = <12500000>;
138                 m25p,fast-read;
139                 spi-cpol;
140                 spi-cpha;
141
142                 partition@0 {
143                         label = "boot";
144                         reg = <0x00000000 0x000a0000>;
145                 };
146
147                 partition@a0000 {
148                         label = "env";
149                         reg = <0x000a0000 0x00060000>;
150                 };
151
152                 partition@100000 {
153                         label = "system";
154                         reg = <0x00100000 0x00600000>;
155                 };
156
157                 partition@700000 {
158                         label = "rootfs";
159                         reg = <0x00700000 0x01900000>;
160                 };
161         };
162 };
163
164 &sata_phy0 {
165         status = "okay";
166 };
167
168 &sata_phy1 {
169         status = "okay";
170 };
171
172 &sata {
173         status = "okay";
174 };
175
176 &srab {
177         compatible = "brcm,bcm58625-srab", "brcm,nsp-srab";
178         status = "okay";
179
180         ports {
181                 #address-cells = <1>;
182                 #size-cells = <0>;
183
184                 port@0 {
185                         label = "port0";
186                         reg = <0>;
187                 };
188
189                 port@1 {
190                         label = "port1";
191                         reg = <1>;
192                 };
193
194                 port@2 {
195                         label = "port2";
196                         reg = <2>;
197                 };
198
199                 port@3 {
200                         label = "port3";
201                         reg = <3>;
202                 };
203
204                 port@4 {
205                         label = "port4";
206                         reg = <4>;
207                 };
208
209                 port@5 {
210                         ethernet = <&amac0>;
211                         label = "cpu";
212                         reg = <5>;
213                         fixed-link {
214                                 speed = <1000>;
215                                 full-duplex;
216                         };
217                 };
218         };
219 };
220
221 &uart0 {
222         status = "okay";
223 };