[U-Boot] [PATCH v2 1/1] colibri_imx7: migrate usb to driver model
Marcel Ziswiler
marcel at ziswiler.com
Wed Apr 17 06:05:35 UTC 2019
Perfect, thanks Igor.
The most minor little nitpick: I would order otg1, otg2 and maybe add some comment about what exact USB ports in the Colibri pin muxing each of those actually is. With that:
Acked-by: Marcel Ziswiler <marcel.ziswiler at toradex.com>
On April 16, 2019 10:19:01 AM GMT+02:00, Igor Opaniuk <igor.opaniuk at toradex.com> wrote:
>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)
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
More information about the U-Boot
mailing list