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

Marcel Ziswiler marcel.ziswiler at toradex.com
Fri Apr 12 11:26:28 UTC 2019


Hi Igor

Just some minor nitpicks below.

On Thu, 2019-04-11 at 16:55 +0200, Igor Opaniuk wrote:
> Migrate USB to Driver Model (CONFIG_DM_USB=y).
> 
> Signed-off-by: Igor Opaniuk <igor.opaniuk at toradex.com>

Tested-by: Marcel Ziswiler <marcel.ziswiler at toradex.com>

> ---
>  arch/arm/dts/imx7-colibri-emmc.dts    | 37 +++++++++++++++++++++++++
>  arch/arm/dts/imx7-colibri-rawnand.dts | 40
> +++++++++++++++++++++++++++
>  configs/colibri_imx7_defconfig        |  1 +
>  configs/colibri_imx7_emmc_defconfig   |  1 +
>  4 files changed, 79 insertions(+)
> 
> diff --git a/arch/arm/dts/imx7-colibri-emmc.dts b/arch/arm/dts/imx7-
> colibri-emmc.dts
> index efd600091d..a9f272a65e 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,22 @@
>  			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";
> +	vbus-supply = <&reg_usbh_vbus>;

That is actually not quite correct for Colibri. On Colibri the turning
on of the USB host power is actually done purely in hardware based on
the cable detect pin. You may also see this when looking at e.g. the
Colibri iMX6 device tree.

> +	status = "okay";
>  };
> diff --git a/arch/arm/dts/imx7-colibri-rawnand.dts
> b/arch/arm/dts/imx7-colibri-rawnand.dts
> index 4eb86fb011..e48e750a57 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,22 @@
>  			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";
> +	vbus-supply = <&reg_usbh_vbus>;

Also drop the above as previously mentioned.

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

Cheers

Marcel


More information about the U-Boot mailing list