]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/gnu/dts/arm/imx6sx-udoo-neo.dtsi
Merge llvm, clang, lld and lldb trunk r300890, and update build glue.
[FreeBSD/FreeBSD.git] / sys / gnu / dts / arm / imx6sx-udoo-neo.dtsi
1 /*
2  * Copyright (c) 2016 Andreas Färber
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 library 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 library 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 #include "imx6sx.dtsi"
44
45 / {
46         compatible = "fsl,imx6sx";
47
48         chosen {
49                 stdout-path = "serial0:115200n8";
50         };
51
52         leds {
53                 compatible = "gpio-leds";
54
55                 red {
56                         label = "udoo-neo:red:mmc";
57                         gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>;
58                         default-state = "off";
59                         linux,default-trigger = "mmc0";
60                 };
61
62                 orange {
63                         label = "udoo-neo:orange:user";
64                         gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>;
65                         default-state = "keep";
66                 };
67         };
68
69         reg_sdio_pwr: regulator-sdio-pwr {
70                 compatible = "regulator-fixed";
71                 gpio = <&gpio6 1 GPIO_ACTIVE_HIGH>;
72                 enable-active-high;
73                 regulator-name = "SDIO_PWR";
74                 regulator-min-microvolt = <3300000>;
75                 regulator-max-microvolt = <3300000>;
76                 regulator-boot-on;
77         };
78 };
79
80 &cpu0 {
81         arm-supply = <&sw1a_reg>;
82         soc-supply = <&sw1c_reg>;
83 };
84
85 &fec1 {
86         pinctrl-names = "default";
87         pinctrl-0 = <&pinctrl_enet1>;
88         phy-mode = "rmii";
89         phy-reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
90 };
91
92 &i2c1 {
93         pinctrl-names = "default";
94         pinctrl-0 = <&pinctrl_i2c1>;
95         clock-frequency = <100000>;
96         status = "okay";
97
98         pmic: pmic@08 {
99                 compatible = "fsl,pfuze3000";
100                 reg = <0x08>;
101
102                 regulators {
103                         sw1a_reg: sw1a {
104                                 regulator-min-microvolt = <700000>;
105                                 regulator-max-microvolt = <1475000>;
106                                 regulator-boot-on;
107                                 regulator-always-on;
108                                 regulator-ramp-delay = <6250>;
109                         };
110
111                         sw1c_reg: sw1b {
112                                 regulator-min-microvolt = <700000>;
113                                 regulator-max-microvolt = <1475000>;
114                                 regulator-boot-on;
115                                 regulator-always-on;
116                                 regulator-ramp-delay = <6250>;
117                         };
118
119                         sw2_reg: sw2 {
120                                 regulator-min-microvolt = <1500000>;
121                                 regulator-max-microvolt = <1850000>;
122                                 regulator-boot-on;
123                                 regulator-always-on;
124                         };
125
126                         sw3a_reg: sw3 {
127                                 regulator-min-microvolt = <900000>;
128                                 regulator-max-microvolt = <1650000>;
129                                 regulator-boot-on;
130                                 regulator-always-on;
131                         };
132
133                         swbst_reg: swbst {
134                                 regulator-min-microvolt = <5000000>;
135                                 regulator-max-microvolt = <5150000>;
136                         };
137
138                         snvs_reg: vsnvs {
139                                 regulator-min-microvolt = <1000000>;
140                                 regulator-max-microvolt = <3000000>;
141                                 regulator-boot-on;
142                                 regulator-always-on;
143                         };
144
145                         vref_reg: vrefddr {
146                                 regulator-boot-on;
147                                 regulator-always-on;
148                         };
149
150                         vgen1_reg: vldo1 {
151                                 regulator-min-microvolt = <1800000>;
152                                 regulator-max-microvolt = <3300000>;
153                                 regulator-always-on;
154                         };
155
156                         vgen2_reg: vldo2 {
157                                 regulator-min-microvolt = <800000>;
158                                 regulator-max-microvolt = <1550000>;
159                         };
160
161                         vgen3_reg: vccsd {
162                                 regulator-min-microvolt = <2850000>;
163                                 regulator-max-microvolt = <3300000>;
164                                 regulator-always-on;
165                         };
166
167                         vgen4_reg: v33 {
168                                 regulator-min-microvolt = <2850000>;
169                                 regulator-max-microvolt = <3300000>;
170                                 regulator-always-on;
171                         };
172
173                         vgen5_reg: vldo3 {
174                                 regulator-min-microvolt = <1800000>;
175                                 regulator-max-microvolt = <3300000>;
176                                 regulator-always-on;
177                         };
178
179                         vgen6_reg: vldo4 {
180                                 regulator-min-microvolt = <1800000>;
181                                 regulator-max-microvolt = <3300000>;
182                                 regulator-always-on;
183                         };
184                 };
185         };
186 };
187
188 &iomuxc {
189         pinctrl_enet1: enet1grp {
190                 fsl,pins =
191                         <MX6SX_PAD_ENET1_CRS__GPIO2_IO_1        0xa0b1>,
192                         <MX6SX_PAD_ENET1_MDC__ENET1_MDC         0xa0b1>,
193                         <MX6SX_PAD_ENET1_MDIO__ENET1_MDIO       0xa0b1>,
194                         <MX6SX_PAD_RGMII1_TD0__ENET1_TX_DATA_0  0xa0b1>,
195                         <MX6SX_PAD_RGMII1_TD1__ENET1_TX_DATA_1  0xa0b1>,
196                         <MX6SX_PAD_RGMII1_TX_CTL__ENET1_TX_EN   0xa0b1>,
197
198                         <MX6SX_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x3081>,
199                         <MX6SX_PAD_ENET2_TX_CLK__GPIO2_IO_9     0x3081>,
200                         <MX6SX_PAD_RGMII1_RD0__ENET1_RX_DATA_0  0x3081>,
201                         <MX6SX_PAD_RGMII1_RD1__ENET1_RX_DATA_1  0x3081>,
202                         <MX6SX_PAD_RGMII1_RX_CTL__ENET1_RX_EN   0x3081>,
203                         <MX6SX_PAD_RGMII1_RXC__ENET1_RX_ER      0x3081>,
204
205                         <MX6SX_PAD_ENET2_RX_CLK__ENET2_REF_CLK_25M      0x91>;
206         };
207
208         pinctrl_i2c1: i2c1grp {
209                 fsl,pins =
210                         <MX6SX_PAD_GPIO1_IO00__I2C1_SCL         0x4001b8b1>,
211                         <MX6SX_PAD_GPIO1_IO01__I2C1_SDA         0x4001b8b1>;
212         };
213
214         pinctrl_uart1: uart1grp {
215                 fsl,pins =
216                         <MX6SX_PAD_GPIO1_IO04__UART1_TX         0x1b0b1>,
217                         <MX6SX_PAD_GPIO1_IO05__UART1_RX         0x1b0b1>;
218         };
219
220         pinctrl_uart2: uart2grp {
221                 fsl,pins =
222                         <MX6SX_PAD_GPIO1_IO06__UART2_TX         0x1b0b1>,
223                         <MX6SX_PAD_GPIO1_IO07__UART2_RX         0x1b0b1>;
224         };
225
226         pinctrl_uart5: uart5grp {
227                 fsl,pins =
228                         <MX6SX_PAD_SD4_DATA4__UART5_RX          0x1b0b1>,
229                         <MX6SX_PAD_SD4_DATA5__UART5_TX          0x1b0b1>;
230         };
231
232         pinctrl_uart6: uart6grp {
233                 fsl,pins =
234                         <MX6SX_PAD_CSI_DATA00__UART6_RI_B       0x1b0b1>,
235                         <MX6SX_PAD_CSI_DATA01__UART6_DSR_B      0x1b0b1>,
236                         <MX6SX_PAD_CSI_DATA02__UART6_DTR_B      0x1b0b1>,
237                         <MX6SX_PAD_CSI_DATA03__UART6_DCD_B      0x1b0b1>,
238                         <MX6SX_PAD_CSI_DATA04__UART6_RX         0x1b0b1>,
239                         <MX6SX_PAD_CSI_DATA05__UART6_TX         0x1b0b1>,
240                         <MX6SX_PAD_CSI_DATA06__UART6_RTS_B      0x1b0b1>,
241                         <MX6SX_PAD_CSI_DATA07__UART6_CTS_B      0x1b0b1>;
242         };
243
244         pinctrl_usdhc2: usdhc2grp {
245                 fsl,pins =
246                         <MX6SX_PAD_SD2_CMD__USDHC2_CMD          0x17059>,
247                         <MX6SX_PAD_SD2_CLK__USDHC2_CLK          0x10059>,
248                         <MX6SX_PAD_SD2_DATA0__USDHC2_DATA0      0x17059>,
249                         <MX6SX_PAD_SD2_DATA1__USDHC2_DATA1      0x17059>,
250                         <MX6SX_PAD_SD2_DATA2__USDHC2_DATA2      0x17059>,
251                         <MX6SX_PAD_SD2_DATA3__USDHC2_DATA3      0x17059>,
252                         <MX6SX_PAD_SD1_DATA0__GPIO6_IO_2        0x17059>; /* CD */
253         };
254 };
255
256 &uart1 {
257         pinctrl-names = "default";
258         pinctrl-0 = <&pinctrl_uart1>;
259         status = "okay";
260 };
261
262 /* Cortex-M4 serial */
263 &uart2 {
264         pinctrl-names = "default";
265         pinctrl-0 = <&pinctrl_uart2>;
266         status = "disabled";
267 };
268
269 /* Arduino serial */
270 &uart5 {
271         pinctrl-names = "default";
272         pinctrl-0 = <&pinctrl_uart5>;
273         status = "disabled";
274 };
275
276 &uart6 {
277         pinctrl-names = "default";
278         pinctrl-0 = <&pinctrl_uart6>;
279         uart-has-rtscts;
280         status = "disabled";
281 };
282
283 &usdhc2 {
284         pinctrl-names = "default";
285         pinctrl-0 = <&pinctrl_usdhc2>;
286         vmmc-supply = <&reg_sdio_pwr>;
287         bus-width = <4>;
288         cd-gpios = <&gpio6 2 GPIO_ACTIVE_LOW>;
289         no-1-8-v;
290         keep-power-in-suspend;
291         wakeup-source;
292         status = "okay";
293 };