Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / bcm958525xmc.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 XMC (BCM958525xmc)";
40         compatible = "brcm,bcm58525", "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 0x40000000>;
53         };
54
55         gpio-restart {
56                 compatible = "gpio-restart";
57                 gpios = <&gpioa 31 GPIO_ACTIVE_LOW>;
58                 open-source;
59                 priority = <200>;
60         };
61 };
62
63 /* XHCI support needed to be complete */
64
65 &amac0 {
66         status = "okay";
67 };
68
69 &ehci0 {
70         status = "okay";
71 };
72
73 &i2c0 {
74         status = "okay";
75
76         temperature-sensor@4c {
77                 compatible = "adi,adt7461a";
78                 reg = <0x4c>;
79         };
80
81         eeprom@52 {
82                 compatible = "atmel,24c02";
83                 reg = <0x52>;
84                 pagesize = <16>;
85         };
86
87         rtc@68 {
88                 compatible = "st,m41t81";
89                 reg = <0x68>;
90         };
91 };
92
93 &nand {
94         nandcs@0 {
95                 compatible = "brcm,nandcs";
96                 reg = <0>;
97                 nand-on-flash-bbt;
98
99                 #address-cells = <1>;
100                 #size-cells = <1>;
101
102                 nand-ecc-strength = <24>;
103                 nand-ecc-step-size = <1024>;
104
105                 brcm,nand-oob-sector-size = <27>;
106
107                 partition@0 {
108                         label = "nboot";
109                         reg = <0x00000000 0x00200000>;
110                         read-only;
111                 };
112                 partition@200000 {
113                         label = "nenv";
114                         reg = <0x00200000 0x00400000>;
115                 };
116                 partition@600000 {
117                         label = "nsystem";
118                         reg = <0x00600000 0x00a00000>;
119                 };
120                 partition@1000000 {
121                         label = "nrootfs";
122                         reg = <0x01000000 0x03000000>;
123                 };
124                 partition@4000000 {
125                         label = "ncustfs";
126                         reg = <0x04000000 0x3c000000>;
127                 };
128         };
129 };
130
131 &ohci0 {
132         status = "okay";
133 };
134
135 &pcie0 {
136         status = "okay";
137 };
138
139 &pcie1 {
140         status = "okay";
141 };
142
143 &pinctrl {
144         pinctrl-names = "default";
145         pinctrl-0 = <&nand_sel>;
146         nand_sel: nand_sel {
147                 function = "nand";
148                 groups = "nand_grp";
149         };
150 };
151
152 &qspi {
153         bspi-sel = <0>;
154         flash: m25p80@0 {
155                 #address-cells = <1>;
156                 #size-cells = <1>;
157                 compatible = "m25p80";
158                 reg = <0x0>;
159                 spi-max-frequency = <12500000>;
160                 m25p,fast-read;
161                 spi-cpol;
162                 spi-cpha;
163
164                 partition@0 {
165                         label = "boot";
166                         reg = <0x00000000 0x000a0000>;
167                 };
168
169                 partition@a0000 {
170                         label = "env";
171                         reg = <0x000a0000 0x00060000>;
172                 };
173
174                 partition@100000 {
175                         label = "system";
176                         reg = <0x00100000 0x00600000>;
177                 };
178
179                 partition@700000 {
180                         label = "rootfs";
181                         reg = <0x00700000 0x01900000>;
182                 };
183         };
184 };
185
186 &sata_phy0 {
187         status = "okay";
188 };
189
190 &sata_phy1 {
191         status = "okay";
192 };
193
194 &sata {
195         status = "okay";
196 };
197
198 &sdio {
199         status = "ok";
200 };
201
202 &uart0 {
203         status = "okay";
204 };