All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 1/2] imx8mn_ddr4_evk: Add USB Mass Storage support
@ 2022-04-21 18:05 Fabio Estevam
  2022-04-21 18:05 ` [PATCH v3 2/2] imx8mn/8mp: Allow booting via USB Fabio Estevam
  2022-05-20 13:41 ` [PATCH v3 1/2] imx8mn_ddr4_evk: Add USB Mass Storage support sbabic
  0 siblings, 2 replies; 9+ messages in thread
From: Fabio Estevam @ 2022-04-21 18:05 UTC (permalink / raw)
  To: sbabic; +Cc: peng.fan, u-boot, aford173, michael, marex, Fabio Estevam

From: Fabio Estevam <festevam@denx.de>

Add USB Mass Storage support, which is a convenient way to flash
the eMMC card, for example.

Signed-off-by: Fabio Estevam <festevam@denx.de>
---
Changes since v2:
- None

 configs/imx8mn_ddr4_evk_defconfig | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/configs/imx8mn_ddr4_evk_defconfig b/configs/imx8mn_ddr4_evk_defconfig
index 917cdb5aa9d9..065f7392b706 100644
--- a/configs/imx8mn_ddr4_evk_defconfig
+++ b/configs/imx8mn_ddr4_evk_defconfig
@@ -42,6 +42,8 @@ CONFIG_CMD_FUSE=y
 CONFIG_CMD_GPIO=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_USB=y
+CONFIG_CMD_USB_MASS_STORAGE=y
 CONFIG_CMD_CACHE=y
 CONFIG_CMD_REGULATOR=y
 CONFIG_CMD_EXT4_WRITE=y
@@ -82,4 +84,14 @@ CONFIG_SPL_SYSRESET=y
 CONFIG_SYSRESET_PSCI=y
 CONFIG_SYSRESET_WATCHDOG=y
 CONFIG_DM_THERMAL=y
+CONFIG_USB=y
+# CONFIG_SPL_DM_USB is not set
+CONFIG_USB_EHCI_HCD=y
+CONFIG_MXC_USB_OTG_HACTIVE=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_MANUFACTURER="FSL"
+CONFIG_USB_GADGET_VENDOR_NUM=0x0525
+CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
+CONFIG_CI_UDC=y
+CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_IMX_WATCHDOG=y
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v3 2/2] imx8mn/8mp: Allow booting via USB
  2022-04-21 18:05 [PATCH v3 1/2] imx8mn_ddr4_evk: Add USB Mass Storage support Fabio Estevam
@ 2022-04-21 18:05 ` Fabio Estevam
  2022-04-25 19:41   ` Tim Harvey
  2022-05-20 13:44   ` sbabic
  2022-05-20 13:41 ` [PATCH v3 1/2] imx8mn_ddr4_evk: Add USB Mass Storage support sbabic
  1 sibling, 2 replies; 9+ messages in thread
From: Fabio Estevam @ 2022-04-21 18:05 UTC (permalink / raw)
  To: sbabic; +Cc: peng.fan, u-boot, aford173, michael, marex, Fabio Estevam

From: Fabio Estevam <festevam@denx.de>

When trying to boot via USB on i.MX8MN it is necessary to specify
the U-Boot environment location, otherwise the boot process simply
hangs.

Specify the environment location when booting from USB.

Tested on a imx8mn-evk.

Suggested-by: Michael Nazzareno Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Fabio Estevam <festevam@denx.de>
---
Changes since v2:
- Handle explicitly the CONFIG_ENV_IS_NOWHERE case and return
ENVL_UNKNOWN as fallback (Marek).

 arch/arm/mach-imx/imx8m/soc.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/arch/arm/mach-imx/imx8m/soc.c b/arch/arm/mach-imx/imx8m/soc.c
index 7059d87e336b..34a07b53e57a 100644
--- a/arch/arm/mach-imx/imx8m/soc.c
+++ b/arch/arm/mach-imx/imx8m/soc.c
@@ -1536,6 +1536,16 @@ enum env_location arch_env_get_location(enum env_operation op, int prio)
 		return ENVL_UNKNOWN;
 
 	switch (dev) {
+	case USB_BOOT:
+		if (IS_ENABLED(CONFIG_ENV_IS_IN_SPI_FLASH))
+			return ENVL_SPI_FLASH;
+		if (IS_ENABLED(CONFIG_ENV_IS_IN_NAND))
+			return ENVL_NAND;
+		if (IS_ENABLED(CONFIG_ENV_IS_IN_MMC))
+			return ENVL_MMC;
+		if (IS_ENABLED(CONFIG_ENV_IS_NOWHERE))
+			return ENVL_NOWHERE;
+		return ENVL_UNKNOWN;
 	case QSPI_BOOT:
 	case SPI_NOR_BOOT:
 		if (IS_ENABLED(CONFIG_ENV_IS_IN_SPI_FLASH))
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH v3 2/2] imx8mn/8mp: Allow booting via USB
  2022-04-21 18:05 ` [PATCH v3 2/2] imx8mn/8mp: Allow booting via USB Fabio Estevam
@ 2022-04-25 19:41   ` Tim Harvey
  2022-04-25 22:47     ` Fabio Estevam
  2022-05-20 13:44   ` sbabic
  1 sibling, 1 reply; 9+ messages in thread
From: Tim Harvey @ 2022-04-25 19:41 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: Stefano Babic, Peng Fan, u-boot, Adam Ford,
	Michael Nazzareno Trimarchi, Marek Vasut, Fabio Estevam

On Thu, Apr 21, 2022 at 11:06 AM Fabio Estevam <festevam@gmail.com> wrote:
>
> From: Fabio Estevam <festevam@denx.de>
>
> When trying to boot via USB on i.MX8MN it is necessary to specify
> the U-Boot environment location, otherwise the boot process simply
> hangs.
>
> Specify the environment location when booting from USB.
>
> Tested on a imx8mn-evk.
>
> Suggested-by: Michael Nazzareno Trimarchi <michael@amarulasolutions.com>
> Signed-off-by: Fabio Estevam <festevam@denx.de>
> ---
> Changes since v2:
> - Handle explicitly the CONFIG_ENV_IS_NOWHERE case and return
> ENVL_UNKNOWN as fallback (Marek).
>
>  arch/arm/mach-imx/imx8m/soc.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/arch/arm/mach-imx/imx8m/soc.c b/arch/arm/mach-imx/imx8m/soc.c
> index 7059d87e336b..34a07b53e57a 100644
> --- a/arch/arm/mach-imx/imx8m/soc.c
> +++ b/arch/arm/mach-imx/imx8m/soc.c
> @@ -1536,6 +1536,16 @@ enum env_location arch_env_get_location(enum env_operation op, int prio)
>                 return ENVL_UNKNOWN;
>
>         switch (dev) {
> +       case USB_BOOT:
> +               if (IS_ENABLED(CONFIG_ENV_IS_IN_SPI_FLASH))
> +                       return ENVL_SPI_FLASH;
> +               if (IS_ENABLED(CONFIG_ENV_IS_IN_NAND))
> +                       return ENVL_NAND;
> +               if (IS_ENABLED(CONFIG_ENV_IS_IN_MMC))
> +                       return ENVL_MMC;
> +               if (IS_ENABLED(CONFIG_ENV_IS_NOWHERE))
> +                       return ENVL_NOWHERE;
> +               return ENVL_UNKNOWN;
>         case QSPI_BOOT:
>         case SPI_NOR_BOOT:
>                 if (IS_ENABLED(CONFIG_ENV_IS_IN_SPI_FLASH))
> --
> 2.25.1
>

Fabio,

Thanks - this at least allows me to boot on imx8mp-venice-gw74xx
without needing to enable CONFIG_ENV_IS_NOWHERE.

I do however notice when I do so env is attempted to load from MMC dev
0 (CONFIG_ENV_IS_IN_MMC=y) - what controls the device number in this
case as for this board, the emmc is dev 2.

U-Boot SPL 2022.04-00073-g9d2b56e8338a (Apr 25 2022 - 12:35:37 -0700)
DRAM    : LPDDR4 4 GiB
WDT:   Started watchdog@30280000 with servicing (60s timeout)
Trying to boot from BOOTROM
Find img info 0x48025c00, size 1396
Need continue download 1024
DTB     : imx8mp-venice-gw74xx
Download 873624, Total size 875672
NOTICE:  BL31: v2.4(release):f884ad7b0ba2
NOTICE:  BL31: Built : 14:00:19, Mar 17 2022


U-Boot 2022.04-00073-g9d2b56e8338a (Apr 25 2022 - 12:35:37 -0700)

CPU:   Freescale i.MX8MP[8] rev1.1 1600 MHz (running at 1200 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 46C
Reset cause: POR
Model: Gateworks Venice GW74xx i.MX8MP board
DRAM:  4 GiB
clk_register: failed to get osc_32k device (parent of usb_root_clk)
Core:  211 devices, 24 uclasses, devicetree: separate
WDT:   Started watchdog@30280000 with servicing (60s timeout)
MMC:   FSL_SDHC: 2
Loading Environment from MMC... MMC Device 0 not found
*** Warning - No MMC card found, using default environment

In:    serial@30890000
Out:   serial@30890000
Err:   serial@30890000
Net:   KSZ9897S: eth2: lan1, eth3: lan2, eth4: lan3, eth5: lan4, eth6:
lan5, eth1: ethernet@30be0000, eth0: ethernet@30bf0000

Best Regards,

Tim

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v3 2/2] imx8mn/8mp: Allow booting via USB
  2022-04-25 19:41   ` Tim Harvey
@ 2022-04-25 22:47     ` Fabio Estevam
  2022-04-25 23:15       ` Tim Harvey
  0 siblings, 1 reply; 9+ messages in thread
From: Fabio Estevam @ 2022-04-25 22:47 UTC (permalink / raw)
  To: Tim Harvey
  Cc: Fabio Estevam, Stefano Babic, Peng Fan, u-boot, Adam Ford,
	Michael Nazzareno Trimarchi, Marek Vasut

Hi Tim,

On 25/04/2022 16:41, Tim Harvey wrote:

> Fabio,
> 
> Thanks - this at least allows me to boot on imx8mp-venice-gw74xx
> without needing to enable CONFIG_ENV_IS_NOWHERE.

Care to reply with your Tested-by?

> 
> I do however notice when I do so env is attempted to load from MMC dev
> 0 (CONFIG_ENV_IS_IN_MMC=y) - what controls the device number in this
> case as for this board, the emmc is dev 2.

That's a separate issue.

I see that you replied to Peng's patch:
"imx: dynamic setting mmcdev and mmcroot" and this is likely the cause
for your env numbering problem.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v3 2/2] imx8mn/8mp: Allow booting via USB
  2022-04-25 22:47     ` Fabio Estevam
@ 2022-04-25 23:15       ` Tim Harvey
  2022-04-26  1:57         ` Fabio Estevam
  0 siblings, 1 reply; 9+ messages in thread
From: Tim Harvey @ 2022-04-25 23:15 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: Fabio Estevam, Stefano Babic, Peng Fan, u-boot, Adam Ford,
	Michael Nazzareno Trimarchi, Marek Vasut

On Mon, Apr 25, 2022 at 3:47 PM Fabio Estevam <festevam@denx.de> wrote:
>
> Hi Tim,
>
> On 25/04/2022 16:41, Tim Harvey wrote:
>
> > Fabio,
> >
> > Thanks - this at least allows me to boot on imx8mp-venice-gw74xx
> > without needing to enable CONFIG_ENV_IS_NOWHERE.
>
> Care to reply with your Tested-by?

Sure,

Tested-By: Tim Harvey <tharvey@gateworks.com>

>
> >
> > I do however notice when I do so env is attempted to load from MMC dev
> > 0 (CONFIG_ENV_IS_IN_MMC=y) - what controls the device number in this
> > case as for this board, the emmc is dev 2.
>
> That's a separate issue.

agreed it would be a separate issue... just curious if you knew where
that was coming from. It certainly isn't a common behavior to boot via
USB then expect 'saveenv' to save to a specific eMMC device.

>
> I see that you replied to Peng's patch:
> "imx: dynamic setting mmcdev and mmcroot" and this is likely the cause
> for your env numbering problem.

That has nothing to do with the mmc device used for U-Boot env. Commit
f342c9e381c0 ("imx: dynamic setting mmcdev and mmcroot") adds setting
'mmcroot=' if mmcautodetect=yes which seems to me like a completely
inappropriate hack that assumes U-Boot's mmc device numbering matches
the kernels device numbering (which has changed over time and is not a
stable ABI). I believe you have been involved in discussions about
that in the past as well regarding how to best tell the kernel what
the root device is. Every discussion I have seen (and there have been
many over the years) end up with the recommendation of using UUID.

Best regards,

Tim

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v3 2/2] imx8mn/8mp: Allow booting via USB
  2022-04-25 23:15       ` Tim Harvey
@ 2022-04-26  1:57         ` Fabio Estevam
  2022-04-26  5:40           ` Michael Nazzareno Trimarchi
  0 siblings, 1 reply; 9+ messages in thread
From: Fabio Estevam @ 2022-04-26  1:57 UTC (permalink / raw)
  To: Tim Harvey
  Cc: Fabio Estevam, Stefano Babic, Peng Fan, u-boot, Adam Ford,
	Michael Nazzareno Trimarchi, Marek Vasut

Hi Tim,

On Mon, Apr 25, 2022 at 8:15 PM Tim Harvey <tharvey@gateworks.com> wrote:

> Tested-By: Tim Harvey <tharvey@gateworks.com>

Thanks.

> agreed it would be a separate issue... just curious if you knew where
> that was coming from. It certainly isn't a common behavior to boot via
> USB then expect 'saveenv' to save to a specific eMMC device.
>
> >
> > I see that you replied to Peng's patch:
> > "imx: dynamic setting mmcdev and mmcroot" and this is likely the cause
> > for your env numbering problem.
>
> That has nothing to do with the mmc device used for U-Boot env. Commit
> f342c9e381c0 ("imx: dynamic setting mmcdev and mmcroot") adds setting
> 'mmcroot=' if mmcautodetect=yes which seems to me like a completely
> inappropriate hack that assumes U-Boot's mmc device numbering matches

Agreed.

> the kernels device numbering (which has changed over time and is not a
> stable ABI). I believe you have been involved in discussions about
> that in the past as well regarding how to best tell the kernel what
> the root device is. Every discussion I have seen (and there have been
> many over the years) end up with the recommendation of using UUID.

Yes, using UUID is good solution for that.

mmc alias also works in kernels > 5.10 too.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v3 2/2] imx8mn/8mp: Allow booting via USB
  2022-04-26  1:57         ` Fabio Estevam
@ 2022-04-26  5:40           ` Michael Nazzareno Trimarchi
  0 siblings, 0 replies; 9+ messages in thread
From: Michael Nazzareno Trimarchi @ 2022-04-26  5:40 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: Tim Harvey, Fabio Estevam, Stefano Babic, Peng Fan, u-boot,
	Adam Ford, Marek Vasut

Hi Fabio

On Tue, Apr 26, 2022 at 3:57 AM Fabio Estevam <festevam@gmail.com> wrote:
>
> Hi Tim,
>
> On Mon, Apr 25, 2022 at 8:15 PM Tim Harvey <tharvey@gateworks.com> wrote:
>
> > Tested-By: Tim Harvey <tharvey@gateworks.com>
>
> Thanks.
>
> > agreed it would be a separate issue... just curious if you knew where
> > that was coming from. It certainly isn't a common behavior to boot via
> > USB then expect 'saveenv' to save to a specific eMMC device.
> >
> > >
> > > I see that you replied to Peng's patch:
> > > "imx: dynamic setting mmcdev and mmcroot" and this is likely the cause
> > > for your env numbering problem.
> >
> > That has nothing to do with the mmc device used for U-Boot env. Commit
> > f342c9e381c0 ("imx: dynamic setting mmcdev and mmcroot") adds setting
> > 'mmcroot=' if mmcautodetect=yes which seems to me like a completely
> > inappropriate hack that assumes U-Boot's mmc device numbering matches
>
> Agreed.
>
> > the kernels device numbering (which has changed over time and is not a
> > stable ABI). I believe you have been involved in discussions about
> > that in the past as well regarding how to best tell the kernel what
> > the root device is. Every discussion I have seen (and there have been
> > many over the years) end up with the recommendation of using UUID.
>
> Yes, using UUID is good solution for that.
>
> mmc alias also works in kernels > 5.10 too.

What changes if we drop? Does the board boot anyway?

Michael

-- 
Michael Nazzareno Trimarchi
Co-Founder & Chief Executive Officer
M. +39 347 913 2170
michael@amarulasolutions.com
__________________________________

Amarula Solutions BV
Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
T. +31 (0)85 111 9172
info@amarulasolutions.com
www.amarulasolutions.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v3 1/2] imx8mn_ddr4_evk: Add USB Mass Storage support
  2022-04-21 18:05 [PATCH v3 1/2] imx8mn_ddr4_evk: Add USB Mass Storage support Fabio Estevam
  2022-04-21 18:05 ` [PATCH v3 2/2] imx8mn/8mp: Allow booting via USB Fabio Estevam
@ 2022-05-20 13:41 ` sbabic
  1 sibling, 0 replies; 9+ messages in thread
From: sbabic @ 2022-05-20 13:41 UTC (permalink / raw)
  To: Fabio Estevam, u-boot

> From: Fabio Estevam <festevam@denx.de>
> Add USB Mass Storage support, which is a convenient way to flash
> the eMMC card, for example.
> Signed-off-by: Fabio Estevam <festevam@denx.de>
Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic@denx.de
=====================================================================

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v3 2/2] imx8mn/8mp: Allow booting via USB
  2022-04-21 18:05 ` [PATCH v3 2/2] imx8mn/8mp: Allow booting via USB Fabio Estevam
  2022-04-25 19:41   ` Tim Harvey
@ 2022-05-20 13:44   ` sbabic
  1 sibling, 0 replies; 9+ messages in thread
From: sbabic @ 2022-05-20 13:44 UTC (permalink / raw)
  To: Fabio Estevam, u-boot

> From: Fabio Estevam <festevam@denx.de>
> When trying to boot via USB on i.MX8MN it is necessary to specify
> the U-Boot environment location, otherwise the boot process simply
> hangs.
> Specify the environment location when booting from USB.
> Tested on a imx8mn-evk.
> Suggested-by: Michael Nazzareno Trimarchi <michael@amarulasolutions.com>
> Signed-off-by: Fabio Estevam <festevam@denx.de>
> Tested-By: Tim Harvey <tharvey@gateworks.com>
Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic@denx.de
=====================================================================

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-05-20 13:54 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-21 18:05 [PATCH v3 1/2] imx8mn_ddr4_evk: Add USB Mass Storage support Fabio Estevam
2022-04-21 18:05 ` [PATCH v3 2/2] imx8mn/8mp: Allow booting via USB Fabio Estevam
2022-04-25 19:41   ` Tim Harvey
2022-04-25 22:47     ` Fabio Estevam
2022-04-25 23:15       ` Tim Harvey
2022-04-26  1:57         ` Fabio Estevam
2022-04-26  5:40           ` Michael Nazzareno Trimarchi
2022-05-20 13:44   ` sbabic
2022-05-20 13:41 ` [PATCH v3 1/2] imx8mn_ddr4_evk: Add USB Mass Storage support sbabic

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.