rv1126-uboot/common
Jocelyn Bohr aba554cc34 Handle slow MMC writes
Flashing a 400Mb sparse system image takes ~10 minutes. The fastboot UDP
protocol expects a response within 1 minute, so during long flash
operations, the device must send fastboot "INFO" packets.

This patch does the following:
  - Separate large writes into writes of size FASTBOOT_MAX_BLK_WRITE.
    This parameter was tuned by hand to result in a ~10 second write.
  - Keep a timer and send an INFO packet every 30 seconds.
  - Adjust the sequence number in the header of the fastboot OKAY packet
    to account for any INFO packets sent during flashing.
  - Reduce busywaiting in the bcm2835 MMC driver. This change is based on
    what the kernel does, and doesn't seem to corrupt the MMC. Without
    this change, "flashall" takes 25 minutes.

Bug: 31887729
Test: "fastboot -s udp:$RPI_IP flashall" works, rpi3 boots
      - Compute CRC checksum over every write to verify written data
        was not corrupted.

Change-Id: Ib17ef6a85715705a8b5f722a8b7d3e5fd1a6625d
2017-11-14 10:55:45 +08:00
..
eeprom cmd: eeprom: add support for layout aware commands 2016-05-20 17:02:07 -04:00
init spl: make SPL and normal u-boot stage use independent SYS_MALLOC_F_LEN 2017-07-27 14:59:03 +02:00
spl spl: set SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR to 0x4000 for rockchip 2017-11-07 11:06:46 +08:00
Kconfig Move environment files from common/ to env/ 2017-08-15 08:18:45 -04:00
Makefile Implement fastboot flash and erase. 2017-11-14 10:55:45 +08:00
autoboot.c env: Rename getenv_hex(), getenv_yesno(), getenv_ulong() 2017-08-16 08:30:32 -04:00
bedbug.c
board_f.c common/board_f.c: remove CONFIG_SYS_GENERIC_GLOBAL_DATA 2017-08-20 09:54:32 -04:00
board_info.c generic-board: make show_board_info a weak function 2016-11-28 15:10:32 -05:00
board_r.c env: Rename eth_getenv_enetaddr() to eth_env_get_enetaddr() 2017-08-16 08:30:44 -04:00
boot_fit.c boot_fit: Change return value from FDT_ERROR to -EINVAL in fdt_offset() 2017-08-13 15:17:34 -04:00
bootm.c env: Rename some other getenv()-related functions 2017-08-16 08:31:11 -04:00
bootm_os.c bootvx_fdt: fix missing 'fdt_fixup_ethernet(...)' on vxWorks boot 2017-08-28 07:19:13 -04:00
bootretry.c env: Rename getenv/_f() to env_get() 2017-08-16 08:30:24 -04:00
bootstage.c bootstage: Adjust to use const * where possible 2017-06-05 14:13:08 -04:00
bouncebuf.c
cli.c env: Rename getenv/_f() to env_get() 2017-08-16 08:30:24 -04:00
cli_hush.c env: Rename getenv/_f() to env_get() 2017-08-16 08:30:24 -04:00
cli_readline.c common: cli_readline: Improve command line editing 2016-08-20 14:03:24 -04:00
cli_simple.c env: Rename getenv/_f() to env_get() 2017-08-16 08:30:24 -04:00
command.c Drop command-processing code when CONFIG_CMDLINE is disabled 2016-04-01 17:17:40 -04:00
common_fit.c spl: fit: Break out some functions into a common file 2017-07-10 14:24:39 -04:00
console.c common: console: Fix duplicated CONFIG in silent env callback 2017-08-28 07:19:12 -04:00
cros_ec.c cros_ec: Remove unused cros_ec_board_init() function 2015-04-18 11:11:16 -06:00
ddr_spd.c Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
dfu.c common: dfu: ignore reset for spl-dfu 2017-05-12 08:37:09 -04:00
dlmalloc.c spl: make SPL and normal u-boot stage use independent SYS_MALLOC_F_LEN 2017-07-27 14:59:03 +02:00
dlmalloc.src
edid.c edid: support decode edid to drm modes 2017-10-11 15:55:17 +08:00
exports.c board/ls2085rdb: Export functions for standalone AQ FW load apps 2015-07-20 11:44:37 -07:00
fb_common.c Handle slow MMC writes 2017-11-14 10:55:45 +08:00
fb_mmc.c Handle slow MMC writes 2017-11-14 10:55:45 +08:00
fb_nand.c Implement fastboot flash and erase. 2017-11-14 10:55:45 +08:00
fdt_support.c fdt: fdt_chosen: support merge uboot and kernel bootargs for Rockchip 2017-09-27 10:38:02 +08:00
flash.c flash: compile common/flash.c iif CONFIG_MTD_NO_FLASH is enabled 2017-02-12 14:30:31 -05:00
hash.c hash: Compile only hardware or software versions of SHA algorithms 2017-08-20 09:53:13 -04:00
hwconfig.c env: Rename getenv/_f() to env_get() 2017-08-16 08:30:24 -04:00
image-android.c env: Rename getenv/_f() to env_get() 2017-08-16 08:30:24 -04:00
image-fdt.c env: Rename some other getenv()-related functions 2017-08-16 08:31:11 -04:00
image-fit.c splash: add support for loading splash from a FIT image 2017-01-13 17:40:38 +01:00
image-sig.c image: Combine image_sig_algo with image_sign_info 2016-11-21 14:07:31 -05:00
image-sparse.c Implement fastboot flash and erase. 2017-11-14 10:55:45 +08:00
image.c rockchip: mkimage: add support for rockchip nand boot image 2017-11-07 16:30:53 +08:00
iomux.c console: Don't enable CONFIG-CONSOLE_MUX, etc. in SPL 2017-02-06 11:38:46 +08:00
iotrace.c common: Make sure arch-specific map_sysmem() is defined 2015-04-18 11:11:09 -06:00
kallsyms.c
kgdb.c Fix spelling of "occurred". 2016-05-02 18:37:09 -04:00
kgdb_stubs.c Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
lcd.c lcd: avoid possible NULL dereference 2017-08-19 20:42:20 +02:00
lcd_console.c common/lcd_console: introduce display/framebuffer rotation 2015-04-18 17:40:37 +02:00
lcd_console_rotation.c common/lcd_console: introduce display/framebuffer rotation 2015-04-18 17:40:37 +02:00
lcd_simplefb.c dm: video: Add driver-model support to lcd_simplefb 2017-05-09 20:20:41 -04:00
lynxkdi.c powerpc: remove 4xx support 2017-07-03 17:35:28 -04:00
main.c env: Rename getenv/_f() to env_get() 2017-08-16 08:30:24 -04:00
malloc_simple.c malloc_simple: Add debug statements to memalign_simple 2017-01-28 14:04:34 -05:00
memsize.c Revert "common/memsize.c: Simplify RAM size detection" 2016-02-10 08:34:42 -05:00
menu.c Fix typo choosen in comments and printf logs 2016-03-27 09:12:23 -04:00
miiphyutil.c common: miiphyutil: Add helper function for mdio bus name 2016-12-20 07:40:04 +01:00
s_record.c
splash.c env: Rename getenv/_f() to env_get() 2017-08-16 08:30:24 -04:00
splash_source.c splash_source: Verify FIT magic 2017-09-04 23:53:47 +02:00
stdio.c i2c: Finish dropping use of CONFIG_I2C_HARD 2017-05-15 06:18:30 +02:00
system_map.c
update.c env: Rename getenv/_f() to env_get() 2017-08-16 08:30:24 -04:00
usb.c powerpc: remove 4xx support 2017-07-03 17:35:28 -04:00
usb_hub.c env: Rename getenv/_f() to env_get() 2017-08-16 08:30:24 -04:00
usb_kbd.c env: Rename getenv/_f() to env_get() 2017-08-16 08:30:24 -04:00
usb_storage.c dm: scsi: Drop the ccb typedef 2017-07-11 10:08:19 -06:00
xyzModem.c common/xyzModem.c: Do not use hard-coded address for debug buffer 2017-04-08 09:26:55 -04:00