[PATCH v4] imx8mp-evk: Add USB0 OTG support

Peng Fan peng.fan at oss.nxp.com
Thu Oct 19 12:28:16 CEST 2023



On 10/16/2023 8:24 AM, Fabio Estevam wrote:
> From: Fabio Estevam <festevam at denx.de>
> 
> Add USB0 OTG support.
> 
> Currently, the USB0 OTG nodes are not enabled in the Linux kernel
> devicetree.
> 
> For this reason, enable the USB0 OTG nodes inside imx8mp-evk-u-boot.dtsi
> for now.
> 
> Also select several useful options such as USB gadget and fastboot.
> 
> Tested by running "ums 0 mmc 2".
> 
> Signed-off-by: Fabio Estevam <festevam at denx.de>
> Reviewed-by: Marek Vasut <marex at denx.de>

Reviewed-by: Peng Fan <peng.fan at nxp.com>

> ---
> Changes since v3:
> - Fixed the alphabetical order once again.
> 
>   arch/arm/dts/imx8mp-evk-u-boot.dtsi | 13 ++++++++++++
>   configs/imx8mp_evk_defconfig        | 31 +++++++++++++++++++++++++++++
>   2 files changed, 44 insertions(+)
> 
> diff --git a/arch/arm/dts/imx8mp-evk-u-boot.dtsi b/arch/arm/dts/imx8mp-evk-u-boot.dtsi
> index 6784ed2e7c92..f4fd2432ca8f 100644
> --- a/arch/arm/dts/imx8mp-evk-u-boot.dtsi
> +++ b/arch/arm/dts/imx8mp-evk-u-boot.dtsi
> @@ -111,6 +111,19 @@
>   	bootph-pre-ram;
>   };
>   
> +&usb_dwc3_0 {
> +	dr_mode = "peripheral";
> +	status = "okay";
> +};
> +
> +&usb3_0 {
> +	status = "okay";
> +};
> +
> +&usb3_phy0 {
> +	status = "okay";
> +};
> +
>   &usdhc1 {
>   	bootph-pre-ram;
>   };
> diff --git a/configs/imx8mp_evk_defconfig b/configs/imx8mp_evk_defconfig
> index 14c749f44308..820dc36e9cdd 100644
> --- a/configs/imx8mp_evk_defconfig
> +++ b/configs/imx8mp_evk_defconfig
> @@ -59,6 +59,9 @@ CONFIG_CMD_FUSE=y
>   CONFIG_CMD_GPIO=y
>   CONFIG_CMD_I2C=y
>   CONFIG_CMD_MMC=y
> +CONFIG_CMD_USB=y
> +CONFIG_CMD_USB_SDP=y
> +CONFIG_CMD_USB_MASS_STORAGE=y
>   CONFIG_CMD_CACHE=y
>   CONFIG_CMD_REGULATOR=y
>   CONFIG_CMD_EXT4_WRITE=y
> @@ -74,6 +77,14 @@ CONFIG_ETHPRIME="eth1"
>   CONFIG_SPL_DM=y
>   CONFIG_CLK_COMPOSITE_CCF=y
>   CONFIG_CLK_IMX8MP=y
> +CONFIG_USB_FUNCTION_FASTBOOT=y
> +CONFIG_FASTBOOT_BUF_ADDR=0x42800000
> +CONFIG_FASTBOOT_BUF_SIZE=0x20000000
> +CONFIG_FASTBOOT_FLASH=y
> +CONFIG_FASTBOOT_UUU_SUPPORT=y
> +CONFIG_FASTBOOT_FLASH_MMC_DEV=2
> +CONFIG_FASTBOOT_MMC_BOOT_SUPPORT=y
> +CONFIG_FASTBOOT_MMC_USER_SUPPORT=y
>   CONFIG_MXC_GPIO=y
>   CONFIG_DM_PCA953X=y
>   CONFIG_DM_I2C=y
> @@ -94,10 +105,15 @@ CONFIG_DWC_ETH_QOS=y
>   CONFIG_DWC_ETH_QOS_IMX=y
>   CONFIG_FEC_MXC=y
>   CONFIG_MII=y
> +CONFIG_PHY=y
> +CONFIG_PHY_IMX8MQ_USB=y
>   CONFIG_PINCTRL=y
>   CONFIG_SPL_PINCTRL=y
>   CONFIG_PINCTRL_IMX8M=y
>   CONFIG_SPL_POWER_LEGACY=y
> +CONFIG_POWER_DOMAIN=y
> +CONFIG_IMX8M_POWER_DOMAIN=y
> +CONFIG_IMX8MP_HSIOMIX_BLKCTRL=y
>   CONFIG_POWER_PCA9450=y
>   CONFIG_DM_REGULATOR=y
>   CONFIG_DM_REGULATOR_FIXED=y
> @@ -109,4 +125,19 @@ CONFIG_SYSRESET=y
>   CONFIG_SPL_SYSRESET=y
>   CONFIG_SYSRESET_PSCI=y
>   CONFIG_SYSRESET_WATCHDOG=y
> +CONFIG_USB=y
> +# CONFIG_SPL_DM_USB is not set
> +CONFIG_DM_USB_GADGET=y
> +CONFIG_USB_XHCI_HCD=y
> +CONFIG_USB_XHCI_DWC3=y
> +CONFIG_USB_XHCI_DWC3_OF_SIMPLE=y
> +CONFIG_USB_EHCI_HCD=y
> +# CONFIG_USB_EHCI_MX7 is not set
> +CONFIG_USB_DWC3=y
> +CONFIG_USB_DWC3_GENERIC=y
> +CONFIG_USB_GADGET=y
> +CONFIG_USB_GADGET_MANUFACTURER="FSL"
> +CONFIG_USB_GADGET_VENDOR_NUM=0x0525
> +CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
> +CONFIG_SDP_LOADADDR=0x0
>   CONFIG_IMX_WATCHDOG=y


More information about the U-Boot mailing list