[U-Boot] [PATCH v2 1/1] colibri_imx7: migrate usb to driver model
Igor Opaniuk
igor.opaniuk at toradex.com
Tue Apr 16 08:19:01 UTC 2019
As Max Krummenacher asked before, tested also Colibri iMX7S NAND
version, everything works fine (USB1 is reported as unavailable by the
driver):
USB0 can be still used in both host/OTG modes.
Colibri iMX7 # usb reset
resetting USB...
USB0: USB EHCI 1.00
USB1: Port not available.
scanning bus 0 for devices... 2 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
Colibri iMX7 # usb tree
USB device tree:
1 Hub (480 Mb/s, 0mA)
| u-boot EHCI Host Controller
|
+-2 Mass Storage (480 Mb/s, 500mA)
T1204020000702
Same for UMS:
Colibri iMX7 # ums 0 mmc 0
UMS: LUN 0, dev 0, hwpart 0, sector 0x0, count 0x1dacc00
USB EHCI 1.00
Tested-by: Igor Opaniuk <igor.opaniuk at toradex.com> (Colibri iMX7S)
On Mon, Apr 15, 2019 at 11:06 AM Igor Opaniuk <igor.opaniuk at toradex.com> wrote:
>
> Migrate USB to Driver Model (CONFIG_DM_USB=y).
>
> Tested-by: Marcel Ziswiler <marcel.ziswiler at toradex.com>
> Signed-off-by: Igor Opaniuk <igor.opaniuk at toradex.com>
> ---
>
> v2:
> - Drop vbus-supply property for usbotg1 node, as on Colibri the turning
> on of the USB host power is actually done purely in hardware based on
> the cable detect pin
>
> arch/arm/dts/imx7-colibri-emmc.dts | 36 +++++++++++++++++++++++++
> arch/arm/dts/imx7-colibri-rawnand.dts | 39 +++++++++++++++++++++++++++
> configs/colibri_imx7_defconfig | 1 +
> configs/colibri_imx7_emmc_defconfig | 1 +
> 4 files changed, 77 insertions(+)
>
> diff --git a/arch/arm/dts/imx7-colibri-emmc.dts b/arch/arm/dts/imx7-colibri-emmc.dts
> index efd600091d..371c680025 100644
> --- a/arch/arm/dts/imx7-colibri-emmc.dts
> +++ b/arch/arm/dts/imx7-colibri-emmc.dts
> @@ -13,11 +13,30 @@
> 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 = <®_5v0>;
> + };
> };
>
> &usdhc3 {
> @@ -44,4 +63,21 @@
> MX7D_PAD_SD3_STROBE__SD3_STROBE 0x19
> >;
> };
> +
> + pinctrl_usbh_reg: gpio-usbh-vbus {
> + fsl,pins = <
> + MX7D_PAD_UART3_CTS_B__GPIO4_IO7 0x14
> + >;
> + };
> +};
> +
> +&usbotg2 {
> + dr_mode = "host";
> + vbus-supply = <®_usbh_vbus>;
> + status = "okay";
> +};
> +
> +&usbotg1 {
> + dr_mode = "host";
> + status = "okay";
> };
> diff --git a/arch/arm/dts/imx7-colibri-rawnand.dts b/arch/arm/dts/imx7-colibri-rawnand.dts
> index 4eb86fb011..69a9c6a914 100644
> --- a/arch/arm/dts/imx7-colibri-rawnand.dts
> +++ b/arch/arm/dts/imx7-colibri-rawnand.dts
> @@ -13,6 +13,28 @@
> 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 = <®_5v0>;
> + };
> };
>
> &gpmi {
> @@ -43,4 +65,21 @@
> MX7D_PAD_SD3_DATA7__NAND_DATA07 0x71
> >;
> };
> +
> + pinctrl_usbh_reg: gpio-usbh-vbus {
> + fsl,pins = <
> + MX7D_PAD_UART3_CTS_B__GPIO4_IO7 0x14
> + >;
> + };
> +};
> +
> +&usbotg2 {
> + dr_mode = "host";
> + vbus-supply = <®_usbh_vbus>;
> + status = "okay";
> +};
> +
> +&usbotg1 {
> + dr_mode = "host";
> + status = "okay";
> };
> diff --git a/configs/colibri_imx7_defconfig b/configs/colibri_imx7_defconfig
> index 7a52361a2a..43af825d5c 100644
> --- a/configs/colibri_imx7_defconfig
> +++ b/configs/colibri_imx7_defconfig
> @@ -62,6 +62,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
> diff --git a/configs/colibri_imx7_emmc_defconfig b/configs/colibri_imx7_emmc_defconfig
> index 5e2a204a88..beec2704c5 100644
> --- a/configs/colibri_imx7_emmc_defconfig
> +++ b/configs/colibri_imx7_emmc_defconfig
> @@ -64,3 +64,4 @@ CONFIG_USB_GADGET_DOWNLOAD=y
> CONFIG_VIDEO=y
> CONFIG_FAT_WRITE=y
> CONFIG_OF_LIBFDT_OVERLAY=y
> +CONFIG_DM_USB=y
> --
> 2.17.1
>
--
Best regards - Freundliche GrĂ¼sse - Meilleures salutations
Senior Development Engineer,
Igor Opaniuk
Toradex AG
Altsagenstrasse 5 | 6048 Horw/Luzern | Switzerland | T: +41 41 500 48
00 (main line)
More information about the U-Boot
mailing list