]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blob - arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
BCM270X: Enable the DSI panel node in the VC4 overlay.
[mirror_ubuntu-zesty-kernel.git] / arch / arm / boot / dts / 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 &fec1 {
81 pinctrl-names = "default";
82 pinctrl-0 = <&pinctrl_enet1>;
83 phy-mode = "rmii";
84 phy-reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
85 };
86
87 &i2c1 {
88 pinctrl-names = "default";
89 pinctrl-0 = <&pinctrl_i2c1>;
90 clock-frequency = <100000>;
91 status = "okay";
92
93 pmic: pmic@08 {
94 compatible = "fsl,pfuze3000";
95 reg = <0x08>;
96
97 regulators {
98 sw1a_reg: sw1a {
99 regulator-min-microvolt = <700000>;
100 regulator-max-microvolt = <1475000>;
101 regulator-boot-on;
102 regulator-always-on;
103 regulator-ramp-delay = <6250>;
104 };
105
106 sw1c_reg: sw1b {
107 regulator-min-microvolt = <700000>;
108 regulator-max-microvolt = <1475000>;
109 regulator-boot-on;
110 regulator-always-on;
111 regulator-ramp-delay = <6250>;
112 };
113
114 sw2_reg: sw2 {
115 regulator-min-microvolt = <1500000>;
116 regulator-max-microvolt = <1850000>;
117 regulator-boot-on;
118 regulator-always-on;
119 };
120
121 sw3a_reg: sw3 {
122 regulator-min-microvolt = <900000>;
123 regulator-max-microvolt = <1650000>;
124 regulator-boot-on;
125 regulator-always-on;
126 };
127
128 swbst_reg: swbst {
129 regulator-min-microvolt = <5000000>;
130 regulator-max-microvolt = <5150000>;
131 };
132
133 snvs_reg: vsnvs {
134 regulator-min-microvolt = <1000000>;
135 regulator-max-microvolt = <3000000>;
136 regulator-boot-on;
137 regulator-always-on;
138 };
139
140 vref_reg: vrefddr {
141 regulator-boot-on;
142 regulator-always-on;
143 };
144
145 vgen1_reg: vldo1 {
146 regulator-min-microvolt = <1800000>;
147 regulator-max-microvolt = <3300000>;
148 regulator-always-on;
149 };
150
151 vgen2_reg: vldo2 {
152 regulator-min-microvolt = <800000>;
153 regulator-max-microvolt = <1550000>;
154 };
155
156 vgen3_reg: vccsd {
157 regulator-min-microvolt = <2850000>;
158 regulator-max-microvolt = <3300000>;
159 regulator-always-on;
160 };
161
162 vgen4_reg: v33 {
163 regulator-min-microvolt = <2850000>;
164 regulator-max-microvolt = <3300000>;
165 regulator-always-on;
166 };
167
168 vgen5_reg: vldo3 {
169 regulator-min-microvolt = <1800000>;
170 regulator-max-microvolt = <3300000>;
171 regulator-always-on;
172 };
173
174 vgen6_reg: vldo4 {
175 regulator-min-microvolt = <1800000>;
176 regulator-max-microvolt = <3300000>;
177 regulator-always-on;
178 };
179 };
180 };
181 };
182
183 &iomuxc {
184 pinctrl_enet1: enet1grp {
185 fsl,pins =
186 <MX6SX_PAD_ENET1_CRS__GPIO2_IO_1 0xa0b1>,
187 <MX6SX_PAD_ENET1_MDC__ENET1_MDC 0xa0b1>,
188 <MX6SX_PAD_ENET1_MDIO__ENET1_MDIO 0xa0b1>,
189 <MX6SX_PAD_RGMII1_TD0__ENET1_TX_DATA_0 0xa0b1>,
190 <MX6SX_PAD_RGMII1_TD1__ENET1_TX_DATA_1 0xa0b1>,
191 <MX6SX_PAD_RGMII1_TX_CTL__ENET1_TX_EN 0xa0b1>,
192
193 <MX6SX_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x3081>,
194 <MX6SX_PAD_ENET2_TX_CLK__GPIO2_IO_9 0x3081>,
195 <MX6SX_PAD_RGMII1_RD0__ENET1_RX_DATA_0 0x3081>,
196 <MX6SX_PAD_RGMII1_RD1__ENET1_RX_DATA_1 0x3081>,
197 <MX6SX_PAD_RGMII1_RX_CTL__ENET1_RX_EN 0x3081>,
198 <MX6SX_PAD_RGMII1_RXC__ENET1_RX_ER 0x3081>,
199
200 <MX6SX_PAD_ENET2_RX_CLK__ENET2_REF_CLK_25M 0x91>;
201 };
202
203 pinctrl_i2c1: i2c1grp {
204 fsl,pins =
205 <MX6SX_PAD_GPIO1_IO00__I2C1_SCL 0x4001b8b1>,
206 <MX6SX_PAD_GPIO1_IO01__I2C1_SDA 0x4001b8b1>;
207 };
208
209 pinctrl_uart1: uart1grp {
210 fsl,pins =
211 <MX6SX_PAD_GPIO1_IO04__UART1_TX 0x1b0b1>,
212 <MX6SX_PAD_GPIO1_IO05__UART1_RX 0x1b0b1>;
213 };
214
215 pinctrl_uart2: uart2grp {
216 fsl,pins =
217 <MX6SX_PAD_GPIO1_IO06__UART2_TX 0x1b0b1>,
218 <MX6SX_PAD_GPIO1_IO07__UART2_RX 0x1b0b1>;
219 };
220
221 pinctrl_uart5: uart5grp {
222 fsl,pins =
223 <MX6SX_PAD_SD4_DATA4__UART5_RX 0x1b0b1>,
224 <MX6SX_PAD_SD4_DATA5__UART5_TX 0x1b0b1>;
225 };
226
227 pinctrl_uart6: uart6grp {
228 fsl,pins =
229 <MX6SX_PAD_CSI_DATA00__UART6_RI_B 0x1b0b1>,
230 <MX6SX_PAD_CSI_DATA01__UART6_DSR_B 0x1b0b1>,
231 <MX6SX_PAD_CSI_DATA02__UART6_DTR_B 0x1b0b1>,
232 <MX6SX_PAD_CSI_DATA03__UART6_DCD_B 0x1b0b1>,
233 <MX6SX_PAD_CSI_DATA04__UART6_RX 0x1b0b1>,
234 <MX6SX_PAD_CSI_DATA05__UART6_TX 0x1b0b1>,
235 <MX6SX_PAD_CSI_DATA06__UART6_RTS_B 0x1b0b1>,
236 <MX6SX_PAD_CSI_DATA07__UART6_CTS_B 0x1b0b1>;
237 };
238
239 pinctrl_usdhc2: usdhc2grp {
240 fsl,pins =
241 <MX6SX_PAD_SD2_CMD__USDHC2_CMD 0x17059>,
242 <MX6SX_PAD_SD2_CLK__USDHC2_CLK 0x10059>,
243 <MX6SX_PAD_SD2_DATA0__USDHC2_DATA0 0x17059>,
244 <MX6SX_PAD_SD2_DATA1__USDHC2_DATA1 0x17059>,
245 <MX6SX_PAD_SD2_DATA2__USDHC2_DATA2 0x17059>,
246 <MX6SX_PAD_SD2_DATA3__USDHC2_DATA3 0x17059>,
247 <MX6SX_PAD_SD1_DATA0__GPIO6_IO_2 0x17059>; /* CD */
248 };
249 };
250
251 &uart1 {
252 pinctrl-names = "default";
253 pinctrl-0 = <&pinctrl_uart1>;
254 status = "okay";
255 };
256
257 /* Cortex-M4 serial */
258 &uart2 {
259 pinctrl-names = "default";
260 pinctrl-0 = <&pinctrl_uart2>;
261 status = "disabled";
262 };
263
264 /* Arduino serial */
265 &uart5 {
266 pinctrl-names = "default";
267 pinctrl-0 = <&pinctrl_uart5>;
268 status = "disabled";
269 };
270
271 &uart6 {
272 pinctrl-names = "default";
273 pinctrl-0 = <&pinctrl_uart6>;
274 uart-has-rtscts;
275 status = "disabled";
276 };
277
278 &usdhc2 {
279 pinctrl-names = "default";
280 pinctrl-0 = <&pinctrl_usdhc2>;
281 vmmc-supply = <&reg_sdio_pwr>;
282 bus-width = <4>;
283 cd-gpios = <&gpio6 2 GPIO_ACTIVE_LOW>;
284 no-1-8-v;
285 keep-power-in-suspend;
286 wakeup-source;
287 status = "okay";
288 };