From mboxrd@z Thu Jan 1 00:00:00 1970 From: Igor Opaniuk Date: Tue, 16 Apr 2019 08:19:01 +0000 Subject: [U-Boot] [PATCH v2 1/1] colibri_imx7: migrate usb to driver model In-Reply-To: <20190415090655.12156-1-igor.opaniuk@toradex.com> References: <20190415090655.12156-1-igor.opaniuk@toradex.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable To: u-boot@lists.denx.de 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 (Colibri iMX7S) On Mon, Apr 15, 2019 at 11:06 AM Igor Opaniuk wr= ote: > > Migrate USB to Driver Model (CONFIG_DM_USB=3Dy). > > Tested-by: Marcel Ziswiler > Signed-off-by: Igor Opaniuk > --- > > 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-colib= ri-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 =3D &usdhc3; > mmc1 =3D &usdhc1; > + usb0 =3D &usbotg1; /* required for ums */ > }; > > chosen { > stdout-path =3D &uart1; > }; > + > + reg_5v0: regulator-5v0 { > + compatible =3D "regulator-fixed"; > + regulator-name =3D "5V"; > + regulator-min-microvolt =3D <5000000>; > + regulator-max-microvolt =3D <5000000>; > + }; > + > + reg_usbh_vbus: regulator-usbh-vbus { > + compatible =3D "regulator-fixed"; > + pinctrl-names =3D "default"; > + pinctrl-0 =3D <&pinctrl_usbh_reg>; > + regulator-name =3D "VCC_USB[1-4]"; > + regulator-min-microvolt =3D <5000000>; > + regulator-max-microvolt =3D <5000000>; > + gpio =3D <&gpio4 7 GPIO_ACTIVE_LOW>; > + vin-supply =3D <®_5v0>; > + }; > }; > > &usdhc3 { > @@ -44,4 +63,21 @@ > MX7D_PAD_SD3_STROBE__SD3_STROBE 0x19 > >; > }; > + > + pinctrl_usbh_reg: gpio-usbh-vbus { > + fsl,pins =3D < > + MX7D_PAD_UART3_CTS_B__GPIO4_IO7 0x14 > + >; > + }; > +}; > + > +&usbotg2 { > + dr_mode =3D "host"; > + vbus-supply =3D <®_usbh_vbus>; > + status =3D "okay"; > +}; > + > +&usbotg1 { > + dr_mode =3D "host"; > + status =3D "okay"; > }; > diff --git a/arch/arm/dts/imx7-colibri-rawnand.dts b/arch/arm/dts/imx7-co= libri-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 =3D &uart1; > }; > + > + aliases { > + usb0 =3D &usbotg1; /* required for ums */ > + }; > + > + reg_5v0: regulator-5v0 { > + compatible =3D "regulator-fixed"; > + regulator-name =3D "5V"; > + regulator-min-microvolt =3D <5000000>; > + regulator-max-microvolt =3D <5000000>; > + }; > + > + reg_usbh_vbus: regulator-usbh-vbus { > + compatible =3D "regulator-fixed"; > + pinctrl-names =3D "default"; > + pinctrl-0 =3D <&pinctrl_usbh_reg>; > + regulator-name =3D "VCC_USB[1-4]"; > + regulator-min-microvolt =3D <5000000>; > + regulator-max-microvolt =3D <5000000>; > + gpio =3D <&gpio4 7 GPIO_ACTIVE_LOW>; > + vin-supply =3D <®_5v0>; > + }; > }; > > &gpmi { > @@ -43,4 +65,21 @@ > MX7D_PAD_SD3_DATA7__NAND_DATA07 0x71 > >; > }; > + > + pinctrl_usbh_reg: gpio-usbh-vbus { > + fsl,pins =3D < > + MX7D_PAD_UART3_CTS_B__GPIO4_IO7 0x14 > + >; > + }; > +}; > + > +&usbotg2 { > + dr_mode =3D "host"; > + vbus-supply =3D <®_usbh_vbus>; > + status =3D "okay"; > +}; > + > +&usbotg1 { > + dr_mode =3D "host"; > + status =3D "okay"; > }; > diff --git a/configs/colibri_imx7_defconfig b/configs/colibri_imx7_defcon= fig > index 7a52361a2a..43af825d5c 100644 > --- a/configs/colibri_imx7_defconfig > +++ b/configs/colibri_imx7_defconfig > @@ -62,6 +62,7 @@ CONFIG_PINCTRL=3Dy > CONFIG_PINCTRL_IMX7=3Dy > CONFIG_DM_PMIC=3Dy > CONFIG_PMIC_RN5T567=3Dy > +CONFIG_DM_USB=3Dy > CONFIG_USB=3Dy > CONFIG_USB_EHCI_HCD=3Dy > CONFIG_USB_GADGET=3Dy > diff --git a/configs/colibri_imx7_emmc_defconfig b/configs/colibri_imx7_e= mmc_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=3Dy > CONFIG_VIDEO=3Dy > CONFIG_FAT_WRITE=3Dy > CONFIG_OF_LIBFDT_OVERLAY=3Dy > +CONFIG_DM_USB=3Dy > -- > 2.17.1 > --=20 Best regards - Freundliche Gr=C3=BCsse - Meilleures salutations Senior Development Engineer, Igor Opaniuk Toradex AG Altsagenstrasse 5 | 6048 Horw/Luzern | Switzerland | T: +41 41 500 48 00 (main line)