[U-Boot] [PATCH v3 1/1] colibri_imx7: migrate usb to driver model

Igor Opaniuk igor.opaniuk at toradex.com
Mon May 6 10:51:21 UTC 2019


On Wed, Apr 17, 2019 at 12:21 PM Igor Opaniuk <igor.opaniuk at toradex.com> wrote:
>
> Migrate USB to Driver Model (CONFIG_DM_USB=y).
>
> Acked-by: Marcel Ziswiler <marcel.ziswiler at toradex.com>
> Tested-by: Marcel Ziswiler <marcel.ziswiler at toradex.com>
> Signed-off-by: Igor Opaniuk <igor.opaniuk at toradex.com>
> ---
>
> v3:
> - re-order usb nodes and add additional comments, as suggested by Marcel
>
> 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    | 38 +++++++++++++++++++++++++
>  arch/arm/dts/imx7-colibri-rawnand.dts | 41 +++++++++++++++++++++++++++
>  configs/colibri_imx7_defconfig        |  1 +
>  configs/colibri_imx7_emmc_defconfig   |  1 +
>  4 files changed, 81 insertions(+)
>
> diff --git a/arch/arm/dts/imx7-colibri-emmc.dts b/arch/arm/dts/imx7-colibri-emmc.dts
> index efd600091d..8265d6ff15 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,23 @@
>                         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 {
> +       dr_mode = "host";
> +       status = "okay";
> +};
> +
> +/* Colibri USBH */
> +&usbotg2 {
> +       dr_mode = "host";
> +       vbus-supply = <&reg_usbh_vbus>;
> +       status = "okay";
>  };
> diff --git a/arch/arm/dts/imx7-colibri-rawnand.dts b/arch/arm/dts/imx7-colibri-rawnand.dts
> index 4eb86fb011..b8d798765f 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,23 @@
>                         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 */t
> +&usbotg1 {
> +       dr_mode = "host";
> +       status = "okay";
> +};
> +
> +/* Colibri USBH */
> +&usbotg2 {
> +       dr_mode = "host";
> +       vbus-supply = <&reg_usbh_vbus>;
> +       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
>

Hi Stefano,

All comments/issues were addressed (I've added both Acked-by and
Reviewed-by tags from Marcel) in v3, is there any objections from your
side regarding applying this patch?

Thanks

-- 
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