Merge tag 'platform-drivers-x86-v4.17-1' of git://git.infradead.org/linux-platform...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / imx7d-pico.dtsi
1 /*
2  * Copyright 2017 NXP
3  *
4  * This file is dual-licensed: you can use it either under the terms
5  * of the GPL or the X11 license, at your option. Note that this dual
6  * licensing only applies to this file, and not this project as a
7  * whole.
8  *
9  *  a) This file is free software; you can redistribute it and/or
10  *     modify it under the terms of the GNU General Public License as
11  *     published by the Free Software Foundation; either version 2 of the
12  *     License, or (at your option) any later version.
13  *
14  *     This file is distributed in the hope that it will be useful,
15  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  *     GNU General Public License for more details.
18  *
19  * Or, alternatively,
20  *
21  *  b) Permission is hereby granted, free of charge, to any person
22  *     obtaining a copy of this software and associated documentation
23  *     files (the "Software"), to deal in the Software without
24  *     restriction, including without limitation the rights to use,
25  *     copy, modify, merge, publish, distribute, sublicense, and/or
26  *     sell copies of the Software, and to permit persons to whom the
27  *     Software is furnished to do so, subject to the following
28  *     conditions:
29  *
30  *     The above copyright notice and this permission notice shall be
31  *     included in all copies or substantial portions of the Software.
32  *
33  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40  *     OTHER DEALINGS IN THE SOFTWARE.
41  */
42
43 /dts-v1/;
44
45 #include "imx7d.dtsi"
46
47 / {
48         model = "Technexion Pico i.MX7D Board";
49         compatible = "technexion,imx7d-pico", "fsl,imx7d";
50
51         memory@80000000 {
52                 reg = <0x80000000 0x80000000>;
53         };
54
55         reg_ap6212: regulator-ap6212 {
56                 compatible = "regulator-fixed";
57                 pinctrl-names = "default";
58                 pinctrl-0 = <&pinctrl_reg_ap6212>;
59                 regulator-name = "AP6212";
60                 regulator-min-microvolt = <3300000>;
61                 regulator-max-microvolt = <3300000>;
62                 gpio = <&gpio4 16 GPIO_ACTIVE_HIGH>;
63                 enable-active-high;
64         };
65
66         reg_2p5v: regulator-2p5v {
67                 compatible = "regulator-fixed";
68                 regulator-name = "2P5V";
69                 regulator-min-microvolt = <2500000>;
70                 regulator-max-microvolt = <2500000>;
71                 regulator-always-on;
72         };
73
74         reg_3p3v: regulator-3p3v {
75                 compatible = "regulator-fixed";
76                 regulator-name = "3P3V";
77                 regulator-min-microvolt = <3300000>;
78                 regulator-max-microvolt = <3300000>;
79                 regulator-always-on;
80         };
81
82         reg_usb_otg1_vbus: regulator-usb-otg1-vbus {
83                 compatible = "regulator-fixed";
84                 regulator-name = "usb_otg1_vbus";
85                 regulator-min-microvolt = <5000000>;
86                 regulator-max-microvolt = <5000000>;
87                 gpio = <&gpio4 5 GPIO_ACTIVE_LOW>;
88         };
89
90         reg_usb_otg2_vbus: regulator-usb-otg2-vbus {
91                 compatible = "regulator-fixed";
92                 regulator-name = "usb_otg2_vbus";
93                 regulator-min-microvolt = <5000000>;
94                 regulator-max-microvolt = <5000000>;
95         };
96
97         reg_vref_1v8: regulator-vref-1v8 {
98                 compatible = "regulator-fixed";
99                 regulator-name = "vref-1v8";
100                 regulator-min-microvolt = <1800000>;
101                 regulator-max-microvolt = <1800000>;
102         };
103 };
104
105 &i2c4 {
106         pinctrl-names = "default";
107         pinctrl-0 = <&pinctrl_i2c4>;
108         status = "okay";
109
110         pmic: pfuze3000@8 {
111                 compatible = "fsl,pfuze3000";
112                 reg = <0x08>;
113
114                 regulators {
115                         sw1a_reg: sw1a {
116                                 regulator-min-microvolt = <700000>;
117                                 regulator-max-microvolt = <3300000>;
118                                 regulator-boot-on;
119                                 regulator-always-on;
120                                 regulator-ramp-delay = <6250>;
121                         };
122                         /* use sw1c_reg to align with pfuze100/pfuze200 */
123                         sw1c_reg: sw1b {
124                                 regulator-min-microvolt = <700000>;
125                                 regulator-max-microvolt = <1475000>;
126                                 regulator-boot-on;
127                                 regulator-always-on;
128                                 regulator-ramp-delay = <6250>;
129                         };
130
131                         sw2_reg: sw2 {
132                                 regulator-min-microvolt = <1800000>;
133                                 regulator-max-microvolt = <1850000>;
134                                 regulator-boot-on;
135                                 regulator-always-on;
136                         };
137
138                         sw3a_reg: sw3 {
139                                 regulator-min-microvolt = <900000>;
140                                 regulator-max-microvolt = <1650000>;
141                                 regulator-boot-on;
142                                 regulator-always-on;
143                         };
144
145                         swbst_reg: swbst {
146                                 regulator-min-microvolt = <5000000>;
147                                 regulator-max-microvolt = <5150000>;
148                         };
149
150                         snvs_reg: vsnvs {
151                                 regulator-min-microvolt = <1000000>;
152                                 regulator-max-microvolt = <3000000>;
153                                 regulator-boot-on;
154                                 regulator-always-on;
155                         };
156
157                         vref_reg: vrefddr {
158                                 regulator-boot-on;
159                                 regulator-always-on;
160                         };
161
162                         vgen1_reg: vldo1 {
163                                 regulator-min-microvolt = <1800000>;
164                                 regulator-max-microvolt = <3300000>;
165                                 regulator-always-on;
166                         };
167
168                         vgen2_reg: vldo2 {
169                                 regulator-min-microvolt = <800000>;
170                                 regulator-max-microvolt = <1550000>;
171                         };
172
173                         vgen3_reg: vccsd {
174                                 regulator-min-microvolt = <2850000>;
175                                 regulator-max-microvolt = <3300000>;
176                                 regulator-always-on;
177                         };
178
179                         vgen4_reg: v33 {
180                                 regulator-min-microvolt = <2850000>;
181                                 regulator-max-microvolt = <3300000>;
182                                 regulator-always-on;
183                         };
184
185                         vgen5_reg: vldo3 {
186                                 regulator-min-microvolt = <1800000>;
187                                 regulator-max-microvolt = <3300000>;
188                                 regulator-always-on;
189                         };
190
191                         vgen6_reg: vldo4 {
192                                 regulator-min-microvolt = <1800000>;
193                                 regulator-max-microvolt = <3300000>;
194                                 regulator-always-on;
195                         };
196                 };
197         };
198 };
199
200 &usdhc2 { /* Wifi SDIO */
201         pinctrl-names = "default";
202         pinctrl-0 = <&pinctrl_usdhc2>;
203         no-1-8-v;
204         non-removable;
205         keep-power-in-suspend;
206         wakeup-source;
207         vmmc-supply = <&reg_ap6212>;
208         status = "okay";
209 };
210
211 &usdhc3 {
212         pinctrl-names = "default", "state_100mhz", "state_200mhz";
213         pinctrl-0 = <&pinctrl_usdhc3>;
214         pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
215         pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
216         assigned-clocks = <&clks IMX7D_USDHC3_ROOT_CLK>;
217         assigned-clock-rates = <400000000>;
218         bus-width = <8>;
219         no-1-8-v;
220         fsl,tuning-step = <2>;
221         non-removable;
222         status = "okay";
223 };
224
225 &wdog1 {
226         pinctrl-names = "default";
227         pinctrl-0 = <&pinctrl_wdog>;
228         fsl,ext-reset-output;
229         status = "okay";
230 };
231
232 &iomuxc {
233         pinctrl_i2c4: i2c4grp {
234                 fsl,pins = <
235                         MX7D_PAD_SAI1_RX_BCLK__I2C4_SDA         0x4000007f
236                         MX7D_PAD_SAI1_RX_SYNC__I2C4_SCL         0x4000007f
237                 >;
238         };
239
240         pinctrl_reg_ap6212: regap6212grp {
241                 fsl,pins = <
242                         MX7D_PAD_ECSPI1_SCLK__GPIO4_IO16        0x59
243                 >;
244         };
245
246         pinctrl_usdhc2: usdhc2grp {
247                 fsl,pins = <
248                         MX7D_PAD_SD2_CMD__SD2_CMD               0x59
249                         MX7D_PAD_SD2_CLK__SD2_CLK               0x19
250                         MX7D_PAD_SD2_DATA0__SD2_DATA0           0x59
251                         MX7D_PAD_SD2_DATA1__SD2_DATA1           0x59
252                         MX7D_PAD_SD2_DATA2__SD2_DATA2           0x59
253                         MX7D_PAD_SD2_DATA3__SD2_DATA3           0x59
254                 >;
255         };
256
257         pinctrl_usdhc3: usdhc3grp {
258                 fsl,pins = <
259                         MX7D_PAD_SD3_CMD__SD3_CMD               0x59
260                         MX7D_PAD_SD3_CLK__SD3_CLK               0x19
261                         MX7D_PAD_SD3_DATA0__SD3_DATA0           0x59
262                         MX7D_PAD_SD3_DATA1__SD3_DATA1           0x59
263                         MX7D_PAD_SD3_DATA2__SD3_DATA2           0x59
264                         MX7D_PAD_SD3_DATA3__SD3_DATA3           0x59
265                         MX7D_PAD_SD3_DATA4__SD3_DATA4           0x59
266                         MX7D_PAD_SD3_DATA5__SD3_DATA5           0x59
267                         MX7D_PAD_SD3_DATA6__SD3_DATA6           0x59
268                         MX7D_PAD_SD3_DATA7__SD3_DATA7           0x59
269                 >;
270         };
271
272         pinctrl_usdhc3_100mhz: usdhc3grp_100mhz {
273                 fsl,pins = <
274                         MX7D_PAD_SD3_CMD__SD3_CMD               0x5a
275                         MX7D_PAD_SD3_CLK__SD3_CLK               0x1a
276                         MX7D_PAD_SD3_DATA0__SD3_DATA0           0x5a
277                         MX7D_PAD_SD3_DATA1__SD3_DATA1           0x5a
278                         MX7D_PAD_SD3_DATA2__SD3_DATA2           0x5a
279                         MX7D_PAD_SD3_DATA3__SD3_DATA3           0x5a
280                         MX7D_PAD_SD3_DATA4__SD3_DATA4           0x5a
281                         MX7D_PAD_SD3_DATA5__SD3_DATA5           0x5a
282                         MX7D_PAD_SD3_DATA6__SD3_DATA6           0x5a
283                         MX7D_PAD_SD3_DATA7__SD3_DATA7           0x5a
284                 >;
285         };
286
287         pinctrl_usdhc3_200mhz: usdhc3grp_200mhz {
288                 fsl,pins = <
289                         MX7D_PAD_SD3_CMD__SD3_CMD               0x5b
290                         MX7D_PAD_SD3_CLK__SD3_CLK               0x1b
291                         MX7D_PAD_SD3_DATA0__SD3_DATA0           0x5b
292                         MX7D_PAD_SD3_DATA1__SD3_DATA1           0x5b
293                         MX7D_PAD_SD3_DATA2__SD3_DATA2           0x5b
294                         MX7D_PAD_SD3_DATA3__SD3_DATA3           0x5b
295                         MX7D_PAD_SD3_DATA4__SD3_DATA4           0x5b
296                         MX7D_PAD_SD3_DATA5__SD3_DATA5           0x5b
297                         MX7D_PAD_SD3_DATA6__SD3_DATA6           0x5b
298                         MX7D_PAD_SD3_DATA7__SD3_DATA7           0x5b
299                 >;
300         };
301 };
302
303 &iomuxc_lpsr {
304         pinctrl_wdog: wdoggrp {
305                 fsl,pins = <
306                         MX7D_PAD_LPSR_GPIO1_IO00__WDOG1_WDOG_B  0x74
307                 >;
308         };
309 };