All of lore.kernel.org
 help / color / mirror / Atom feed
From: Igor Opaniuk <igor.opaniuk@toradex.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 1/1] colibri_imx7: migrate usb to driver model
Date: Tue, 16 Apr 2019 08:19:01 +0000	[thread overview]
Message-ID: <CAByghJZ_JFgeL8aCHFDY-CBt-Z0Yngv2NsHEwo_yFW5nH+9vdA@mail.gmail.com> (raw)
In-Reply-To: <20190415090655.12156-1-igor.opaniuk@toradex.com>

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@toradex.com> (Colibri iMX7S)

On Mon, Apr 15, 2019 at 11:06 AM Igor Opaniuk <igor.opaniuk@toradex.com> wrote:
>
> Migrate USB to Driver Model (CONFIG_DM_USB=y).
>
> Tested-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> Signed-off-by: Igor Opaniuk <igor.opaniuk@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 = <&reg_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 = <&reg_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 = <&reg_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 = <&reg_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)

  reply	other threads:[~2019-04-16  8:19 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-15  9:06 [U-Boot] [PATCH v2 1/1] colibri_imx7: migrate usb to driver model Igor Opaniuk
2019-04-16  8:19 ` Igor Opaniuk [this message]
2019-04-17  6:05   ` Marcel Ziswiler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAByghJZ_JFgeL8aCHFDY-CBt-Z0Yngv2NsHEwo_yFW5nH+9vdA@mail.gmail.com \
    --to=igor.opaniuk@toradex.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.