colibri_imx7: migrate usb to driver model
authorIgor Opaniuk <igor.opaniuk@toradex.com>
Fri, 10 May 2019 09:35:29 +0000 (12:35 +0300)
committerStefano Babic <sbabic@denx.de>
Tue, 11 Jun 2019 08:42:48 +0000 (10:42 +0200)
Migrate USB to Driver Model (CONFIG_DM_USB=y).

Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Tested-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
arch/arm/dts/imx7-colibri-emmc.dts
arch/arm/dts/imx7-colibri-rawnand.dts
configs/colibri_imx7_defconfig
configs/colibri_imx7_emmc_defconfig

index efd600091dab9fc2009a99c12391bfb0b4dea182..deb5482e3e2aa6060a7e3ffa87f5c4a146e39a70 100644 (file)
        aliases {
                mmc0 = &usdhc3;
                mmc1 = &usdhc1;
+               usb0 = &usbotg1; /* required for ums */
        };
 
        chosen {
                stdout-path = &uart1;
        };
+
+       reg_5v0: regulator-5v0 {
+               compatible = "regulator-fixed";
+               regulator-name = "5V";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+       };
+
+       reg_usbh_vbus: regulator-usbh-vbus {
+               compatible = "regulator-fixed";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_usbh_reg>;
+               regulator-name = "VCC_USB[1-4]";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               gpio = <&gpio4 7 GPIO_ACTIVE_LOW>;
+               vin-supply = <&reg_5v0>;
+       };
 };
 
 &usdhc3 {
                        MX7D_PAD_SD3_STROBE__SD3_STROBE         0x19
                >;
        };
+
+       pinctrl_usbh_reg: gpio-usbh-vbus {
+               fsl,pins = <
+                       MX7D_PAD_UART3_CTS_B__GPIO4_IO7 0x14
+               >;
+       };
+};
+
+/* Colibri USBC */
+&usbotg1 {
+       /*
+        * usbotg1 on Colibri iMX7 can function in both host/otg modes.
+        * Gadget stack currently does not look at this at all while
+        * the host stack refuses to bind/load if it is not set to host
+        * (it obviously won't be enumerated during usb start invocation
+        * if dr_mode = "otg")
+        */
+       dr_mode = "host";
+       status = "okay";
+};
+
+/* Colibri USBH */
+&usbotg2 {
+       dr_mode = "host";
+       vbus-supply = <&reg_usbh_vbus>;
+       status = "okay";
 };
index 4eb86fb011e52694533e9b0251f4eaca8f44ac67..5f12a2ac2a3be9ea7fdae48e5b6370790f8043bc 100644 (file)
        chosen {
                stdout-path = &uart1;
        };
+
+       aliases {
+               usb0 = &usbotg1; /* required for ums */
+       };
+
+       reg_5v0: regulator-5v0 {
+               compatible = "regulator-fixed";
+               regulator-name = "5V";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+       };
+
+       reg_usbh_vbus: regulator-usbh-vbus {
+               compatible = "regulator-fixed";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_usbh_reg>;
+               regulator-name = "VCC_USB[1-4]";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               gpio = <&gpio4 7 GPIO_ACTIVE_LOW>;
+               vin-supply = <&reg_5v0>;
+       };
 };
 
 &gpmi {
                        MX7D_PAD_SD3_DATA7__NAND_DATA07         0x71
                >;
        };
+
+       pinctrl_usbh_reg: gpio-usbh-vbus {
+               fsl,pins = <
+                       MX7D_PAD_UART3_CTS_B__GPIO4_IO7 0x14
+               >;
+       };
+};
+
+/* Colibri USBC */
+&usbotg1 {
+       /*
+        * usbotg1 on Colibri iMX7 can function in both host/otg modes.
+        * Gadget stack currently does not look at this at all while
+        * the host stack refuses to bind/load if it is not set to host
+        * (it obviously won't be enumerated during usb start invocation
+        * if dr_mode = "otg")
+        */
+       dr_mode = "host";
+       status = "okay";
+};
+
+/* Colibri USBH */
+&usbotg2 {
+       dr_mode = "host";
+       vbus-supply = <&reg_usbh_vbus>;
+       status = "okay";
 };
index 1b1b2c06f62dbd743f84da175dac32040446ba28..5b0d09156956c037c33a1ecd3d743467f5941c79 100644 (file)
@@ -64,6 +64,7 @@ CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX7=y
 CONFIG_DM_PMIC=y
 CONFIG_PMIC_RN5T567=y
+CONFIG_DM_USB=y
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_GADGET=y
index 5bb2b7835dbef6ff426ed4192dcc8f9af02e2d8a..01c8d9f3dc9583851c5b9b27bad57009a223285b 100644 (file)
@@ -67,3 +67,4 @@ CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_VIDEO=y
 CONFIG_FAT_WRITE=y
 CONFIG_OF_LIBFDT_OVERLAY=y
+CONFIG_DM_USB=y