From: Lukasz Majewski <lukma@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v7 00/18] Add fastboot UDP support
Date: Mon, 28 May 2018 09:39:53 +0200 [thread overview]
Message-ID: <20180528093953.76d2502f@jawa> (raw)
In-Reply-To: <20180524132913.11575-1-alex.kiernan@gmail.com>
Hi Alex, Sam,
Sam have you tested Alex patches on your HW (as you asked earlier for
the repo to fetch the code)?
Could you add Tested-by: tag?
Are there any more comments on this series?
Best regards,
Łukasz
> This series merges the fastboot UDP support from AOSP into mainline
> U-Boot.
>
> Changes in UDP behaviour from the AOSP code, so it follows the
> existing USB behaviour:
>
> - 'boot' now follows the USB code and does 'bootm
> CONFIG_FASTBOOT_BUF_ADDR'. I've added 'fastboot_bootcmd' which if set
> overrides the boot command and allows the existing UDP behaviour to
> be preserved.
> - 'continue' in UDP now exits the fastboot server rather than
> executing 'run bootcmd'
> - 'reboot-bootloader' no longer writes 'reboot-bootloader' to
> CONFIG_FASTBOOT_BUF_ADDR as its marker for the subsequent boot. The
> code which is in AOSP common/android_bootloader.c expects this
> marker, but we have prior art in the USB code using the weak function
> fastboot_set_reboot_flag
> - 'getvar' in the UDP path now supports fetching 'fastboot.' prefixed
> variables (inherited from the USB path), these override the defaults
>
> I've pushed both USB and UDP into a single consolidated protocol layer
> now I've tested it on a BeagleBone Green.
>
> Green Travis build:
> https://travis-ci.org/akiernan/u-boot/builds/383077278
>
> Changes in v7:
> - set FASTBOOT_CMD_OEM_FORMAT for all existing users of
> FASTBOOT_FLASH_MMC_DEV that also have CMD_GPT
>
> Changes in v6:
> - accomodate master change and switch dependency on imx6dl_mamoj from
> FASTBOOT to USB_FUNCTION_FASTBOOT
> - delete redundant FASTBOOT_FLASH_NAND_DEV symbol
> - add docbook comments
> - add docbook comments
> - rename fastboot_download_data() to fastboot_data_download(), rename
> fastboot_get_bytes_remaining() to fastboot_data_remaining()
> - split fastboot_data_complete() out from fastboot_data_download() so
> we can call it at the end of the transfer phase for USB
> - merged from RFC USB fastboot series
> - when entering the DATA phase ensure we actually install the correct
> handler
> - on completion of DATA call new fastboot_data_complete()
> - previous changes:
> - remove redundant version.h
> - use new fastboot_get_bytes_remaining() function
> - new
>
> Changes in v5:
> - don't depend on UDP_FUNCTION_FASTBOOT until it exists
> - squash in subsequent patch which updates defconfigs so we don't
> leave users of CONFIG_FASTBOOT without it enabled
> - fix build in drivers/fastboot when we have CONFIG_FASTBOOT without
> flash or erase and we've not yet added fb_common.c to the build
> - fix docbook formatting
> - new
> - new
> - rename CONFIG_FASTBOOT_FLASH_FILLBUF_SIZE to
> CONFIG_IMAGE_SPARSE_FILLBUF_SIZE and migrate it to Kconfig.
> - make fastboot_bytes_received/expected static and add function
> fastboot_get_bytes_remaining()
> - move fastboot_buf_addr/fastboot_buf_size/fastboot_progress_callback
> into fastboot-internal.h
> - delete redundant fb_ prefixes from statics
> - new
>
> Changes in v4:
> - add docbook comments
> - leave strcmp_l1() in USB fastboot as we don't need it in UDP path
> - add docbook comments
> - new
> - guard fb_getvar/fb_command with UDP_FUNCTION_FASTBOOT in Makefile
> - add docbook comments
> - remove parameter from fastboot_boot() since we always want
> fastboot_buf_addr (and if we're using fastboot_bootcmd then it's
> ignored)
> - split oem format into new patch
>
> Changes in v3:
> - move imply ANDROID_BOOT_IMAGE, CMD_FASTBOOT to FASTBOOT from
> USB_FUNCTION_FASTBOOT
> - add depend on USB_FUNCTION_FASTBOOT to FASTBOOT_USB_DEV
> - leave images-sparse.c in common to acommodate 2f83f21
> - refactor for changes in master
> - Merge subsequent patch for formatting response strings into this one
> - allow NULL to fastboot_okay() when there's no message to send
> - guard FASTBOOT_GPT_NAME/FASTBOOT_MBR_NAME with EFI/DOS_PARTITION
> - new
> - new
> - new
> - new
> - new
> - new
> - use FASTBOOT as our guard in Kconfig not a list of USB || UDP
> - correct mis-translation from AOSP introduced when cleaning up for
> checkpatch - we should write when buffer is not NULL, rather than
> erasing, and erase when buffer is NULL
> - use CMD_RET_USAGE from do_fastboot
> - remove do_fastboot_udp from cmd/net.c and rewrite using net_loop()
> - rename timed_send_info to fastboot_send_info, rename
> fastboot_send_info to fastboot_udp_send_info
> - replace FASTBOOT_HEADER_SIZE with sizeof(struct fastboot_header)
> - move start time into timed_send_info() rather than passing it in
> - make calls to fastboot_udp_send_info a runtime dependency, not a
> compile time one
> - set ${filesize} to size of downloaded image
> - add progress meter from USB path during download
> - add support for 'oem format' command from the USB path
> - rename 'fastbootcmd' to 'fastboot_bootcmd' to make clear that this
> is the fastboot boot command
> - make getvar implementation table driven
> - add fastboot_buf_addr, fastboot_buf_size to override buffer address
> and size
> - return correct filesystem type in getvar partition-type on MMC
> - process "fastboot." prefixed env variables in getvar first so you
> can override the normal values (this also lets you set a fs type for
> NAND devices)
> - squash subsequent patches which change this code into this one:
> - If the fastboot flash/erase commands are disabled, remove that
> support so we still build correctly.
> - Add NAND support to fastboot UDP flash/erase commands
> - If we don't have a partition name passed, report it as not found.
> - Change the behaviour of the fastboot net code such that
> "reboot-bootloader" is no longer written to
> CONFIG_FASTBOOT_BUF_ADDR for use as a marker on reboot (the AOSP code
> in common/android-bootloader.c uses this marker - this code could be
> reinstated there if that gets merged).
> - Merge USB and UDP boot code. The USB implementation stays the
> same, but UDP no longer passes an fdt. We introduce a new environment
> variable 'fastboot_bootcmd' which if set overrides the hardcoded boot
> command, setting this then allows the UDP implementation to remain
> the same. If after running 'fastboot_bootcmd' the board has not
> booted, control is returned to U-Boot and the fastboot process ends.
> - Separate the fastboot protocol handling from the fastboot UDP
> code in preparation for reusing it in the USB code.
>
> Changes in v2:
> - ensure fastboot syntax is backward compatible - 'fastboot 0' means
> 'fastboot usb 0'
>
> Alex Kiernan (18):
> fastboot: Move fastboot to drivers/fastboot
> fastboot: Refactor fastboot_okay/fail to take response
> fastboot: Extract fastboot_okay/fail to fb_common.c
> fastboot: Correct dependencies in FASTBOOT_FLASH
> fastboot: Add missing newlines
> fastboot: Remove FIXME for CONFIG_FASTBOOT_...NAME
> fastboot: Fix parameter types in _fb_nand_write
> fastboot: Rename fb_set_reboot_flag to fastboot_set_reboot_flag
> fastboot: Extract common definitions from USB fastboot
> fastboot: Rename public fb_ functions to fastboot_
> ti: fastboot: Move weak overrides to board files
> fs: Add fs_get_type_name to return current filesystem name
> fastboot: Migrate FASTBOOT_FLASH_NAND_TRIMFFS to Kconfig
> mmc: Separate "mmc swrite" from fastboot
> net: fastboot: Merge AOSP UDP fastboot
> fastboot: Add support for 'oem format' command
> usb: fastboot: Convert USB f_fastboot to shared fastboot
> fastboot: Update fastboot documentation
>
> arch/arm/Kconfig | 2 -
> arch/arm/mach-omap2/boot-common.c | 10 -
> arch/arm/mach-omap2/utils.c | 4 +-
> arch/arm/mach-rockchip/rk3128-board.c | 4 +-
> arch/arm/mach-rockchip/rk322x-board.c | 4 +-
> board/amazon/kc1/kc1.c | 2 +-
> board/lg/sniper/sniper.c | 2 +-
> board/ti/am57xx/board.c | 10 +
> board/ti/common/Kconfig | 1 -
> board/ti/dra7xx/evm.c | 10 +
> cmd/Kconfig | 22 +-
> cmd/fastboot.c | 91 ++++-
> cmd/mmc.c | 14 +-
> common/Makefile | 14 -
> configs/A13-OLinuXino_defconfig | 1 +
> configs/A20-OLinuXino-Lime2-eMMC_defconfig | 1 +
> configs/A20-OLinuXino-Lime2_defconfig | 1 +
> configs/A20-Olimex-SOM204-EVB-eMMC_defconfig | 1 +
> configs/A20-Olimex-SOM204-EVB_defconfig | 1 +
> configs/Bananapi_m2m_defconfig | 1 +
> configs/Cubietruck_defconfig | 1 +
> configs/Sinlinx_SinA33_defconfig | 1 +
> configs/am335x_boneblack_defconfig | 7 +-
> configs/am335x_boneblack_vboot_defconfig | 2 +-
> configs/am335x_evm_defconfig | 2 +-
> configs/am335x_evm_nor_defconfig | 2 +-
> configs/am335x_evm_norboot_defconfig | 2 +-
> configs/am335x_evm_spiboot_defconfig | 2 +-
> configs/am335x_evm_usbspl_defconfig | 2 +-
> configs/am57xx_evm_defconfig | 13 +-
> configs/am57xx_hs_evm_defconfig | 13 +-
> configs/bcm23550_w1d_defconfig | 2 +-
> configs/bcm28155_ap_defconfig | 2 +-
> configs/birdland_bav335a_defconfig | 2 +-
> configs/birdland_bav335b_defconfig | 2 +-
> configs/cgtqmx6eval_defconfig | 2 +-
> configs/chromebit_mickey_defconfig | 5 +-
> configs/chromebook_jerry_defconfig | 5 +-
> configs/chromebook_minnie_defconfig | 5 +-
> configs/dra7xx_evm_defconfig | 11 +-
> configs/dra7xx_hs_evm_defconfig | 11 +-
> configs/evb-rk3036_defconfig | 5 +-
> configs/evb-rk3128_defconfig | 9 +-
> configs/evb-rk3229_defconfig | 5 +-
> configs/evb-rk3288_defconfig | 5 +-
> configs/evb-rk3328_defconfig | 7 +-
> configs/fennec-rk3288_defconfig | 5 +-
> configs/firefly-rk3288_defconfig | 5 +-
> configs/imx6dl_mamoj_defconfig | 2 +-
> configs/kc1_defconfig | 2 +-
> configs/kylin-rk3036_defconfig | 5 +-
> configs/miqi-rk3288_defconfig | 5 +-
> configs/mx6qsabrelite_defconfig | 2 +-
> configs/mx6sabresd_defconfig | 2 +-
> configs/nitrogen6dl2g_defconfig | 2 +-
> configs/nitrogen6dl_defconfig | 2 +-
> configs/nitrogen6q2g_defconfig | 2 +-
> configs/nitrogen6q_defconfig | 2 +-
> configs/nitrogen6s1g_defconfig | 2 +-
> configs/nitrogen6s_defconfig | 2 +-
> configs/omap3_beagle_defconfig | 2 +-
> configs/omap3_evm_defconfig | 2 +-
> configs/omap3_logic_defconfig | 2 +-
> configs/parrot_r16_defconfig | 1 +
> configs/phycore-rk3288_defconfig | 5 +-
> configs/popmetal-rk3288_defconfig | 5 +-
> configs/rock2_defconfig | 5 +-
> configs/sniper_defconfig | 2 +-
> configs/stih410-b2260_defconfig | 11 +-
> configs/tbs_a711_defconfig | 1 +
> configs/tinker-rk3288_defconfig | 5 +-
> .../xilinx_zynqmp_zc1751_xm015_dc1_defconfig | 7 +-
> .../xilinx_zynqmp_zc1751_xm016_dc2_defconfig | 2 +-
> configs/xilinx_zynqmp_zcu102_rev1_0_defconfig | 7 +-
> configs/xilinx_zynqmp_zcu102_revA_defconfig | 7 +-
> configs/xilinx_zynqmp_zcu102_revB_defconfig | 7 +-
> configs/xilinx_zynqmp_zcu106_revA_defconfig | 7 +-
> doc/README.android-fastboot | 240 +++++++-----
> drivers/Kconfig | 2 +
> drivers/Makefile | 1 +
> {cmd => drivers}/fastboot/Kconfig | 63 ++--
> drivers/fastboot/Makefile | 7 +
> drivers/fastboot/fb_command.c | 335 +++++++++++++++++
> drivers/fastboot/fb_common.c | 169 +++++++++
> drivers/fastboot/fb_getvar.c | 230 ++++++++++++
> {common => drivers/fastboot}/fb_mmc.c | 216 +++++++----
> {common => drivers/fastboot}/fb_nand.c | 69 +++-
> drivers/usb/gadget/f_fastboot.c | 347
> ++---------------- fs/fs.c |
> 13 + include/fastboot-internal.h | 36 ++
> include/fastboot.h | 137 ++++++-
> include/fb_mmc.h | 35 +-
> include/fb_nand.h | 37 +-
> include/fs.h | 10 +
> include/image-sparse.h | 4 +-
> include/net.h | 2 +-
> include/net/fastboot.h | 21 ++
> lib/Kconfig | 11 +
> lib/Makefile | 1 +
> {common => lib}/image-sparse.c | 38 +-
> net/Makefile | 1 +
> net/fastboot.c | 317 ++++++++++++++++
> net/net.c | 7 +
> scripts/config_whitelist.txt | 2 -
> 104 files changed, 2094 insertions(+), 696 deletions(-)
> rename {cmd => drivers}/fastboot/Kconfig (78%)
> create mode 100644 drivers/fastboot/Makefile
> create mode 100644 drivers/fastboot/fb_command.c
> create mode 100644 drivers/fastboot/fb_common.c
> create mode 100644 drivers/fastboot/fb_getvar.c
> rename {common => drivers/fastboot}/fb_mmc.c (62%)
> rename {common => drivers/fastboot}/fb_nand.c (71%)
> create mode 100644 include/fastboot-internal.h
> create mode 100644 include/net/fastboot.h
> rename {common => lib}/image-sparse.c (88%)
> create mode 100644 net/fastboot.c
>
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/20180528/cfa760d9/attachment-0001.sig>
next prev parent reply other threads:[~2018-05-28 7:39 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-24 13:28 [U-Boot] [PATCH v7 00/18] Add fastboot UDP support Alex Kiernan
2018-05-24 13:28 ` [U-Boot] [PATCH v7 01/18] fastboot: Move fastboot to drivers/fastboot Alex Kiernan
2018-05-24 13:28 ` [U-Boot] [PATCH v7 02/18] fastboot: Refactor fastboot_okay/fail to take response Alex Kiernan
2018-05-24 13:28 ` [U-Boot] [PATCH v7 03/18] fastboot: Extract fastboot_okay/fail to fb_common.c Alex Kiernan
2018-05-24 13:28 ` [U-Boot] [PATCH v7 04/18] fastboot: Correct dependencies in FASTBOOT_FLASH Alex Kiernan
2018-05-24 13:29 ` [U-Boot] [PATCH v7 05/18] fastboot: Add missing newlines Alex Kiernan
2018-05-24 13:29 ` [U-Boot] [PATCH v7 06/18] fastboot: Remove FIXME for CONFIG_FASTBOOT_...NAME Alex Kiernan
2018-05-24 13:29 ` [U-Boot] [PATCH v7 07/18] fastboot: Fix parameter types in _fb_nand_write Alex Kiernan
2018-05-24 13:29 ` [U-Boot] [PATCH v7 08/18] fastboot: Rename fb_set_reboot_flag to fastboot_set_reboot_flag Alex Kiernan
2018-05-24 13:29 ` [U-Boot] [PATCH v7 09/18] fastboot: Extract common definitions from USB fastboot Alex Kiernan
2018-05-24 13:29 ` [U-Boot] [PATCH v7 10/18] fastboot: Rename public fb_ functions to fastboot_ Alex Kiernan
2018-05-24 13:29 ` [U-Boot] [PATCH v7 11/18] ti: fastboot: Move weak overrides to board files Alex Kiernan
2018-05-24 13:29 ` [U-Boot] [PATCH v7 12/18] fs: Add fs_get_type_name to return current filesystem name Alex Kiernan
2018-05-24 13:29 ` [U-Boot] [PATCH v7 13/18] fastboot: Migrate FASTBOOT_FLASH_NAND_TRIMFFS to Kconfig Alex Kiernan
2018-05-24 13:29 ` [U-Boot] [PATCH v7 14/18] mmc: Separate "mmc swrite" from fastboot Alex Kiernan
2018-05-25 2:41 ` Simon Glass
2018-05-25 10:02 ` Alex Kiernan
2018-05-24 13:29 ` [U-Boot] [PATCH v7 15/18] net: fastboot: Merge AOSP UDP fastboot Alex Kiernan
2018-05-24 13:29 ` [U-Boot] [PATCH v7 16/18] fastboot: Add support for 'oem format' command Alex Kiernan
2018-05-24 13:29 ` [U-Boot] [PATCH v7 17/18] usb: fastboot: Convert USB f_fastboot to shared fastboot Alex Kiernan
2018-05-25 2:41 ` Simon Glass
2018-05-24 13:29 ` [U-Boot] [PATCH v7 18/18] fastboot: Update fastboot documentation Alex Kiernan
2018-05-25 2:41 ` Simon Glass
2018-05-28 7:39 ` Lukasz Majewski [this message]
2018-05-29 11:24 ` [U-Boot] [PATCH v7 00/18] Add fastboot UDP support Alex Kiernan
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=20180528093953.76d2502f@jawa \
--to=lukma@denx.de \
--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 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.