From: Jon Humphreys <j-humphreys@ti.com>
To: Martyn Welch <martyn.welch@collabora.com>,
Tom Rini <trini@konsulko.com>, Nishanth Menon <nm@ti.com>,
Robert Nelson <robertcnelson@gmail.com>
Cc: Sjoerd Simons <sjoerd@collabora.com>,
Alexander Sverdlin <alexander.sverdlin@siemens.com>,
Mattijs Korpershoek <mkorpershoek@baylibre.com>,
<u-boot@lists.denx.de>
Subject: Re: [PATCH v5 4/6] configs: am62x_evm_*: Enable USB and DFU support
Date: Thu, 11 Jul 2024 16:41:01 -0500 [thread overview]
Message-ID: <86r0bztxn6.fsf@udb0321960.dhcp.ti.com> (raw)
In-Reply-To: <86ttgvtzyj.fsf@udb0321960.dhcp.ti.com>
Jon Humphreys <j-humphreys@ti.com> writes:
> Martyn Welch <martyn.welch@collabora.com> writes:
>
>> On Thu, 2024-05-23 at 15:08 -0500, Jon Humphreys wrote:
>>> Martyn Welch <martyn.welch@collabora.com> writes:
>>>
>>> > From: Sjoerd Simons <sjoerd@collabora.com>
>>> >
>>> > Provide config fragments to enable USB host as well as USB gadget
>>> > and DFU
>>> > support for a53 and r5. This relevant fragment is included into the
>>> > am62x EVM a53 defconfig. For the r5, due to the smaller available
>>> > size,
>>> > the config fragment also disables support for persistent storage to
>>> > free
>>> > up space for USB support. This fragment needs to be included is DFU
>>> > booting is desired.
>>> >
>>> > The CONFIG_DFU_SF option is placed in the defconfig rather than the
>>> > fragment as this is known not to be supported on all boards that
>>> > can
>>> > support DFU.
>>> >
>>> > Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
>>> > Signed-off-by: Martyn Welch <martyn.welch@collabora.com>
>>> > ---
>>> > Changes in v5:
>>> > - Switch to config fragment for a53 most DFU configuration
>>> >
>>> > Changes in v4:
>>> > - Move R5 dfu config to a config fragment rather then a full
>>> > defconfig
>>> > - Don't enable XHCI for the R5 SPL, unneeded
>>> >
>>> > Changes in v3:
>>> > - Run savedefconfig to adjust to more recent u-boot
>>> >
>>> > Changes in v2:
>>> > - Create a seperate defconfig for R5
>>> >
>>> >
>>> >
>>> > configs/am62x_a53_usbdfu.config | 30
>>> > ++++++++++++++++++++++++++++++
>>> > configs/am62x_evm_a53_defconfig | 2 ++
>>> > configs/am62x_r5_usbdfu.config | 28 ++++++++++++++++++++++++++++
>>> > 3 files changed, 60 insertions(+)
>>> > create mode 100644 configs/am62x_a53_usbdfu.config
>>> > create mode 100644 configs/am62x_r5_usbdfu.config
>>> >
>>> > diff --git a/configs/am62x_a53_usbdfu.config
>>> > b/configs/am62x_a53_usbdfu.config
>>> > new file mode 100644
>>> > index 0000000000..3a19cf2328
>>> > --- /dev/null
>>> > +++ b/configs/am62x_a53_usbdfu.config
>>> > @@ -0,0 +1,29 @@
>>> > +CONFIG_SYS_MALLOC_LEN=0x2000000
>>> > +CONFIG_SPL_ENV_SUPPORT=y
>>> > +CONFIG_SPL_RAM_SUPPORT=y
>>> > +CONFIG_SPL_RAM_DEVICE=y
>>> > +CONFIG_SPL_USB_GADGET=y
>>> > +CONFIG_SPL_DFU=y
>>> > +CONFIG_CMD_DFU=y
>>> > +CONFIG_CMD_USB=y
>>> > +CONFIG_SYSCON=y
>>> > +CONFIG_SPL_SYSCON=y
>>> > +CONFIG_DFU_MMC=y
>>> > +CONFIG_DFU_RAM=y
>>> > +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x5000
>>> > +CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000
>>> > +CONFIG_USB=y
>>> > +CONFIG_DM_USB_GADGET=y
>>> > +CONFIG_SPL_DM_USB_GADGET=y
>>> > +CONFIG_USB_XHCI_HCD=y
>>> > +CONFIG_USB_XHCI_DWC3=y
>>> > +CONFIG_USB_DWC3=y
>>> > +CONFIG_USB_DWC3_GENERIC=y
>>> > +CONFIG_SPL_USB_DWC3_GENERIC=y
>>> > +CONFIG_SPL_USB_DWC3_AM62=y
>>> > +CONFIG_USB_DWC3_AM62=y
>>> > +CONFIG_USB_GADGET=y
>>> > +CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments"
>>> > +CONFIG_USB_GADGET_VENDOR_NUM=0x0451
>>> > +CONFIG_USB_GADGET_PRODUCT_NUM=0x6165
>>> > +CONFIG_USB_GADGET_DOWNLOAD=y
>>> > diff --git a/configs/am62x_evm_a53_defconfig
>>> > b/configs/am62x_evm_a53_defconfig
>>> > index 6c708dcb05..16294a6a79 100644
>>> > --- a/configs/am62x_evm_a53_defconfig
>>> > +++ b/configs/am62x_evm_a53_defconfig
>>> > @@ -68,6 +68,7 @@ CONFIG_SPL_OF_TRANSLATE=y
>>> > CONFIG_CLK=y
>>> > CONFIG_SPL_CLK=y
>>> > CONFIG_CLK_TI_SCI=y
>>> > +CONFIG_DFU_SF=y
>>> > CONFIG_DMA_CHANNELS=y
>>> > CONFIG_TI_K3_NAVSS_UDMA=y
>>> > CONFIG_TI_SCI_PROTOCOL=y
>>> > @@ -111,3 +112,5 @@ CONFIG_SPL_SYSRESET=y
>>> > CONFIG_SYSRESET_TI_SCI=y
>>> > CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
>>> > CONFIG_EFI_SET_TIME=y
>>> > +
>>> > +#include <configs/am62x_a53_usbdfu.config>
>>> > diff --git a/configs/am62x_r5_usbdfu.config
>>> > b/configs/am62x_r5_usbdfu.config
>>> > new file mode 100644
>>> > index 0000000000..772bb2ab93
>>> > --- /dev/null
>>> > +++ b/configs/am62x_r5_usbdfu.config
>>> > @@ -0,0 +1,28 @@
>>> > +CONFIG_SPL_ENV_SUPPORT=y
>>> > +CONFIG_SYSCON=y
>>> > +CONFIG_SPL_SYSCON=y
>>> > +CONFIG_SYS_DFU_DATA_BUF_SIZE=0x5000
>>> > +CONFIG_MISC=y
>>> > +CONFIG_USB=y
>>> > +CONFIG_DM_USB_GADGET=y
>>> > +CONFIG_SPL_DM_USB_GADGET=y
>>> > +CONFIG_USB_DWC3=y
>>> > +CONFIG_USB_DWC3_GENERIC=y
>>> > +CONFIG_SPL_USB_DWC3_GENERIC=y
>>> > +CONFIG_SPL_USB_DWC3_AM62=y
>>> > +CONFIG_USB_GADGET=y
>>> > +CONFIG_SPL_USB_GADGET=y
>>> > +CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments"
>>> > +CONFIG_USB_GADGET_VENDOR_NUM=0x0451
>>> > +CONFIG_USB_GADGET_PRODUCT_NUM=0x6165
>>> > +CONFIG_USB_GADGET_DOWNLOAD=y
>>> > +CONFIG_SPL_DFU=y
>>> > +# CONFIG_SPL_MMC is not set
>>> > +# CONFIG_SPL_FS_FAT is not set
>>> > +# CONFIG_SPL_LIBDISK_SUPPORT is not set
>>> > +# CONFIG_SPL_SPI is not set
>>> > +# CONFIG_SPL_SYS_MALLOC is not set
>>> > +# CONFIG_CMD_GPT is not set
>>> > +# CONFIG_CMD_MMC is not set
>>> > +# CONFIG_CMD_FAT is not set
>>> > +# CONFIG_MMC_SDHCI is not set
>>> > --
>>> > 2.43.0
>>>
>>> Hi all, it appears that this patch breaks OSPI DFU on the board. In
>>> particular, changing the CONFIG_SYS_DFU_DATA_BUF_SIZE seems to be the
>>> culprit.
>>>
>>> I see the error as a DFU timeout when applying capsules.
>>>
>>> SF: Detected s28hs512t with page size 256 Bytes, erase size 256
>>> KiB, total 64 MiB
>>> ############jedec_spi_nor flash@0: flash operation timed out
>>> #DFU write failed
>>>
>>
>> I'm not seeing this failure using the `-next` branch from yesterday
>> (2f96033923).
>>
>> I've attempted to use both the `uboot-capsule.bin` produced with and
>> without the DFU config enabled whilst booting the SK-AM62 via DFU and
>> from an SD card. I seem to be consistently getting the following:
>>
>> => ext2ls mmc 1:1
>> <DIR> 4096 .
>> <DIR> 4096 ..
>> <DIR> 16384 lost+found
>> 1132791 uboot-capsule.bin
>> => load mmc 1:1 ${loadaddr} /uboot-capsule.bin
>> 1132791 bytes read in 57 ms (19 MiB/s)
>> => efidebug capsule update ${loadaddr}
>> ** File not found ubootefi.var **
>> Failed to load EFI variables
>> ** Unable to write file ubootefi.var **
>> Failed to persist EFI variables
>> ** Unable to write file ubootefi.var **
>> Failed to persist EFI variables
>> ** Unable to write file ubootefi.var **
>> Failed to persist EFI variables
>> ** Unable to write file ubootefi.var **
>> Failed to persist EFI variables
>> ** Unable to write file ubootefi.var **
>> Failed to persist EFI variables
>> SF: Detected s28hs512t with page size 256 Bytes, erase size 256 KiB,
>> total 64 Mi
>> B
>> ########################################################
>> ** Unable to write file ubootefi.var **
>> Failed to persist EFI variables
>> =>
>>
>> TBH, I'm not sure if this is good or bad at this point, but I'm not
>> seeing the error that you reported. As can be seen above, I don't have
>> a `ubootefi.var` file, but then I don't boot using EFI mechanisms, so I
>> guess that's expected?
>>
>> But then, the commands I've used above aren't applying the capsule
>> either right?
>>
>> Martyn
>>
>>> Jon
>
> Hi Martyn, against upstream/next, I no longer see the failure. Thanks for
> looking into it.
>
> Jon
Sorry, I wasn't running what I thought I was. I can confirm that I
see the failure when I build against 2f960339235.
Here are my steps:
=> ls mmc 1
288978 tiboot3.bin
1017959 tispl.bin
1130635 u-boot.img
307 uEnv.txt
1133143 uboot-capsule.bin
5 file(s), 0 dir(s)
=> load mmc 1:1 ${loadaddr} /uboot-capsule.bin
1133143 bytes read in 60 ms (18 MiB/s)
=> efidebug capsule update ${loadaddr}
Cannot read EFI system partition
Cannot read EFI system partition
Failed to persist EFI variables
Cannot read EFI system partition
Failed to persist EFI variables
Cannot read EFI system partition
Failed to persist EFI variables
Cannot read EFI system partition
Failed to persist EFI variables
Cannot read EFI system partition
Failed to persist EFI variables
SF: Detected s28hs512t with page size 256 Bytes, erase size 256 KiB, total 64 MiB
############jedec_spi_nor flash@0: flash operation timed out
#DFU write failed
Firmware update failed: <NULL>
Cannot handle a capsule at 0000000082000000
=>
What board rev of the sk-am62 are you using? I am using PROC142A.
Jon
next prev parent reply other threads:[~2024-07-11 21:41 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-06 14:38 [PATCH v5 0/6] Add DFU and usb boot for TI am62x SK and beagleplay Martyn Welch
2024-05-06 14:38 ` [PATCH v5 1/6] usb: dwc3: Add dwc3 glue driver for am62 Martyn Welch
2024-05-06 14:38 ` [PATCH v5 2/6] board: ti: am62x: am62x: include env for DFU Martyn Welch
2024-05-06 14:38 ` [PATCH v5 3/6] arm: dts: k3-am625-sk: Enable usb port in u-boot Martyn Welch
2024-05-07 9:01 ` Mattijs Korpershoek
2024-05-06 14:38 ` [PATCH v5 4/6] configs: am62x_evm_*: Enable USB and DFU support Martyn Welch
2024-05-07 8:14 ` Francesco Dolcini
2024-05-07 14:33 ` Tom Rini
2024-05-07 9:05 ` Mattijs Korpershoek
2024-05-23 20:08 ` Jon Humphreys
2024-07-01 11:27 ` Martyn Welch
2024-07-04 1:35 ` Jon Humphreys
2024-07-11 20:51 ` Jon Humphreys
2024-07-11 21:41 ` Jon Humphreys [this message]
2024-07-12 7:51 ` Martyn Welch
2024-05-06 14:38 ` [PATCH v5 5/6] beagleplay: Add " Martyn Welch
2024-05-07 9:15 ` Mattijs Korpershoek
2024-05-06 14:38 ` [PATCH v5 6/6] doc: board: Add document for DFU boot on am62x SoCs Martyn Welch
2024-05-15 23:28 ` [PATCH v5 0/6] Add DFU and usb boot for TI am62x SK and beagleplay Tom Rini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86r0bztxn6.fsf@udb0321960.dhcp.ti.com \
--to=j-humphreys@ti.com \
--cc=alexander.sverdlin@siemens.com \
--cc=martyn.welch@collabora.com \
--cc=mkorpershoek@baylibre.com \
--cc=nm@ti.com \
--cc=robertcnelson@gmail.com \
--cc=sjoerd@collabora.com \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox