1 /*
2  * Copyright (C) 2015 Rabeeh Khoury <rabeeh@solid-run.com>
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
11  *     version 2 as published by the Free Software Foundation.
12  *
13  *     This file is distributed in the hope that it will be useful,
14  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
15  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  *     GNU General Public License for more details.
17  *
18  * Or, alternatively,
19  *
20  *  b) Permission is hereby granted, free of charge, to any person
21  *     obtaining a copy of this software and associated documentation
22  *     files (the "Software"), to deal in the Software without
23  *     restriction, including without limitation the rights to use,
24  *     copy, modify, merge, publish, distribute, sublicense, and/or
25  *     sell copies of the Software, and to permit persons to whom the
26  *     Software is furnished to do so, subject to the following
27  *     conditions:
28  *
29  *     The above copyright notice and this permission notice shall be
30  *     included in all copies or substantial portions of the Software.
31  *
32  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
33  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
34  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
35  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
36  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
37  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
38  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
39  *     OTHER DEALINGS IN THE SOFTWARE.
40  */
41 #include <dt-bindings/sound/fsl-imx-audmux.h>
42 
43 / {
44 	/* Will be filled by the bootloader */
45 	memory@10000000 {
46 		device_type = "memory";
47 		reg = <0x10000000 0>;
48 	};
49 
50 	chosen {
51 		stdout-path = &uart1;
52 	};
53 
54 	ir_recv: ir-receiver {
55 		compatible = "gpio-ir-receiver";
56 		gpios = <&gpio7 9 GPIO_ACTIVE_LOW>;
57 		pinctrl-names = "default";
58 		pinctrl-0 = <&pinctrl_hummingboard2_gpio7_9>;
59 		linux,rc-map-name = "rc-rc6-mce";
60 	};
61 
62 	v_3v2: regulator-v-3v2 {
63 		compatible = "regulator-fixed";
64 		regulator-always-on;
65 		regulator-max-microvolt = <3300000>;
66 		regulator-min-microvolt = <3300000>;
67 		regulator-name = "v_3v2";
68 	};
69 
70 	v_5v0: regulator-v-5v0 {
71 		compatible = "regulator-fixed";
72 		regulator-always-on;
73 		regulator-max-microvolt = <5000000>;
74 		regulator-min-microvolt = <5000000>;
75 		regulator-name = "v_5v0";
76 	};
77 
78 	vcc_1p8: regulator-vcc-1p8 {
79 		compatible = "regulator-fixed";
80 		regulator-always-on;
81 		regulator-max-microvolt = <1800000>;
82 		regulator-min-microvolt = <1800000>;
83 		regulator-name = "vcc_1p8";
84 		vin-supply = <&v_3v2>;
85 	};
86 
87 	v_sd: regulator-v-sd {
88 		compatible = "regulator-fixed";
89 		gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>;
90 		pinctrl-names = "default";
91 		pinctrl-0 = <&pinctrl_hummingboard2_vmmc>;
92 		regulator-boot-on;
93 		regulator-max-microvolt = <3300000>;
94 		regulator-min-microvolt = <3300000>;
95 		regulator-name = "v_sd";
96 		startup-delay-us = <1000>;
97 		vin-supply = <&v_3v2>;
98 	};
99 
100 	v_usb1: regulator-v-usb1 {
101 		compatible = "regulator-fixed";
102 		enable-active-high;
103 		gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
104 		pinctrl-names = "default";
105 		pinctrl-0 = <&pinctrl_hummingboard2_usbotg_vbus>;
106 		regulator-always-on;
107 		regulator-max-microvolt = <5000000>;
108 		regulator-min-microvolt = <5000000>;
109 		regulator-name = "v_usb1";
110 		vin-supply = <&v_5v0>;
111 	};
112 
113 	v_usb2: regulator-v-usb2 {
114 		/* USB hub port 1 */
115 		compatible = "regulator-fixed";
116 		enable-active-high;
117 		gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>;
118 		pinctrl-names = "default";
119 		pinctrl-0 = <&pinctrl_hummingboard2_usbh1_vbus>;
120 		regulator-always-on;
121 		regulator-max-microvolt = <5000000>;
122 		regulator-min-microvolt = <5000000>;
123 		regulator-name = "v_usb2";
124 		vin-supply = <&v_5v0>;
125 	};
126 
127 	v_usb3: regulator-v-usb3 {
128 		/* USB hub port 3 */
129 		compatible = "regulator-fixed";
130 		enable-active-high;
131 		gpio = <&gpio2 13 GPIO_ACTIVE_HIGH>;
132 		pinctrl-names = "default";
133 		pinctrl-0 = <&pinctrl_hummingboard2_usbh2_vbus>;
134 		regulator-always-on;
135 		regulator-max-microvolt = <5000000>;
136 		regulator-min-microvolt = <5000000>;
137 		regulator-name = "v_usb3";
138 		vin-supply = <&v_5v0>;
139 	};
140 
141 	v_usb4: regulator-v-usb4 {
142 		/* USB hub port 4 */
143 		compatible = "regulator-fixed";
144 		enable-active-high;
145 		gpio = <&gpio7 10 GPIO_ACTIVE_HIGH>;
146 		pinctrl-names = "default";
147 		pinctrl-0 = <&pinctrl_hummingboard2_usbh3_vbus>;
148 		regulator-always-on;
149 		regulator-max-microvolt = <5000000>;
150 		regulator-min-microvolt = <5000000>;
151 		regulator-name = "v_usb4";
152 		vin-supply = <&v_5v0>;
153 	};
154 
155 	audio: sound-sgtl5000 {
156 		compatible = "simple-audio-card";
157 		simple-audio-card,name = "On-board Codec";
158 		simple-audio-card,format = "i2s";
159 		simple-audio-card,bitclock-master = <&sound_codec>;
160 		simple-audio-card,frame-master = <&sound_codec>;
161 		simple-audio-card,widgets =
162 			"Microphone", "Mic Jack",
163 			"Headphone", "Headphone Jack";
164 		simple-audio-card,routing =
165 			"MIC_IN", "Mic Jack",
166 			"Mic Jack", "Mic Bias",
167 			"Headphone Jack", "HP_OUT";
168 
169 		sound_cpu: simple-audio-card,cpu {
170 			sound-dai = <&ssi1>;
171 		};
172 
173 		sound_codec: simple-audio-card,codec {
174 			sound-dai = <&sgtl5000>;
175 		};
176 	};
177 };
178 
179 &audmux {
180 	status = "okay";
181 
182 	ssi1 {
183 		fsl,audmux-port = <0>;
184 		fsl,port-config = <
185 			(IMX_AUDMUX_V2_PTCR_SYN |
186 			 IMX_AUDMUX_V2_PTCR_TFSEL(4) |
187 			 IMX_AUDMUX_V2_PTCR_TCSEL(4) |
188 			 IMX_AUDMUX_V2_PTCR_TFSDIR |
189 			 IMX_AUDMUX_V2_PTCR_TCLKDIR)
190 			 IMX_AUDMUX_V2_PDCR_RXDSEL(4)
191 		>;
192 	};
193 
194 	pins5 {
195 		fsl,audmux-port = <4>;
196 		fsl,port-config = <
197 			IMX_AUDMUX_V2_PTCR_SYN
198 			IMX_AUDMUX_V2_PDCR_RXDSEL(0)
199 		>;
200 	};
201 };
202 
203 &ecspi2 {
204 	pinctrl-names = "default";
205 	pinctrl-0 = <&pinctrl_hummingboard2_ecspi2>;
206 	cs-gpios = <&gpio2 26 GPIO_ACTIVE_LOW>;
207 	status = "okay";
208 };
209 
210 &hdmi {
211 	pinctrl-names = "default";
212 	pinctrl-0 = <&pinctrl_hummingboard2_hdmi>;
213 	ddc-i2c-bus = <&i2c2>;
214 	status = "okay";
215 };
216 
217 &i2c1 {
218 	clock-frequency = <100000>;
219 	pinctrl-names = "default";
220 	pinctrl-0 = <&pinctrl_hummingboard2_i2c1>;
221 	status = "okay";
222 
223 	pcf8523: rtc@68 {
224 		compatible = "nxp,pcf8523";
225 		reg = <0x68>;
226 	};
227 
228 	sgtl5000: codec@a {
229 		clocks = <&clks IMX6QDL_CLK_CKO>;
230 		compatible = "fsl,sgtl5000";
231 		#sound-dai-cells = <0>;
232 		pinctrl-names = "default";
233 		pinctrl-0 = <&pinctrl_hummingboard2_sgtl5000>;
234 		reg = <0x0a>;
235 		VDDA-supply = <&v_3v2>;
236 		VDDD-supply = <&vcc_1p8>;
237 		VDDIO-supply = <&v_3v2>;
238 	};
239 };
240 
241 &i2c2 {
242 	clock-frequency = <100000>;
243 	pinctrl-names = "default";
244 	pinctrl-0 = <&pinctrl_hummingboard2_i2c2>;
245 	status = "okay";
246 };
247 
248 &i2c3 {
249 	clock-frequency = <100000>;
250 	pinctrl-names = "default";
251 	pinctrl-0 = <&pinctrl_hummingboard2_i2c3>;
252 	status = "okay";
253 };
254 
255 &iomuxc {
256 	pinctrl-names = "default";
257 	pinctrl-0 = <&pinctrl_hog>;
258 
259 	hummingboard2 {
260 		pinctrl_hog: hoggrp {
261 		fsl,pins = <
262 				/*
263 				 * 36 pin headers GPIO description. The pins
264 				 * numbering as following -
265 				 *
266 				 * 	3.2v	5v	74	75
267 				 *	73	72	71	70
268 				 *	69	68	67	66
269 				 *
270 				 *	77	78	79	76
271 				 *	65	64	61	60
272 				 *	53	52	51	50
273 				 *	49	48	166	132
274 				 *	95	94	90	91
275 				 *	GND	54	24	204
276 				 *
277 				 * The GPIO numbers can be extracted using
278 				 * signal name from below.
279 				 * Example -
280 				 * MX6QDL_PAD_EIM_DA10__GPIO3_IO10 is
281 				 * GPIO(3,10) which is (3-1)*32+10 = gpio 74
282 				 *
283 				 * i.e. The mapping of GPIO(X,Y) to Linux gpio
284 				 * number is : gpio number = (X-1) * 32 + Y
285 				 */
286 				/* DI1_PIN15 */
287 				MX6QDL_PAD_EIM_DA10__GPIO3_IO10 0x400130b1
288 				/* DI1_PIN02 */
289 				MX6QDL_PAD_EIM_DA11__GPIO3_IO11 0x400130b1
290 				/* DISP1_DATA00 */
291 				MX6QDL_PAD_EIM_DA9__GPIO3_IO09 0x400130b1
292 				/* DISP1_DATA01 */
293 				MX6QDL_PAD_EIM_DA8__GPIO3_IO08 0x400130b1
294 				/* DISP1_DATA02 */
295 				MX6QDL_PAD_EIM_DA7__GPIO3_IO07 0x400130b1
296 				/* DISP1_DATA03 */
297 				MX6QDL_PAD_EIM_DA6__GPIO3_IO06 0x400130b1
298 				/* DISP1_DATA04 */
299 				MX6QDL_PAD_EIM_DA5__GPIO3_IO05 0x400130b1
300 				/* DISP1_DATA05 */
301 				MX6QDL_PAD_EIM_DA4__GPIO3_IO04 0x400130b1
302 				/* DISP1_DATA06 */
303 				MX6QDL_PAD_EIM_DA3__GPIO3_IO03 0x400130b1
304 				/* DISP1_DATA07 */
305 				MX6QDL_PAD_EIM_DA2__GPIO3_IO02 0x400130b1
306 				/* DI1_D0_CS */
307 				MX6QDL_PAD_EIM_DA13__GPIO3_IO13 0x400130b1
308 				/* DI1_D1_CS */
309 				MX6QDL_PAD_EIM_DA14__GPIO3_IO14 0x400130b1
310 				/* DI1_PIN01 */
311 				MX6QDL_PAD_EIM_DA15__GPIO3_IO15 0x400130b1
312 				/* DI1_PIN03 */
313 				MX6QDL_PAD_EIM_DA12__GPIO3_IO12 0x400130b1
314 				/* DISP1_DATA08 */
315 				MX6QDL_PAD_EIM_DA1__GPIO3_IO01 0x400130b1
316 				/* DISP1_DATA09 */
317 				MX6QDL_PAD_EIM_DA0__GPIO3_IO00 0x400130b1
318 				/* DISP1_DATA10 */
319 				MX6QDL_PAD_EIM_EB1__GPIO2_IO29 0x400130b1
320 				/* DISP1_DATA11 */
321 				MX6QDL_PAD_EIM_EB0__GPIO2_IO28 0x400130b1
322 				/* DISP1_DATA12 */
323 				MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x400130b1
324 				/* DISP1_DATA13 */
325 				MX6QDL_PAD_EIM_A18__GPIO2_IO20 0x400130b1
326 				/* DISP1_DATA14 */
327 				MX6QDL_PAD_EIM_A19__GPIO2_IO19 0x400130b1
328 				/* DISP1_DATA15 */
329 				MX6QDL_PAD_EIM_A20__GPIO2_IO18 0x400130b1
330 				/* DISP1_DATA16 */
331 				MX6QDL_PAD_EIM_A21__GPIO2_IO17 0x400130b1
332 				/* DISP1_DATA17 */
333 				MX6QDL_PAD_EIM_A22__GPIO2_IO16 0x400130b1
334 				/* DISP1_DATA18 */
335 				MX6QDL_PAD_EIM_A23__GPIO6_IO06 0x400130b1
336 				/* DISP1_DATA19 */
337 				MX6QDL_PAD_EIM_A24__GPIO5_IO04 0x400130b1
338 				/* DISP1_DATA20 */
339 				MX6QDL_PAD_EIM_D31__GPIO3_IO31 0x400130b1
340 				/* DISP1_DATA21 */
341 				MX6QDL_PAD_EIM_D30__GPIO3_IO30 0x400130b1
342 				/* DISP1_DATA22 */
343 				MX6QDL_PAD_EIM_D26__GPIO3_IO26 0x400130b1
344 				/* DISP1_DATA23 */
345 				MX6QDL_PAD_EIM_D27__GPIO3_IO27 0x400130b1
346 				/* DI1_DISP_CLK */
347 				MX6QDL_PAD_EIM_A16__GPIO2_IO22 0x400130b1
348 				/* SPDIF_IN */
349 				MX6QDL_PAD_ENET_RX_ER__GPIO1_IO24 0x400130b1
350 				/* SPDIF_OUT */
351 				MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x400130b1
352 
353 				/* MikroBUS GPIO pin number 10 */
354 				MX6QDL_PAD_EIM_LBA__GPIO2_IO27 0x400130b1
355 			>;
356 		};
357 
358 		pinctrl_hummingboard2_ecspi2: hummingboard2-ecspi2grp {
359 			fsl,pins = <
360 				MX6QDL_PAD_EIM_OE__ECSPI2_MISO	0x100b1
361 				MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI	0x100b1
362 				MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK	0x100b1
363 				MX6QDL_PAD_EIM_RW__GPIO2_IO26	0x000b1 /* CS */
364 			>;
365 		};
366 
367 		pinctrl_hummingboard2_gpio7_9: hummingboard2-gpio7_9 {
368 			fsl,pins = <
369 				MX6QDL_PAD_SD4_CMD__GPIO7_IO09 0x80000000
370 			>;
371 		};
372 
373 		pinctrl_hummingboard2_hdmi: hummingboard2-hdmi {
374 			fsl,pins = <
375 				MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0
376 			>;
377 		};
378 
379 		pinctrl_hummingboard2_i2c1: hummingboard2-i2c1 {
380 			fsl,pins = <
381 				MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
382 				MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
383 			>;
384 		};
385 
386 		pinctrl_hummingboard2_i2c2: hummingboard2-i2c2 {
387 			fsl,pins = <
388 				MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
389 				MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
390 			>;
391 		};
392 
393 		pinctrl_hummingboard2_i2c3: hummingboard2-i2c3 {
394 			fsl,pins = <
395 				MX6QDL_PAD_EIM_D17__I2C3_SCL 0x4001b8b1
396 				MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1
397 			>;
398 		};
399 
400 		pinctrl_hummingboard2_mipi: hummingboard2_mipi {
401 			fsl,pins = <
402 				MX6QDL_PAD_SD4_DAT2__GPIO2_IO10 0x4001b8b1
403 				MX6QDL_PAD_KEY_COL4__GPIO4_IO14 0x4001b8b1
404 				MX6QDL_PAD_NANDF_CS2__CCM_CLKO2 0x130b0
405 			>;
406 		};
407 
408 		pinctrl_hummingboard2_pcie_reset: hummingboard2-pcie-reset {
409 			fsl,pins = <
410 				MX6QDL_PAD_SD4_DAT3__GPIO2_IO11 0x1b0b1
411 			>;
412 		};
413 
414 		pinctrl_hummingboard2_pwm1: pwm1grp {
415 			fsl,pins = <
416 				MX6QDL_PAD_DISP0_DAT8__PWM1_OUT 0x1b0b1
417 			>;
418 		};
419 
420 		pinctrl_hummingboard2_pwm3: pwm3grp {
421 			fsl,pins = <
422 				MX6QDL_PAD_SD4_DAT1__PWM3_OUT 0x1b0b1
423 			>;
424 		};
425 
426 		pinctrl_hummingboard2_sgtl5000: hummingboard2-sgtl5000 {
427 			fsl,pins = <
428 				MX6QDL_PAD_DISP0_DAT19__AUD5_RXD 0x130b0
429 				MX6QDL_PAD_KEY_COL0__AUD5_TXC 0x130b0
430 				MX6QDL_PAD_KEY_ROW0__AUD5_TXD 0x110b0
431 				MX6QDL_PAD_KEY_COL1__AUD5_TXFS 0x130b0
432 				MX6QDL_PAD_GPIO_5__CCM_CLKO1 0x130b0
433 			>;
434 		};
435 
436 		pinctrl_hummingboard2_usbh1_vbus: hummingboard2-usbh1-vbus {
437 			fsl,pins = <MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0>;
438 		};
439 
440 		pinctrl_hummingboard2_usbh2_vbus: hummingboard2-usbh2-vbus {
441 			fsl,pins = <MX6QDL_PAD_SD4_DAT5__GPIO2_IO13 0x1b0b0>;
442 		};
443 
444 		pinctrl_hummingboard2_usbh3_vbus: hummingboard2-usbh3-vbus {
445 			fsl,pins = <MX6QDL_PAD_SD4_CLK__GPIO7_IO10 0x1b0b0>;
446 		};
447 
448 		pinctrl_hummingboard2_usbotg_id: hummingboard2-usbotg-id {
449 			/*
450 			 * We want it pulled down for a fixed host connection.
451 			 */
452 			fsl,pins = <MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x13059>;
453 		};
454 
455 		pinctrl_hummingboard2_usbotg_vbus: hummingboard2-usbotg-vbus {
456 			fsl,pins = <MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b0>;
457 		};
458 
459 		pinctrl_hummingboard2_usdhc2_aux: hummingboard2-usdhc2-aux {
460 			fsl,pins = <
461 				MX6QDL_PAD_GPIO_4__GPIO1_IO04    0x1f071
462 				MX6QDL_PAD_KEY_ROW1__SD2_VSELECT 0x1b071
463 			>;
464 		};
465 
466 		pinctrl_hummingboard2_usdhc2: hummingboard2-usdhc2 {
467 			fsl,pins = <
468 				MX6QDL_PAD_SD2_CMD__SD2_CMD    0x17059
469 				MX6QDL_PAD_SD2_CLK__SD2_CLK    0x10059
470 				MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059
471 				MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059
472 				MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059
473 				MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x13059
474 			>;
475 		};
476 
477 		pinctrl_hummingboard2_usdhc2_100mhz: hummingboard2-usdhc2-100mhz {
478 			fsl,pins = <
479 				MX6QDL_PAD_SD2_CMD__SD2_CMD    0x170b9
480 				MX6QDL_PAD_SD2_CLK__SD2_CLK    0x100b9
481 				MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x170b9
482 				MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x170b9
483 				MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x170b9
484 				MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x130b9
485 			>;
486 		};
487 
488 		pinctrl_hummingboard2_usdhc2_200mhz: hummingboard2-usdhc2-200mhz {
489 			fsl,pins = <
490 				MX6QDL_PAD_SD2_CMD__SD2_CMD    0x170f9
491 				MX6QDL_PAD_SD2_CLK__SD2_CLK    0x100f9
492 				MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x170f9
493 				MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x170f9
494 				MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x170f9
495 				MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x130f9
496 			>;
497 		};
498 
499 		pinctrl_hummingboard2_vmmc: hummingboard2-vmmc {
500 			fsl,pins = <
501 				MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0
502 			>;
503 		};
504 
505 		pinctrl_hummingboard2_uart3: hummingboard2-uart3 {
506 			fsl,pins = <
507 				MX6QDL_PAD_EIM_D25__UART3_TX_DATA	0x1b0b1
508 				MX6QDL_PAD_EIM_D24__UART3_RX_DATA	0x40013000
509 			>;
510 		};
511 	};
512 };
513 
514 &pcie {
515 	pinctrl-names = "default";
516 	pinctrl-0 = <&pinctrl_hummingboard2_pcie_reset>;
517 	reset-gpio = <&gpio2 11 GPIO_ACTIVE_LOW>;
518 	status = "okay";
519 };
520 
521 &pwm1 {
522 	pinctrl-names = "default";
523 	pinctrl-0 = <&pinctrl_hummingboard2_pwm1>;
524 	status = "okay";
525 };
526 
527 &pwm3 {
528 	pinctrl-names = "default";
529 	pinctrl-0 = <&pinctrl_hummingboard2_pwm3>;
530 	status = "okay";
531 };
532 
533 &ssi1 {
534 	status = "okay";
535 };
536 
537 &usbh1 {
538 	disable-over-current;
539 	status = "okay";
540 };
541 
542 &usbotg {
543 	disable-over-current;
544 	pinctrl-names = "default";
545 	pinctrl-0 = <&pinctrl_hummingboard2_usbotg_id>;
546 	vbus-supply = <&v_usb1>;
547 	status = "okay";
548 };
549 
550 &usdhc2 {
551 	pinctrl-names = "default", "state_100mhz", "state_200mhz";
552 	pinctrl-0 = <
553 		&pinctrl_hummingboard2_usdhc2_aux
554 		&pinctrl_hummingboard2_usdhc2
555 	>;
556 	pinctrl-1 = <
557 		&pinctrl_hummingboard2_usdhc2_aux
558 		&pinctrl_hummingboard2_usdhc2_100mhz
559 	>;
560 	pinctrl-2 = <
561 		&pinctrl_hummingboard2_usdhc2_aux
562 		&pinctrl_hummingboard2_usdhc2_200mhz
563 	>;
564 	vmmc-supply = <&v_sd>;
565 	cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
566 	status = "okay";
567 };
568 
569 &uart3 {
570 	pinctrl-names = "default";
571 	pinctrl-0 = <&pinctrl_hummingboard2_uart3>;
572 	status = "okay";
573 };
574 
575 &vcc_3v3 {
576 	vin-supply = <&v_3v2>;
577 };
578