[PATCH 0/3] imx93-phyboard-segin: Add USB support.

Hello,
This series adds USB support to imx93-phyboard-segin, in the same way as it has been done for imx93_var_som here:
https://lists.denx.de/pipermail/u-boot/2024-February/546301.html
Thanks,
Mathieu
Mathieu Othacehe (3): arm: dts: imx93-phyboard-segin: Add USB support. configs: imx93-phyboard-segin: Add USB support. configs: imx93-phyboard-segin: Add fastboot support.
arch/arm/dts/imx93-phyboard-segin.dts | 13 +++++++++++++ configs/imx93-phyboard-segin_defconfig | 14 ++++++++++++++ 2 files changed, 27 insertions(+)

Enable both usbotg1 and usbotg2 ports.
Signed-off-by: Mathieu Othacehe othacehe@gnu.org --- arch/arm/dts/imx93-phyboard-segin.dts | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/arch/arm/dts/imx93-phyboard-segin.dts b/arch/arm/dts/imx93-phyboard-segin.dts index 85fb188b057..acf307a3192 100644 --- a/arch/arm/dts/imx93-phyboard-segin.dts +++ b/arch/arm/dts/imx93-phyboard-segin.dts @@ -40,6 +40,19 @@ status = "okay"; };
+/* USB */ +&usbotg1 { + disable-over-current; + dr_mode = "otg"; + status = "okay"; +}; + +&usbotg2 { + disable-over-current; + dr_mode = "host"; + status = "okay"; +}; + /* eMMC */ &usdhc1 { no-1-8-v;

On 3/18/24 6:16 PM, Mathieu Othacehe wrote:
Enable both usbotg1 and usbotg2 ports.
Drop fullstop from $subject end.
Signed-off-by: Mathieu Othacehe othacehe@gnu.org
arch/arm/dts/imx93-phyboard-segin.dts | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/arch/arm/dts/imx93-phyboard-segin.dts b/arch/arm/dts/imx93-phyboard-segin.dts index 85fb188b057..acf307a3192 100644 --- a/arch/arm/dts/imx93-phyboard-segin.dts +++ b/arch/arm/dts/imx93-phyboard-segin.dts @@ -40,6 +40,19 @@ status = "okay"; };
+/* USB */ +&usbotg1 {
- disable-over-current;
Why is this needed ?

Hi Marek,
On 18. 03. 24 22:48, Marek Vasut wrote:
On 3/18/24 6:16 PM, Mathieu Othacehe wrote:
Enable both usbotg1 and usbotg2 ports.
Drop fullstop from $subject end.
Signed-off-by: Mathieu Othacehe othacehe@gnu.org
arch/arm/dts/imx93-phyboard-segin.dts | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/arch/arm/dts/imx93-phyboard-segin.dts b/arch/arm/dts/imx93-phyboard-segin.dts index 85fb188b057..acf307a3192 100644 --- a/arch/arm/dts/imx93-phyboard-segin.dts +++ b/arch/arm/dts/imx93-phyboard-segin.dts @@ -40,6 +40,19 @@ status = "okay"; }; +/* USB */ +&usbotg1 { + disable-over-current;
Why is this needed ?
OC pins are not connected to the SoC thus disable OC to avoid warnings (c/p from kernel dts).
BR, Primoz

On 3/19/24 9:26 AM, Primoz Fiser wrote:
Hi Marek,
On 18. 03. 24 22:48, Marek Vasut wrote:
On 3/18/24 6:16 PM, Mathieu Othacehe wrote:
Enable both usbotg1 and usbotg2 ports.
Drop fullstop from $subject end.
Signed-off-by: Mathieu Othacehe othacehe@gnu.org
arch/arm/dts/imx93-phyboard-segin.dts | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/arch/arm/dts/imx93-phyboard-segin.dts b/arch/arm/dts/imx93-phyboard-segin.dts index 85fb188b057..acf307a3192 100644 --- a/arch/arm/dts/imx93-phyboard-segin.dts +++ b/arch/arm/dts/imx93-phyboard-segin.dts @@ -40,6 +40,19 @@ status = "okay"; }; +/* USB */ +&usbotg1 { + disable-over-current;
Why is this needed ?
OC pins are not connected to the SoC thus disable OC to avoid warnings (c/p from kernel dts).
Please add it to the commit message for posterity, thanks.

Enable the `usb` command and some USB drivers.
Signed-off-by: Mathieu Othacehe othacehe@gnu.org --- configs/imx93-phyboard-segin_defconfig | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/configs/imx93-phyboard-segin_defconfig b/configs/imx93-phyboard-segin_defconfig index 24f9bd553aa..5acb987b817 100644 --- a/configs/imx93-phyboard-segin_defconfig +++ b/configs/imx93-phyboard-segin_defconfig @@ -23,6 +23,7 @@ CONFIG_SPL_STACK=0x20519dd0 CONFIG_SPL=y CONFIG_ENV_OFFSET_REDUND=0x720000 CONFIG_CMD_DEKBLOB=y +CONFIG_CMD_USB=y CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x88000000 CONFIG_SYS_LOAD_ADDR=0x80400000 CONFIG_SYS_MEMTEST_START=0x80000000 @@ -132,6 +133,13 @@ CONFIG_SPL_SYSRESET=y CONFIG_SYSRESET_WATCHDOG=y CONFIG_DM_THERMAL=y CONFIG_IMX_TMU=y +CONFIG_USB=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_MANUFACTURER="FSL" +CONFIG_USB_GADGET_VENDOR_NUM=0x1fc9 +CONFIG_USB_GADGET_PRODUCT_NUM=0x0152 +CONFIG_CI_UDC=y CONFIG_ULP_WATCHDOG=y CONFIG_LZO=y CONFIG_BZIP2=y

On 3/18/24 6:16 PM, Mathieu Othacehe wrote:
Enable the `usb` command and some USB drivers.
Signed-off-by: Mathieu Othacehe othacehe@gnu.org
configs/imx93-phyboard-segin_defconfig | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/configs/imx93-phyboard-segin_defconfig b/configs/imx93-phyboard-segin_defconfig index 24f9bd553aa..5acb987b817 100644 --- a/configs/imx93-phyboard-segin_defconfig +++ b/configs/imx93-phyboard-segin_defconfig @@ -23,6 +23,7 @@ CONFIG_SPL_STACK=0x20519dd0 CONFIG_SPL=y CONFIG_ENV_OFFSET_REDUND=0x720000 CONFIG_CMD_DEKBLOB=y +CONFIG_CMD_USB=y CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x88000000 CONFIG_SYS_LOAD_ADDR=0x80400000 CONFIG_SYS_MEMTEST_START=0x80000000 @@ -132,6 +133,13 @@ CONFIG_SPL_SYSRESET=y CONFIG_SYSRESET_WATCHDOG=y CONFIG_DM_THERMAL=y CONFIG_IMX_TMU=y +CONFIG_USB=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_MANUFACTURER="FSL" +CONFIG_USB_GADGET_VENDOR_NUM=0x1fc9 +CONFIG_USB_GADGET_PRODUCT_NUM=0x0152
Shouldn't this by Phytec or similar USB IDs ?

Am 18.03.24 um 22:48 schrieb Marek Vasut:
On 3/18/24 6:16 PM, Mathieu Othacehe wrote:
Enable the `usb` command and some USB drivers.
Signed-off-by: Mathieu Othacehe othacehe@gnu.org
configs/imx93-phyboard-segin_defconfig | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/configs/imx93-phyboard-segin_defconfig b/configs/imx93-phyboard-segin_defconfig index 24f9bd553aa..5acb987b817 100644 --- a/configs/imx93-phyboard-segin_defconfig +++ b/configs/imx93-phyboard-segin_defconfig @@ -23,6 +23,7 @@ CONFIG_SPL_STACK=0x20519dd0 CONFIG_SPL=y CONFIG_ENV_OFFSET_REDUND=0x720000 CONFIG_CMD_DEKBLOB=y +CONFIG_CMD_USB=y CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x88000000 CONFIG_SYS_LOAD_ADDR=0x80400000 CONFIG_SYS_MEMTEST_START=0x80000000 @@ -132,6 +133,13 @@ CONFIG_SPL_SYSRESET=y CONFIG_SYSRESET_WATCHDOG=y CONFIG_DM_THERMAL=y CONFIG_IMX_TMU=y +CONFIG_USB=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_MANUFACTURER="FSL" +CONFIG_USB_GADGET_VENDOR_NUM=0x1fc9 +CONFIG_USB_GADGET_PRODUCT_NUM=0x0152
Shouldn't this by Phytec or similar USB IDs ?
AFAIK, PHYTEC does not have its own IDs registered yet. So the freescale IDs should be fine.

On 3/19/24 9:39 AM, Wadim Egorov wrote:
Am 18.03.24 um 22:48 schrieb Marek Vasut:
On 3/18/24 6:16 PM, Mathieu Othacehe wrote:
Enable the `usb` command and some USB drivers.
Signed-off-by: Mathieu Othacehe othacehe@gnu.org
configs/imx93-phyboard-segin_defconfig | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/configs/imx93-phyboard-segin_defconfig b/configs/imx93-phyboard-segin_defconfig index 24f9bd553aa..5acb987b817 100644 --- a/configs/imx93-phyboard-segin_defconfig +++ b/configs/imx93-phyboard-segin_defconfig @@ -23,6 +23,7 @@ CONFIG_SPL_STACK=0x20519dd0 CONFIG_SPL=y CONFIG_ENV_OFFSET_REDUND=0x720000 CONFIG_CMD_DEKBLOB=y +CONFIG_CMD_USB=y CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x88000000 CONFIG_SYS_LOAD_ADDR=0x80400000 CONFIG_SYS_MEMTEST_START=0x80000000 @@ -132,6 +133,13 @@ CONFIG_SPL_SYSRESET=y CONFIG_SYSRESET_WATCHDOG=y CONFIG_DM_THERMAL=y CONFIG_IMX_TMU=y +CONFIG_USB=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_MANUFACTURER="FSL" +CONFIG_USB_GADGET_VENDOR_NUM=0x1fc9 +CONFIG_USB_GADGET_PRODUCT_NUM=0x0152
Shouldn't this by Phytec or similar USB IDs ?
AFAIK, PHYTEC does not have its own IDs registered yet. So the freescale IDs should be fine.
Manufacturer can still be Phytec , can it not ?

Am 19.03.24 um 14:58 schrieb Marek Vasut:
On 3/19/24 9:39 AM, Wadim Egorov wrote:
Am 18.03.24 um 22:48 schrieb Marek Vasut:
On 3/18/24 6:16 PM, Mathieu Othacehe wrote:
Enable the `usb` command and some USB drivers.
Signed-off-by: Mathieu Othacehe othacehe@gnu.org
configs/imx93-phyboard-segin_defconfig | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/configs/imx93-phyboard-segin_defconfig b/configs/imx93-phyboard-segin_defconfig index 24f9bd553aa..5acb987b817 100644 --- a/configs/imx93-phyboard-segin_defconfig +++ b/configs/imx93-phyboard-segin_defconfig @@ -23,6 +23,7 @@ CONFIG_SPL_STACK=0x20519dd0 CONFIG_SPL=y CONFIG_ENV_OFFSET_REDUND=0x720000 CONFIG_CMD_DEKBLOB=y +CONFIG_CMD_USB=y CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x88000000 CONFIG_SYS_LOAD_ADDR=0x80400000 CONFIG_SYS_MEMTEST_START=0x80000000 @@ -132,6 +133,13 @@ CONFIG_SPL_SYSRESET=y CONFIG_SYSRESET_WATCHDOG=y CONFIG_DM_THERMAL=y CONFIG_IMX_TMU=y +CONFIG_USB=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_MANUFACTURER="FSL" +CONFIG_USB_GADGET_VENDOR_NUM=0x1fc9 +CONFIG_USB_GADGET_PRODUCT_NUM=0x0152
Shouldn't this by Phytec or similar USB IDs ?
AFAIK, PHYTEC does not have its own IDs registered yet. So the freescale IDs should be fine.
Manufacturer can still be Phytec , can it not ?
Yes, we can use PHYTEC for manufacturer.

Hi Mathieu,
On 18. 03. 24 18:16, Mathieu Othacehe wrote:
Enable the `usb` command and some USB drivers.
I would rephrase commit msg to something like this:
Add USB support by enabling `usb` command and required USB drivers.
Signed-off-by: Mathieu Othacehe othacehe@gnu.org
configs/imx93-phyboard-segin_defconfig | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/configs/imx93-phyboard-segin_defconfig b/configs/imx93-phyboard-segin_defconfig index 24f9bd553aa..5acb987b817 100644 --- a/configs/imx93-phyboard-segin_defconfig +++ b/configs/imx93-phyboard-segin_defconfig @@ -23,6 +23,7 @@ CONFIG_SPL_STACK=0x20519dd0 CONFIG_SPL=y CONFIG_ENV_OFFSET_REDUND=0x720000 CONFIG_CMD_DEKBLOB=y +CONFIG_CMD_USB=y
Can you run
$ make savedefconfig && cp defconfig configs/imx93-phyboard-segin_defconfig
to re-order CONFIG_CMD_USB please?
CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x88000000 CONFIG_SYS_LOAD_ADDR=0x80400000 CONFIG_SYS_MEMTEST_START=0x80000000 @@ -132,6 +133,13 @@ CONFIG_SPL_SYSRESET=y CONFIG_SYSRESET_WATCHDOG=y CONFIG_DM_THERMAL=y CONFIG_IMX_TMU=y +CONFIG_USB=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_MANUFACTURER="FSL" +CONFIG_USB_GADGET_VENDOR_NUM=0x1fc9 +CONFIG_USB_GADGET_PRODUCT_NUM=0x0152 +CONFIG_CI_UDC=y CONFIG_ULP_WATCHDOG=y CONFIG_LZO=y CONFIG_BZIP2=y

Enable the `fastboot` command.
Signed-off-by: Mathieu Othacehe othacehe@gnu.org --- configs/imx93-phyboard-segin_defconfig | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/configs/imx93-phyboard-segin_defconfig b/configs/imx93-phyboard-segin_defconfig index 5acb987b817..44ab6f7073b 100644 --- a/configs/imx93-phyboard-segin_defconfig +++ b/configs/imx93-phyboard-segin_defconfig @@ -94,6 +94,12 @@ CONFIG_SPL_CLK_IMX93=y CONFIG_CLK_IMX93=y CONFIG_DFU_MMC=y CONFIG_DFU_RAM=y +CONFIG_USB_FUNCTION_FASTBOOT=y +CONFIG_FASTBOOT_BUF_ADDR=0x82800000 +CONFIG_FASTBOOT_BUF_SIZE=0x20000000 +CONFIG_FASTBOOT_FLASH=y +CONFIG_FASTBOOT_UUU_SUPPORT=y +CONFIG_FASTBOOT_FLASH_MMC_DEV=0 CONFIG_GPIO_HOG=y CONFIG_IMX_RGPIO2P=y CONFIG_DM_I2C=y

On 3/18/24 6:16 PM, Mathieu Othacehe wrote:
Enable the `fastboot` command.
Signed-off-by: Mathieu Othacehe othacehe@gnu.org
Reviewed-by: Marek Vasut marex@denx.de
participants (4)
-
Marek Vasut
-
Mathieu Othacehe
-
Primoz Fiser
-
Wadim Egorov