GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / arm / boot / dts / bcm958623hr.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 (BCM958623HR)";
40         compatible = "brcm,bcm58623", "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 /* USB 3 and SLIC support needed to be complete */
64
65 &amac0 {
66         status = "okay";
67 };
68
69 &amac1 {
70         status = "okay";
71 };
72
73 &amac2 {
74         status = "okay";
75 };
76
77 &ehci0 {
78         status = "okay";
79 };
80
81 &nand_controller {
82         nand@0 {
83                 compatible = "brcm,nandcs";
84                 reg = <0>;
85                 nand-on-flash-bbt;
86
87                 #address-cells = <1>;
88                 #size-cells = <1>;
89
90                 nand-ecc-strength = <24>;
91                 nand-ecc-step-size = <1024>;
92
93                 brcm,nand-oob-sector-size = <27>;
94
95                 partition@0 {
96                         label = "nboot";
97                         reg = <0x00000000 0x00200000>;
98                         read-only;
99                 };
100                 partition@200000 {
101                         label = "nenv";
102                         reg = <0x00200000 0x00400000>;
103                 };
104                 partition@600000 {
105                         label = "nsystem";
106                         reg = <0x00600000 0x00a00000>;
107                 };
108                 partition@1000000 {
109                         label = "nrootfs";
110                         reg = <0x01000000 0x03000000>;
111                 };
112                 partition@4000000 {
113                         label = "ncustfs";
114                         reg = <0x04000000 0x3c000000>;
115                 };
116         };
117 };
118
119 &ohci0 {
120         status = "okay";
121 };
122
123 &pcie0 {
124         status = "okay";
125 };
126
127 &pcie1 {
128         status = "okay";
129 };
130
131 &pinctrl {
132         pinctrl-names = "default";
133         pinctrl-0 = <&nand_sel>;
134         nand_sel: nand_sel {
135                 function = "nand";
136                 groups = "nand_grp";
137         };
138 };
139
140 &sata_phy0 {
141         status = "okay";
142 };
143
144 &qspi {
145         bspi-sel = <0>;
146         flash: m25p80@0 {
147                 #address-cells = <1>;
148                 #size-cells = <1>;
149                 compatible = "m25p80";
150                 reg = <0x0>;
151                 spi-max-frequency = <12500000>;
152                 m25p,fast-read;
153                 spi-cpol;
154                 spi-cpha;
155
156                 partition@0 {
157                         label = "boot";
158                         reg = <0x00000000 0x000a0000>;
159                 };
160
161                 partition@a0000 {
162                         label = "env";
163                         reg = <0x000a0000 0x00060000>;
164                 };
165
166                 partition@100000 {
167                         label = "system";
168                         reg = <0x00100000 0x00600000>;
169                 };
170
171                 partition@700000 {
172                         label = "rootfs";
173                         reg = <0x00700000 0x01900000>;
174                 };
175         };
176 };
177
178 &srab {
179         compatible = "brcm,bcm58623-srab", "brcm,nsp-srab";
180         status = "okay";
181
182         ports {
183                 #address-cells = <1>;
184                 #size-cells = <0>;
185
186                 port@0 {
187                         label = "port0";
188                         reg = <0>;
189                 };
190
191                 port@1 {
192                         label = "port1";
193                         reg = <1>;
194                 };
195
196                 port@2 {
197                         label = "port2";
198                         reg = <2>;
199                 };
200
201                 port@3 {
202                         label = "port3";
203                         reg = <3>;
204                 };
205
206                 port@4 {
207                         label = "port4";
208                         reg = <4>;
209                 };
210
211                 port@8 {
212                         ethernet = <&amac2>;
213                         label = "cpu";
214                         reg = <8>;
215                         fixed-link {
216                                 speed = <1000>;
217                                 full-duplex;
218                         };
219                 };
220         };
221 };
222
223 &uart0 {
224         status = "okay";
225 };
226
227 &usb3_phy {
228         status = "okay";
229 };
230
231 &xhci {
232         status = "okay";
233 };