Message ID | 20231016002437.641898-1-festevam@gmail.com |
---|---|
State | Accepted |
Commit | b0eef7326920ff55ec22dfb86812033d84737839 |
Delegated to: | Stefano Babic |
Headers | show |
Series | [v4] imx8mp-evk: Add USB0 OTG support | expand |
> From: Fabio Estevam <festevam@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@denx.de> > Reviewed-by: Marek Vasut <marex@denx.de> Applied to u-boot-imx, master, thanks ! Best regards, Stefano Babic
On 10/16/2023 8:24 AM, Fabio Estevam wrote: > From: Fabio Estevam <festevam@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@denx.de> > Reviewed-by: Marek Vasut <marex@denx.de> Reviewed-by: Peng Fan <peng.fan@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
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