[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