Merge tag 's390-4.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
[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 0x20000000>;
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         /* Hardware I2C block cannot do more than 63 bytes per transfer,
63          * which would prevent reading from a SFP's EEPROM (256 byte).
64          */
65         i2c1: i2c {
66                 compatible = "i2c-gpio";
67                 sda-gpios = <&gpioa 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
68                 scl-gpios = <&gpioa 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
69         };
70
71         sfp: sfp {
72                 compatible = "sff,sfp";
73                 i2c-bus = <&i2c1>;
74                 mod-def0-gpios = <&gpioa 28 GPIO_ACTIVE_LOW>;
75                 los-gpios = <&gpioa 24 GPIO_ACTIVE_HIGH>;
76                 tx-fault-gpios = <&gpioa 30 GPIO_ACTIVE_HIGH>;
77                 tx-disable-gpios = <&gpioa 26 GPIO_ACTIVE_HIGH>;
78         };
79 };
80
81 &amac0 {
82         status = "okay";
83 };
84
85 &amac1 {
86         status = "okay";
87 };
88
89 &amac2 {
90         status = "okay";
91 };
92
93 &ehci0 {
94         status = "okay";
95 };
96
97 &nand {
98         nandcs@0 {
99                 compatible = "brcm,nandcs";
100                 reg = <0>;
101                 nand-on-flash-bbt;
102
103                 #address-cells = <1>;
104                 #size-cells = <1>;
105
106                 nand-ecc-strength = <24>;
107                 nand-ecc-step-size = <1024>;
108
109                 brcm,nand-oob-sector-size = <27>;
110
111                 partition@0 {
112                         label = "nboot";
113                         reg = <0x00000000 0x00200000>;
114                         read-only;
115                 };
116                 partition@200000 {
117                         label = "nenv";
118                         reg = <0x00200000 0x00400000>;
119                 };
120                 partition@600000 {
121                         label = "nsystem";
122                         reg = <0x00600000 0x00a00000>;
123                 };
124                 partition@1000000 {
125                         label = "nrootfs";
126                         reg = <0x01000000 0x03000000>;
127                 };
128                 partition@4000000 {
129                         label = "ncustfs";
130                         reg = <0x04000000 0x3c000000>;
131                 };
132         };
133 };
134
135 &ohci0 {
136         status = "okay";
137 };
138
139 &pcie0 {
140         status = "okay";
141 };
142
143 &pcie1 {
144         status = "okay";
145 };
146
147 &pinctrl {
148         pinctrl-names = "default";
149         pinctrl-0 = <&nand_sel>;
150         nand_sel: nand_sel {
151                 function = "nand";
152                 groups = "nand_grp";
153         };
154 };
155
156 &qspi {
157         bspi-sel = <0>;
158         flash: m25p80@0 {
159                 #address-cells = <1>;
160                 #size-cells = <1>;
161                 compatible = "m25p80";
162                 reg = <0x0>;
163                 spi-max-frequency = <12500000>;
164                 m25p,fast-read;
165                 spi-cpol;
166                 spi-cpha;
167
168                 partition@0 {
169                         label = "boot";
170                         reg = <0x00000000 0x000a0000>;
171                 };
172
173                 partition@a0000 {
174                         label = "env";
175                         reg = <0x000a0000 0x00060000>;
176                 };
177
178                 partition@100000 {
179                         label = "system";
180                         reg = <0x00100000 0x00600000>;
181                 };
182
183                 partition@700000 {
184                         label = "rootfs";
185                         reg = <0x00700000 0x01900000>;
186                 };
187         };
188 };
189
190 &sata_phy0 {
191         status = "okay";
192 };
193
194 &sata_phy1 {
195         status = "okay";
196 };
197
198 &srab {
199         compatible = "brcm,bcm58625-srab", "brcm,nsp-srab";
200         status = "okay";
201
202         ports {
203                 #address-cells = <1>;
204                 #size-cells = <0>;
205
206                 port@0 {
207                         label = "port0";
208                         reg = <0>;
209                 };
210
211                 port@1 {
212                         label = "port1";
213                         reg = <1>;
214                 };
215
216                 port@2 {
217                         label = "port2";
218                         reg = <2>;
219                 };
220
221                 port@3 {
222                         label = "port3";
223                         reg = <3>;
224                 };
225
226                 port@4 {
227                         label = "port4";
228                         reg = <4>;
229                 };
230
231                 port@5 {
232                         label = "sfp";
233                         phy-mode = "sgmii";
234                         reg = <5>;
235                         sfp = <&sfp>;
236                         managed = "in-band-status";
237                 };
238
239                 port@8 {
240                         ethernet = <&amac2>;
241                         label = "cpu";
242                         reg = <8>;
243                         fixed-link {
244                                 speed = <1000>;
245                                 full-duplex;
246                         };
247                 };
248         };
249 };
250
251 &uart0 {
252         status = "okay";
253 };
254
255 &usb3_phy {
256         status = "okay";
257 };
258
259 &xhci {
260         status = "okay";
261 };