* [U-Boot] [PATCH 0/2] am335x_boneblack: Enable fastboot flash support
@ 2018-02-27 21:45 Sam Protsenko
2018-02-27 21:45 ` [U-Boot] [PATCH 1/2] omap: Fix AM335x build with enabled fastboot flash Sam Protsenko
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Sam Protsenko @ 2018-02-27 21:45 UTC (permalink / raw)
To: u-boot
Standard and recommended way to upgrade the firmware is DFU. But DFU has
extremely low transmission speed (around 150 KiB/sec), thus it's a bad
fit for flashing big images (like rootfs). Low DFU speed is mostly due to
next reasons (kudos to Ruslan Bilovol for investigation):
1. DFU works only via EP0, per DFU specification [1]. But AM335x
doesn't have DMA for EP0, according to AM335x TRM [2]: from
section 16.2:
"The CPPI DMA can be used to service Endpoints 1 to 15 not
Endpoint 0. CPU access method is used to service Endpoint 0
transactions."
2. Max transmission packet size via EP0 is 64 bytes, whereas for other
endpoints max transmission packet size is 512 bytes
fastboot specification [3], on the other hand, says nothing about which
EP should be used (and I see that EP1 is used on BBB board). So let's
enable fastboot flash support on BeagleBone Black board to provide a
better way to flash big images via USB.
[1] www.usb.org/developers/docs/devclass_docs/DFU_1.1.pdf
[2] www.ti.com/lit/ug/spruh73p/spruh73p.pdf
[3] https://android.googlesource.com/platform/system/core/+/master/fastboot/README.md
Sam Protsenko (2):
omap: Fix AM335x build with enabled fastboot flash
configs: am335x_boneblack: Enable fastboot flash capability
arch/arm/mach-omap2/utils.c | 2 ++
configs/am335x_boneblack_defconfig | 2 ++
2 files changed, 4 insertions(+)
--
2.16.1
^ permalink raw reply [flat|nested] 12+ messages in thread* [U-Boot] [PATCH 1/2] omap: Fix AM335x build with enabled fastboot flash 2018-02-27 21:45 [U-Boot] [PATCH 0/2] am335x_boneblack: Enable fastboot flash support Sam Protsenko @ 2018-02-27 21:45 ` Sam Protsenko 2018-02-27 21:56 ` Lukasz Majewski ` (2 more replies) 2018-02-27 21:45 ` [U-Boot] [PATCH 2/2] configs: am335x_boneblack: Enable fastboot flash capability Sam Protsenko 2018-02-27 21:56 ` [U-Boot] [PATCH 0/2] am335x_boneblack: Enable fastboot flash support Lukasz Majewski 2 siblings, 3 replies; 12+ messages in thread From: Sam Protsenko @ 2018-02-27 21:45 UTC (permalink / raw) To: u-boot When enabling CONFIG_FASTBOOT_FLASH in am335x_boneblack_defconfig, next build errors and warnings occur: arch/arm/mach-omap2/utils.c: In function ‘omap_set_fastboot_cpu’: arch/arm/mach-omap2/utils.c:26:16: warning: implicit declaration of function ‘omap_revision’ [-Wimplicit-function-declaration] u32 cpu_rev = omap_revision(); ^~~~~~~~~~~~~ arch/arm/mach-omap2/utils.c:29:7: error: ‘DRA762_ES1_0’ undeclared (first use in this function) Include asm/omap_common.h explicitly to avoid those. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> --- arch/arm/mach-omap2/utils.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm/mach-omap2/utils.c b/arch/arm/mach-omap2/utils.c index d11670c0ee..7d1ca274bf 100644 --- a/arch/arm/mach-omap2/utils.c +++ b/arch/arm/mach-omap2/utils.c @@ -7,6 +7,8 @@ #include <common.h> #include <asm/setup.h> #include <asm/arch/sys_proto.h> +#include <asm/omap_common.h> + static void do_cancel_out(u32 *num, u32 *den, u32 factor) { while (1) { -- 2.16.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [U-Boot] [PATCH 1/2] omap: Fix AM335x build with enabled fastboot flash 2018-02-27 21:45 ` [U-Boot] [PATCH 1/2] omap: Fix AM335x build with enabled fastboot flash Sam Protsenko @ 2018-02-27 21:56 ` Lukasz Majewski 2018-02-27 21:58 ` Tom Rini 2018-03-14 14:10 ` [U-Boot] [U-Boot, " Tom Rini 2 siblings, 0 replies; 12+ messages in thread From: Lukasz Majewski @ 2018-02-27 21:56 UTC (permalink / raw) To: u-boot On Tue, 27 Feb 2018 23:45:03 +0200 Sam Protsenko <semen.protsenko@linaro.org> wrote: > When enabling CONFIG_FASTBOOT_FLASH in am335x_boneblack_defconfig, > next build errors and warnings occur: > > arch/arm/mach-omap2/utils.c: In function ‘omap_set_fastboot_cpu’: > arch/arm/mach-omap2/utils.c:26:16: warning: implicit declaration > of function ‘omap_revision’ [-Wimplicit-function-declaration] > u32 cpu_rev = omap_revision(); > ^~~~~~~~~~~~~ > arch/arm/mach-omap2/utils.c:29:7: error: ‘DRA762_ES1_0’ undeclared > (first use in this function) > > Include asm/omap_common.h explicitly to avoid those. > > Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> > --- > arch/arm/mach-omap2/utils.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/arm/mach-omap2/utils.c b/arch/arm/mach-omap2/utils.c > index d11670c0ee..7d1ca274bf 100644 > --- a/arch/arm/mach-omap2/utils.c > +++ b/arch/arm/mach-omap2/utils.c > @@ -7,6 +7,8 @@ > #include <common.h> > #include <asm/setup.h> > #include <asm/arch/sys_proto.h> > +#include <asm/omap_common.h> > + > static void do_cancel_out(u32 *num, u32 *den, u32 factor) > { > while (1) { Acked-by: Lukasz Majewski <lukma@denx.de> Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180227/408c5fda/attachment.sig> ^ permalink raw reply [flat|nested] 12+ messages in thread
* [U-Boot] [PATCH 1/2] omap: Fix AM335x build with enabled fastboot flash 2018-02-27 21:45 ` [U-Boot] [PATCH 1/2] omap: Fix AM335x build with enabled fastboot flash Sam Protsenko 2018-02-27 21:56 ` Lukasz Majewski @ 2018-02-27 21:58 ` Tom Rini 2018-03-14 14:10 ` [U-Boot] [U-Boot, " Tom Rini 2 siblings, 0 replies; 12+ messages in thread From: Tom Rini @ 2018-02-27 21:58 UTC (permalink / raw) To: u-boot On Tue, Feb 27, 2018 at 11:45:03PM +0200, Sam Protsenko wrote: > When enabling CONFIG_FASTBOOT_FLASH in am335x_boneblack_defconfig, next > build errors and warnings occur: > > arch/arm/mach-omap2/utils.c: In function ‘omap_set_fastboot_cpu’: > arch/arm/mach-omap2/utils.c:26:16: warning: implicit declaration of > function ‘omap_revision’ [-Wimplicit-function-declaration] > u32 cpu_rev = omap_revision(); > ^~~~~~~~~~~~~ > arch/arm/mach-omap2/utils.c:29:7: error: ‘DRA762_ES1_0’ undeclared > (first use in this function) > > Include asm/omap_common.h explicitly to avoid those. > > Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Tom Rini <trini@konsulko.com> -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180227/51fa2eea/attachment.sig> ^ permalink raw reply [flat|nested] 12+ messages in thread
* [U-Boot] [U-Boot, 1/2] omap: Fix AM335x build with enabled fastboot flash 2018-02-27 21:45 ` [U-Boot] [PATCH 1/2] omap: Fix AM335x build with enabled fastboot flash Sam Protsenko 2018-02-27 21:56 ` Lukasz Majewski 2018-02-27 21:58 ` Tom Rini @ 2018-03-14 14:10 ` Tom Rini 2 siblings, 0 replies; 12+ messages in thread From: Tom Rini @ 2018-03-14 14:10 UTC (permalink / raw) To: u-boot On Tue, Feb 27, 2018 at 11:45:03PM +0200, Sam Protsenko wrote: > When enabling CONFIG_FASTBOOT_FLASH in am335x_boneblack_defconfig, next > build errors and warnings occur: > > arch/arm/mach-omap2/utils.c: In function ‘omap_set_fastboot_cpu’: > arch/arm/mach-omap2/utils.c:26:16: warning: implicit declaration of > function ‘omap_revision’ [-Wimplicit-function-declaration] > u32 cpu_rev = omap_revision(); > ^~~~~~~~~~~~~ > arch/arm/mach-omap2/utils.c:29:7: error: ‘DRA762_ES1_0’ undeclared > (first use in this function) > > Include asm/omap_common.h explicitly to avoid those. > > Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> > Acked-by: Lukasz Majewski <lukma@denx.de> > Reviewed-by: Tom Rini <trini@konsulko.com> Applied to u-boot/master, thanks! -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180314/58540791/attachment.sig> ^ permalink raw reply [flat|nested] 12+ messages in thread
* [U-Boot] [PATCH 2/2] configs: am335x_boneblack: Enable fastboot flash capability 2018-02-27 21:45 [U-Boot] [PATCH 0/2] am335x_boneblack: Enable fastboot flash support Sam Protsenko 2018-02-27 21:45 ` [U-Boot] [PATCH 1/2] omap: Fix AM335x build with enabled fastboot flash Sam Protsenko @ 2018-02-27 21:45 ` Sam Protsenko 2018-02-27 21:57 ` Lukasz Majewski ` (2 more replies) 2018-02-27 21:56 ` [U-Boot] [PATCH 0/2] am335x_boneblack: Enable fastboot flash support Lukasz Majewski 2 siblings, 3 replies; 12+ messages in thread From: Sam Protsenko @ 2018-02-27 21:45 UTC (permalink / raw) To: u-boot Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> --- configs/am335x_boneblack_defconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configs/am335x_boneblack_defconfig b/configs/am335x_boneblack_defconfig index ed430e7130..f45e40956c 100644 --- a/configs/am335x_boneblack_defconfig +++ b/configs/am335x_boneblack_defconfig @@ -17,6 +17,8 @@ CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n" CONFIG_AUTOBOOT_DELAY_STR="d" CONFIG_AUTOBOOT_STOP_STR=" " CONFIG_FASTBOOT=y +CONFIG_FASTBOOT_FLASH=y +CONFIG_FASTBOOT_FLASH_MMC_DEV=1 CONFIG_CMD_SPL=y # CONFIG_CMD_FLASH is not set # CONFIG_CMD_SETEXPR is not set -- 2.16.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [U-Boot] [PATCH 2/2] configs: am335x_boneblack: Enable fastboot flash capability 2018-02-27 21:45 ` [U-Boot] [PATCH 2/2] configs: am335x_boneblack: Enable fastboot flash capability Sam Protsenko @ 2018-02-27 21:57 ` Lukasz Majewski 2018-02-27 21:58 ` Tom Rini 2018-03-14 14:10 ` [U-Boot] [U-Boot, " Tom Rini 2 siblings, 0 replies; 12+ messages in thread From: Lukasz Majewski @ 2018-02-27 21:57 UTC (permalink / raw) To: u-boot On Tue, 27 Feb 2018 23:45:04 +0200 Sam Protsenko <semen.protsenko@linaro.org> wrote: > Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> > --- > configs/am335x_boneblack_defconfig | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/configs/am335x_boneblack_defconfig > b/configs/am335x_boneblack_defconfig index ed430e7130..f45e40956c > 100644 --- a/configs/am335x_boneblack_defconfig > +++ b/configs/am335x_boneblack_defconfig > @@ -17,6 +17,8 @@ CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort > autoboot in %d seconds\n" CONFIG_AUTOBOOT_DELAY_STR="d" > CONFIG_AUTOBOOT_STOP_STR=" " > CONFIG_FASTBOOT=y > +CONFIG_FASTBOOT_FLASH=y > +CONFIG_FASTBOOT_FLASH_MMC_DEV=1 > CONFIG_CMD_SPL=y > # CONFIG_CMD_FLASH is not set > # CONFIG_CMD_SETEXPR is not set Acked-by: Lukasz Majewski <lukma@denx.de> Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180227/4779bf4c/attachment.sig> ^ permalink raw reply [flat|nested] 12+ messages in thread
* [U-Boot] [PATCH 2/2] configs: am335x_boneblack: Enable fastboot flash capability 2018-02-27 21:45 ` [U-Boot] [PATCH 2/2] configs: am335x_boneblack: Enable fastboot flash capability Sam Protsenko 2018-02-27 21:57 ` Lukasz Majewski @ 2018-02-27 21:58 ` Tom Rini 2018-03-14 14:10 ` [U-Boot] [U-Boot, " Tom Rini 2 siblings, 0 replies; 12+ messages in thread From: Tom Rini @ 2018-02-27 21:58 UTC (permalink / raw) To: u-boot On Tue, Feb 27, 2018 at 11:45:04PM +0200, Sam Protsenko wrote: > Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Tom Rini <trini@konsulko.com> -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180227/34a02296/attachment.sig> ^ permalink raw reply [flat|nested] 12+ messages in thread
* [U-Boot] [U-Boot, 2/2] configs: am335x_boneblack: Enable fastboot flash capability 2018-02-27 21:45 ` [U-Boot] [PATCH 2/2] configs: am335x_boneblack: Enable fastboot flash capability Sam Protsenko 2018-02-27 21:57 ` Lukasz Majewski 2018-02-27 21:58 ` Tom Rini @ 2018-03-14 14:10 ` Tom Rini 2 siblings, 0 replies; 12+ messages in thread From: Tom Rini @ 2018-03-14 14:10 UTC (permalink / raw) To: u-boot On Tue, Feb 27, 2018 at 11:45:04PM +0200, Sam Protsenko wrote: > Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> > Acked-by: Lukasz Majewski <lukma@denx.de> > Reviewed-by: Tom Rini <trini@konsulko.com> Applied to u-boot/master, thanks! -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180314/7e1dd010/attachment.sig> ^ permalink raw reply [flat|nested] 12+ messages in thread
* [U-Boot] [PATCH 0/2] am335x_boneblack: Enable fastboot flash support 2018-02-27 21:45 [U-Boot] [PATCH 0/2] am335x_boneblack: Enable fastboot flash support Sam Protsenko 2018-02-27 21:45 ` [U-Boot] [PATCH 1/2] omap: Fix AM335x build with enabled fastboot flash Sam Protsenko 2018-02-27 21:45 ` [U-Boot] [PATCH 2/2] configs: am335x_boneblack: Enable fastboot flash capability Sam Protsenko @ 2018-02-27 21:56 ` Lukasz Majewski 2018-02-27 23:38 ` Sam Protsenko 2 siblings, 1 reply; 12+ messages in thread From: Lukasz Majewski @ 2018-02-27 21:56 UTC (permalink / raw) To: u-boot Hi Sam, > Standard and recommended way to upgrade the firmware is DFU. But DFU > has extremely low transmission speed (around 150 KiB/sec), thus it's > a bad fit for flashing big images (like rootfs). Low DFU speed is > mostly due to next reasons (kudos to Ruslan Bilovol for > investigation): 1. DFU works only via EP0, per DFU specification [1]. > But AM335x doesn't have DMA for EP0, according to AM335x TRM [2]: from > section 16.2: > > "The CPPI DMA can be used to service Endpoints 1 to 15 not > Endpoint 0. CPU access method is used to service Endpoint 0 > transactions." > > 2. Max transmission packet size via EP0 is 64 bytes, whereas for > other endpoints max transmission packet size is 512 bytes DFU was (and still is) supposed to work on all devices - even those with very tiny resources (like st microcontrollers). According to USB spec, EP0 is mandatory, so that is the reason for using it as a common denominator. Just for the record - fastboot is one of the options here. For BBB you may want to look at "dfu tftp" - which uses ETH's tftp protocol with dfu backend. It is supposed to be a remedy for problem described above. More information at: ./doc/README.dfutftp Of course I also don't mind using fastboot - it depends on your use case. > > fastboot specification [3], on the other hand, says nothing about > which EP should be used (and I see that EP1 is used on BBB board). So > let's enable fastboot flash support on BeagleBone Black board to > provide a better way to flash big images via USB. > > [1] www.usb.org/developers/docs/devclass_docs/DFU_1.1.pdf > [2] www.ti.com/lit/ug/spruh73p/spruh73p.pdf > [3] > https://android.googlesource.com/platform/system/core/+/master/fastboot/README.md > > Sam Protsenko (2): > omap: Fix AM335x build with enabled fastboot flash > configs: am335x_boneblack: Enable fastboot flash capability > > arch/arm/mach-omap2/utils.c | 2 ++ > configs/am335x_boneblack_defconfig | 2 ++ > 2 files changed, 4 insertions(+) > Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180227/f5c573c9/attachment.sig> ^ permalink raw reply [flat|nested] 12+ messages in thread
* [U-Boot] [PATCH 0/2] am335x_boneblack: Enable fastboot flash support 2018-02-27 21:56 ` [U-Boot] [PATCH 0/2] am335x_boneblack: Enable fastboot flash support Lukasz Majewski @ 2018-02-27 23:38 ` Sam Protsenko 2018-02-27 23:54 ` Lukasz Majewski 0 siblings, 1 reply; 12+ messages in thread From: Sam Protsenko @ 2018-02-27 23:38 UTC (permalink / raw) To: u-boot On 27 February 2018 at 23:56, Lukasz Majewski <lukma@denx.de> wrote: > Hi Sam, > >> Standard and recommended way to upgrade the firmware is DFU. But DFU >> has extremely low transmission speed (around 150 KiB/sec), thus it's >> a bad fit for flashing big images (like rootfs). Low DFU speed is >> mostly due to next reasons (kudos to Ruslan Bilovol for >> investigation): 1. DFU works only via EP0, per DFU specification [1]. >> But AM335x doesn't have DMA for EP0, according to AM335x TRM [2]: from >> section 16.2: >> >> "The CPPI DMA can be used to service Endpoints 1 to 15 not >> Endpoint 0. CPU access method is used to service Endpoint 0 >> transactions." >> >> 2. Max transmission packet size via EP0 is 64 bytes, whereas for >> other endpoints max transmission packet size is 512 bytes > > DFU was (and still is) supposed to work on all devices - even those > with very tiny resources (like st microcontrollers). > > According to USB spec, EP0 is mandatory, so that is the reason for > using it as a common denominator. > > Just for the record - fastboot is one of the options here. > > For BBB you may want to look at "dfu tftp" - which uses ETH's tftp > protocol with dfu backend. It is supposed to be a remedy for problem > described above. > > More information at: > ./doc/README.dfutftp > Thank you for the explanation, Lukasz! Didn't know that "dfu tftp" was designed to overcome that slow speed issue. Will try that. > > Of course I also don't mind using fastboot - it depends on your use > case. > Yes, I'm trying to make BBB board to be a good educational platform (we are working on some corporate courses). Main points are it's an open hardware, has a good support in upstream and has a good pricing. Anyway, my idea is to show people all the conventional methods for flashing the board, so I need both Ethernet and USB ways working. Also, I noticed that Debian rootfs is recommended to be flashed to eMMC using SD card (and flashing is done from booted system, not from U-Boot). Although I understand that this may be easier for an end user (as it closely resembles PC way), still I can't say that I particularly like or approve that method (especially for development purposes). That's why I think that having functional USB link would be beneficial for BBB. >> >> fastboot specification [3], on the other hand, says nothing about >> which EP should be used (and I see that EP1 is used on BBB board). So >> let's enable fastboot flash support on BeagleBone Black board to >> provide a better way to flash big images via USB. >> >> [1] www.usb.org/developers/docs/devclass_docs/DFU_1.1.pdf >> [2] www.ti.com/lit/ug/spruh73p/spruh73p.pdf >> [3] >> https://android.googlesource.com/platform/system/core/+/master/fastboot/README.md >> >> Sam Protsenko (2): >> omap: Fix AM335x build with enabled fastboot flash >> configs: am335x_boneblack: Enable fastboot flash capability >> >> arch/arm/mach-omap2/utils.c | 2 ++ >> configs/am335x_boneblack_defconfig | 2 ++ >> 2 files changed, 4 insertions(+) >> > > > > > Best regards, > > Lukasz Majewski > > -- > > DENX Software Engineering GmbH, Managing Director: Wolfgang Denk > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany > Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de ^ permalink raw reply [flat|nested] 12+ messages in thread
* [U-Boot] [PATCH 0/2] am335x_boneblack: Enable fastboot flash support 2018-02-27 23:38 ` Sam Protsenko @ 2018-02-27 23:54 ` Lukasz Majewski 0 siblings, 0 replies; 12+ messages in thread From: Lukasz Majewski @ 2018-02-27 23:54 UTC (permalink / raw) To: u-boot Hi Sam, > On 27 February 2018 at 23:56, Lukasz Majewski <lukma@denx.de> wrote: > > Hi Sam, > > > >> Standard and recommended way to upgrade the firmware is DFU. But > >> DFU has extremely low transmission speed (around 150 KiB/sec), > >> thus it's a bad fit for flashing big images (like rootfs). Low DFU > >> speed is mostly due to next reasons (kudos to Ruslan Bilovol for > >> investigation): 1. DFU works only via EP0, per DFU specification > >> [1]. But AM335x doesn't have DMA for EP0, according to AM335x TRM > >> [2]: from section 16.2: > >> > >> "The CPPI DMA can be used to service Endpoints 1 to 15 not > >> Endpoint 0. CPU access method is used to service Endpoint 0 > >> transactions." > >> > >> 2. Max transmission packet size via EP0 is 64 bytes, whereas for > >> other endpoints max transmission packet size is 512 bytes > > > > DFU was (and still is) supposed to work on all devices - even those > > with very tiny resources (like st microcontrollers). > > > > According to USB spec, EP0 is mandatory, so that is the reason for > > using it as a common denominator. > > > > Just for the record - fastboot is one of the options here. > > > > For BBB you may want to look at "dfu tftp" - which uses ETH's tftp > > protocol with dfu backend. It is supposed to be a remedy for problem > > described above. > > > > More information at: > > ./doc/README.dfutftp > > > > Thank you for the explanation, Lukasz! Didn't know that "dfu tftp" was > designed to overcome that slow speed issue. Will try that. You may also want to try UMS (USB Mass Storage) - "ums". It will export your BBB to be visible as USB Mass Storage device (like a pendrive). From that point you can use dd to write MBR, rootfs, u-boot to it. Another - good option for flashing is SWUpdate SW: https://github.com/sbabic/swupdate It allows very easy integration with OE/Yocto and Buildroot. What is even more important - it supports BBB out of the box: https://github.com/sbabic/meta-swupdate-boards/tree/master/recipes-support/swupdate/swupdate SWUpdate is a versatile tool with a loot of nice features - please read: https://sbabic.github.io/swupdate/ > > > > > Of course I also don't mind using fastboot - it depends on your use > > case. > > > > Yes, I'm trying to make BBB board to be a good educational platform > (we are working on some corporate courses). Main points are it's an > open hardware, has a good support in upstream and has a good pricing. > Anyway, my idea is to show people all the conventional methods for > flashing the board, so I need both Ethernet and USB ways working. > > Also, I noticed that Debian rootfs is recommended to be flashed to > eMMC using SD card (and flashing is done from booted system, not from > U-Boot). Although I understand that this may be easier for an end user > (as it closely resembles PC way), still I can't say that I > particularly like or approve that method (especially for development > purposes). That's why I think that having functional USB link would be > beneficial for BBB. > > >> > >> fastboot specification [3], on the other hand, says nothing about > >> which EP should be used (and I see that EP1 is used on BBB board). > >> So let's enable fastboot flash support on BeagleBone Black board to > >> provide a better way to flash big images via USB. > >> > >> [1] www.usb.org/developers/docs/devclass_docs/DFU_1.1.pdf > >> [2] www.ti.com/lit/ug/spruh73p/spruh73p.pdf > >> [3] > >> https://android.googlesource.com/platform/system/core/+/master/fastboot/README.md > >> > >> Sam Protsenko (2): > >> omap: Fix AM335x build with enabled fastboot flash > >> configs: am335x_boneblack: Enable fastboot flash capability > >> > >> arch/arm/mach-omap2/utils.c | 2 ++ > >> configs/am335x_boneblack_defconfig | 2 ++ > >> 2 files changed, 4 insertions(+) > >> > > > > > > > > > > Best regards, > > > > Lukasz Majewski > > > > -- > > > > DENX Software Engineering GmbH, Managing Director: Wolfgang > > Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, > > Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: > > wd at denx.de Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180228/110aac3a/attachment.sig> ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2018-03-14 14:10 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-02-27 21:45 [U-Boot] [PATCH 0/2] am335x_boneblack: Enable fastboot flash support Sam Protsenko 2018-02-27 21:45 ` [U-Boot] [PATCH 1/2] omap: Fix AM335x build with enabled fastboot flash Sam Protsenko 2018-02-27 21:56 ` Lukasz Majewski 2018-02-27 21:58 ` Tom Rini 2018-03-14 14:10 ` [U-Boot] [U-Boot, " Tom Rini 2018-02-27 21:45 ` [U-Boot] [PATCH 2/2] configs: am335x_boneblack: Enable fastboot flash capability Sam Protsenko 2018-02-27 21:57 ` Lukasz Majewski 2018-02-27 21:58 ` Tom Rini 2018-03-14 14:10 ` [U-Boot] [U-Boot, " Tom Rini 2018-02-27 21:56 ` [U-Boot] [PATCH 0/2] am335x_boneblack: Enable fastboot flash support Lukasz Majewski 2018-02-27 23:38 ` Sam Protsenko 2018-02-27 23:54 ` Lukasz Majewski
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox