Message ID | 20231020152516.57338-1-andrejs.cainikovs@gmail.com |
---|---|
State | Accepted |
Delegated to: | Stefano Babic |
Headers | show |
Series | [v1] apalis-imx8: add USBH_EN gpio hog | expand |
On Fri, Oct 20, 2023 at 12:25 PM Andrejs Cainikovs <andrejs.cainikovs@gmail.com> wrote: > > From: Andrejs Cainikovs <andrejs.cainikovs@toradex.com> > > USB host interface is not working on some Apalis Toradex carrier > boards with Apalis iMX8 SoM. This is due to USBH_EN pin, which > powers USB peripherals, having a strong pull-down on some boards, > and a weak pull-down on the others. This USBH_EN pin is left > unconfigured, which means it is in its default state at cold boot: > input with a strong pull-up. As a result, carrier boards with a > weak pull-down have this signal high enough to trigger power > delivery to USB peripherals, and opposite - boards with strong > pull-down on USBH_EN have this signal below the threshold needed > to trigger USB power delivery. > This change configures the USBH_EN pin as gpio hog, fixing this > issue for all Apalis carrier boards regardless of pull-down > resistor value. > > Also, update apalis-imx8_defconfig via savedefconfig. > > Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
On Fri, Oct 20, 2023 at 12:25 PM Andrejs Cainikovs <andrejs.cainikovs@gmail.com> wrote: > > From: Andrejs Cainikovs <andrejs.cainikovs@toradex.com> > > USB host interface is not working on some Apalis Toradex carrier > boards with Apalis iMX8 SoM. This is due to USBH_EN pin, which > powers USB peripherals, having a strong pull-down on some boards, > and a weak pull-down on the others. This USBH_EN pin is left > unconfigured, which means it is in its default state at cold boot: > input with a strong pull-up. As a result, carrier boards with a > weak pull-down have this signal high enough to trigger power > delivery to USB peripherals, and opposite - boards with strong > pull-down on USBH_EN have this signal below the threshold needed > to trigger USB power delivery. > This change configures the USBH_EN pin as gpio hog, fixing this > issue for all Apalis carrier boards regardless of pull-down > resistor value. > > Also, update apalis-imx8_defconfig via savedefconfig. > > Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com> Applied, thanks.
diff --git a/arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi b/arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi index f2d6b183ed9..c54a59e89c5 100644 --- a/arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi +++ b/arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi @@ -93,6 +93,12 @@ &gpio4 { bootph-some-ram; + + usbh_en { + gpio-hog; + gpios = <4 GPIO_ACTIVE_HIGH>; + output-high; + }; }; &gpio5 { diff --git a/configs/apalis-imx8_defconfig b/configs/apalis-imx8_defconfig index b726ee351fa..340645bdded 100644 --- a/configs/apalis-imx8_defconfig +++ b/configs/apalis-imx8_defconfig @@ -21,9 +21,9 @@ CONFIG_SYS_MEMTEST_END=0x89000000 CONFIG_REMAKE_ELF=y CONFIG_FIT=y CONFIG_FIT_VERBOSE=y -CONFIG_OF_SYSTEM_SETUP=y CONFIG_DISTRO_DEFAULTS=y CONFIG_BOOTDELAY=1 +CONFIG_OF_SYSTEM_SETUP=y CONFIG_USE_PREBOOT=y CONFIG_PREBOOT="test -n ${fdtfile} || setenv fdtfile ${soc}-apalis${variant}-${fdt_board}.dtb" CONFIG_LOG=y @@ -65,6 +65,7 @@ CONFIG_BOOTCOUNT_LIMIT=y CONFIG_BOOTCOUNT_ENV=y CONFIG_CLK_IMX8=y CONFIG_CPU=y +CONFIG_GPIO_HOG=y CONFIG_MXC_GPIO=y CONFIG_DM_I2C=y CONFIG_SYS_I2C_IMX_LPI2C=y