Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
[linux-2.6-microblaze.git] / arch / arm / boot / dts / at91-sama5d27_wlsom1.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * at91-sama5d27_wlsom1.dtsi - Device Tree file for SAMA5D27 WLSOM1
4  *
5  * Copyright (C) 2019 Microchip Technology Inc. and its subsidiaries
6  *
7  * Author: Nicolas Ferre <nicolas.ferre@microcihp.com>
8  * Author: Eugen Hristev <eugen.hristev@microcihp.com>
9  */
10 #include "sama5d2.dtsi"
11 #include "sama5d2-pinfunc.h"
12 #include <dt-bindings/gpio/gpio.h>
13 #include <dt-bindings/mfd/atmel-flexcom.h>
14 #include <dt-bindings/pinctrl/at91.h>
15
16 / {
17         model = "Microchip SAMA5D27 WLSOM1";
18         compatible = "microchip,sama5d27-wlsom1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5";
19
20         aliases {
21                 i2c0 = &i2c0;
22         };
23
24         clocks {
25                 slow_xtal {
26                         clock-frequency = <32768>;
27                 };
28
29                 main_xtal {
30                         clock-frequency = <24000000>;
31                 };
32         };
33 };
34
35 &flx1 {
36         atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
37
38         uart6: serial@200 {
39                 pinctrl-0 = <&pinctrl_flx1_default>;
40                 pinctrl-names = "default";
41         };
42 };
43
44 &i2c0 {
45         pinctrl-0 = <&pinctrl_i2c0_default>;
46         pinctrl-1 = <&pinctrl_i2c0_gpio>;
47         pinctrl-names = "default", "gpio";
48         sda-gpios = <&pioA PIN_PD21 GPIO_ACTIVE_HIGH>;
49         scl-gpios = <&pioA PIN_PD22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
50         status = "okay";
51 };
52
53 &i2c1 {
54         dmas = <0>, <0>;
55         pinctrl-names = "default", "gpio";
56         pinctrl-0 = <&pinctrl_i2c1_default>;
57         pinctrl-1 = <&pinctrl_i2c1_gpio>;
58         sda-gpios = <&pioA PIN_PD19 GPIO_ACTIVE_HIGH>;
59         scl-gpios = <&pioA PIN_PD20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
60         status = "okay";
61
62         mcp16502@5b {
63                 compatible = "microchip,mcp16502";
64                 reg = <0x5b>;
65                 status = "okay";
66                 lpm-gpios = <&pioBU 0 GPIO_ACTIVE_LOW>;
67
68                 regulators {
69                         vdd_3v3: VDD_IO {
70                                 regulator-name = "VDD_IO";
71                                 regulator-min-microvolt = <1200000>;
72                                 regulator-max-microvolt = <3700000>;
73                                 regulator-initial-mode = <2>;
74                                 regulator-allowed-modes = <2>, <4>;
75                                 regulator-always-on;
76
77                                 regulator-state-standby {
78                                         regulator-on-in-suspend;
79                                         regulator-mode = <4>;
80                                 };
81
82                                 regulator-state-mem {
83                                         regulator-off-in-suspend;
84                                         regulator-mode = <4>;
85                                 };
86                         };
87
88                         vddio_ddr: VDD_DDR {
89                                 regulator-name = "VDD_DDR";
90                                 regulator-min-microvolt = <600000>;
91                                 regulator-max-microvolt = <1850000>;
92                                 regulator-initial-mode = <2>;
93                                 regulator-allowed-modes = <2>, <4>;
94                                 regulator-always-on;
95
96                                 regulator-state-standby {
97                                         regulator-on-in-suspend;
98                                         regulator-suspend-microvolt = <1200000>;
99                                         regulator-changeable-in-suspend;
100                                         regulator-mode = <4>;
101                                 };
102
103                                 regulator-state-mem {
104                                         regulator-on-in-suspend;
105                                         regulator-suspend-microvolt = <1200000>;
106                                         regulator-changeable-in-suspend;
107                                         regulator-mode = <4>;
108                                 };
109                         };
110
111                         vdd_core: VDD_CORE {
112                                 regulator-name = "VDD_CORE";
113                                 regulator-min-microvolt = <600000>;
114                                 regulator-max-microvolt = <1850000>;
115                                 regulator-initial-mode = <2>;
116                                 regulator-allowed-modes = <2>, <4>;
117                                 regulator-always-on;
118
119                                 regulator-state-standby {
120                                         regulator-on-in-suspend;
121                                         regulator-mode = <4>;
122                                 };
123
124                                 regulator-state-mem {
125                                         regulator-off-in-suspend;
126                                         regulator-mode = <4>;
127                                 };
128                         };
129
130                         vdd_ddr: VDD_OTHER {
131                                 regulator-name = "VDD_OTHER";
132                                 regulator-min-microvolt = <1800000>;
133                                 regulator-max-microvolt = <1800000>;
134                                 regulator-initial-mode = <2>;
135                                 regulator-allowed-modes = <2>, <4>;
136                                 regulator-always-on;
137
138                                 regulator-state-standby {
139                                         regulator-on-in-suspend;
140                                         regulator-suspend-microvolt = <1800000>;
141                                         regulator-changeable-in-suspend;
142                                         regulator-mode = <4>;
143                                 };
144
145                                 regulator-state-mem {
146                                         regulator-on-in-suspend;
147                                         regulator-suspend-microvolt = <1800000>;
148                                         regulator-changeable-in-suspend;
149                                         regulator-mode = <4>;
150                                 };
151                         };
152
153                         LDO1 {
154                                 regulator-name = "LDO1";
155                                 regulator-min-microvolt = <1200000>;
156                                 regulator-max-microvolt = <3700000>;
157                                 regulator-always-on;
158
159                                 regulator-state-standby {
160                                         regulator-on-in-suspend;
161                                 };
162
163                                 regulator-state-mem {
164                                         regulator-off-in-suspend;
165                                 };
166                         };
167
168                         LDO2 {
169                                 regulator-name = "LDO2";
170                                 regulator-min-microvolt = <1200000>;
171                                 regulator-max-microvolt = <3700000>;
172                                 regulator-always-on;
173
174                                 regulator-state-standby {
175                                         regulator-on-in-suspend;
176                                 };
177
178                                 regulator-state-mem {
179                                         regulator-off-in-suspend;
180                                 };
181                         };
182                 };
183         };
184 };
185
186 &macb0 {
187         pinctrl-names = "default";
188         pinctrl-0 = <&pinctrl_macb0_default>;
189         phy-mode = "rmii";
190
191         ethernet-phy@0 {
192                 reg = <0x0>;
193                 interrupt-parent = <&pioA>;
194                 interrupts = <PIN_PB24 IRQ_TYPE_LEVEL_LOW>;
195                 pinctrl-names = "default";
196                 pinctrl-0 = <&pinctrl_macb0_phy_irq>;
197         };
198 };
199
200 &pmc {
201         atmel,osc-bypass;
202 };
203
204 &qspi1 {
205         pinctrl-names = "default";
206         pinctrl-0 = <&pinctrl_qspi1_default>;
207         status = "disabled";
208
209         qspi1_flash: spi_flash@0 {
210                 #address-cells = <1>;
211                 #size-cells = <1>;
212                 compatible = "jedec,spi-nor";
213                 reg = <0>;
214                 spi-max-frequency = <80000000>;
215                 spi-rx-bus-width = <4>;
216                 spi-tx-bus-width = <4>;
217                 m25p,fast-read;
218                 status = "disabled";
219
220                 at91bootstrap@0 {
221                         label = "at91bootstrap";
222                         reg = <0x0 0x40000>;
223                 };
224
225                 bootloader@40000 {
226                         label = "bootloader";
227                         reg = <0x40000 0xc0000>;
228                 };
229
230                 bootloaderenvred@100000 {
231                         label = "bootloader env redundant";
232                         reg = <0x100000 0x40000>;
233                 };
234
235                 bootloaderenv@140000 {
236                         label = "bootloader env";
237                         reg = <0x140000 0x40000>;
238                 };
239
240                 dtb@180000 {
241                         label = "device tree";
242                         reg = <0x180000 0x80000>;
243                 };
244
245                 kernel@200000 {
246                         label = "kernel";
247                         reg = <0x200000 0x600000>;
248                 };
249         };
250 };
251
252 &pioA {
253         pinctrl_flx1_default: flx1_usart_default {
254                 pinmux = <PIN_PA24__FLEXCOM1_IO0>,
255                          <PIN_PA23__FLEXCOM1_IO1>,
256                          <PIN_PA25__FLEXCOM1_IO3>,
257                          <PIN_PA26__FLEXCOM1_IO4>;
258                 bias-disable;
259         };
260
261         pinctrl_i2c0_default: i2c0_default {
262                 pinmux = <PIN_PD21__TWD0>,
263                          <PIN_PD22__TWCK0>;
264                 bias-disable;
265         };
266
267         pinctrl_i2c0_gpio: i2c0_gpio {
268                 pinmux = <PIN_PD21__GPIO>,
269                          <PIN_PD22__GPIO>;
270                 bias-disable;
271         };
272
273         pinctrl_i2c1_default: i2c1_default {
274                 pinmux = <PIN_PD19__TWD1>,
275                          <PIN_PD20__TWCK1>;
276                 bias-disable;
277         };
278
279         pinctrl_i2c1_gpio: i2c1_gpio {
280                 pinmux = <PIN_PD19__GPIO>,
281                          <PIN_PD20__GPIO>;
282                 bias-disable;
283         };
284
285         pinctrl_macb0_default: macb0_default {
286                 pinmux = <PIN_PB14__GTXCK>,
287                          <PIN_PB15__GTXEN>,
288                          <PIN_PB16__GRXDV>,
289                          <PIN_PB17__GRXER>,
290                          <PIN_PB18__GRX0>,
291                          <PIN_PB19__GRX1>,
292                          <PIN_PB20__GTX0>,
293                          <PIN_PB21__GTX1>,
294                          <PIN_PB22__GMDC>,
295                          <PIN_PB23__GMDIO>;
296                 bias-disable;
297         };
298
299         pinctrl_macb0_phy_irq: macb0_phy_irq {
300                 pinmux = <PIN_PB24__GPIO>;
301                 bias-disable;
302         };
303
304         pinctrl_qspi1_default: qspi1_default {
305                 pinmux = <PIN_PB5__QSPI1_SCK>,
306                          <PIN_PB6__QSPI1_CS>,
307                          <PIN_PB7__QSPI1_IO0>,
308                          <PIN_PB8__QSPI1_IO1>,
309                          <PIN_PB9__QSPI1_IO2>,
310                          <PIN_PB10__QSPI1_IO3>;
311                 bias-pull-up;
312         };
313 };
314