colibri_imx7: migrate usb to driver model
[oweals/u-boot.git] / arch / arm / dts / imx7-colibri-emmc.dts
1 // SPDX-License-Identifier: GPL-2.0+ OR X11
2 /*
3  * Copyright 2019 Toradex AG
4  */
5
6 /dts-v1/;
7 #include "imx7-colibri.dtsi"
8
9 / {
10         model = "Toradex Colibri iMX7D 1GB (eMMC)";
11         compatible = "toradex,imx7d-colibri-emmc", "fsl,imx7d";
12
13         aliases {
14                 mmc0 = &usdhc3;
15                 mmc1 = &usdhc1;
16                 usb0 = &usbotg1; /* required for ums */
17         };
18
19         chosen {
20                 stdout-path = &uart1;
21         };
22
23         reg_5v0: regulator-5v0 {
24                 compatible = "regulator-fixed";
25                 regulator-name = "5V";
26                 regulator-min-microvolt = <5000000>;
27                 regulator-max-microvolt = <5000000>;
28         };
29
30         reg_usbh_vbus: regulator-usbh-vbus {
31                 compatible = "regulator-fixed";
32                 pinctrl-names = "default";
33                 pinctrl-0 = <&pinctrl_usbh_reg>;
34                 regulator-name = "VCC_USB[1-4]";
35                 regulator-min-microvolt = <5000000>;
36                 regulator-max-microvolt = <5000000>;
37                 gpio = <&gpio4 7 GPIO_ACTIVE_LOW>;
38                 vin-supply = <&reg_5v0>;
39         };
40 };
41
42 &usdhc3 {
43         pinctrl-names = "default";
44         pinctrl-0 = <&pinctrl_usdhc3>;
45         bus-width = <8>;
46         non-removable;
47         status = "okay";
48 };
49
50 &iomuxc {
51         pinctrl_usdhc3: usdhc3grp {
52                 fsl,pins = <
53                         MX7D_PAD_SD3_CMD__SD3_CMD               0x59
54                         MX7D_PAD_SD3_CLK__SD3_CLK               0x19
55                         MX7D_PAD_SD3_DATA0__SD3_DATA0           0x59
56                         MX7D_PAD_SD3_DATA1__SD3_DATA1           0x59
57                         MX7D_PAD_SD3_DATA2__SD3_DATA2           0x59
58                         MX7D_PAD_SD3_DATA3__SD3_DATA3           0x59
59                         MX7D_PAD_SD3_DATA4__SD3_DATA4           0x59
60                         MX7D_PAD_SD3_DATA5__SD3_DATA5           0x59
61                         MX7D_PAD_SD3_DATA6__SD3_DATA6           0x59
62                         MX7D_PAD_SD3_DATA7__SD3_DATA7           0x59
63                         MX7D_PAD_SD3_STROBE__SD3_STROBE         0x19
64                 >;
65         };
66
67         pinctrl_usbh_reg: gpio-usbh-vbus {
68                 fsl,pins = <
69                         MX7D_PAD_UART3_CTS_B__GPIO4_IO7 0x14
70                 >;
71         };
72 };
73
74 /* Colibri USBC */
75 &usbotg1 {
76         /*
77          * usbotg1 on Colibri iMX7 can function in both host/otg modes.
78          * Gadget stack currently does not look at this at all while
79          * the host stack refuses to bind/load if it is not set to host
80          * (it obviously won't be enumerated during usb start invocation
81          * if dr_mode = "otg")
82          */
83         dr_mode = "host";
84         status = "okay";
85 };
86
87 /* Colibri USBH */
88 &usbotg2 {
89         dr_mode = "host";
90         vbus-supply = <&reg_usbh_vbus>;
91         status = "okay";
92 };