summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* dm: Rename DM test flags to make them more genericSimon Glass2020-08-0777-300/+301
| | | | | | | | | | The test flags used by driver model are currently not available to other tests. Rather than creating two sets of flags, make these flags generic by changing the DM_ prefix to UT_ and moving them to the test.h header. This will allow adding other test flags without confusion. Signed-off-by: Simon Glass <sjg@chromium.org>
* console: Always define the console-recording functionsSimon Glass2020-08-072-2/+42
| | | | | | | | | | | | On boards without console recording these function are currently missing. It is more convenient for them to be present but to return dummy values. That way if we know that a test needs recording, we can check if it is available, and skip the test if not, while avoiding #ifdefs. Update the header file according and adjust console_record_reset_enable() to return an error if recording is not available. Signed-off-by: Simon Glass <sjg@chromium.org>
* test: Add a way to check part of a console line or skip itSimon Glass2020-08-072-0/+81
| | | | | | | | | | | | | Some lines of the output are not worth testing, or not worth testing in their entirety. For example, when checking a hex dump we know that the hex-dump routine can display ASCII so we only need to check the hex bytes, not the ASCII dump. Add a new test macros which can check only part of a console line. Sometimes it is useful to skip a line altogether, so add a macro for that also. Signed-off-by: Simon Glass <sjg@chromium.org>
* Merge branch '2020-08-07-mkimage-improvements'Tom Rini2020-08-072-46/+64
|\ | | | | | | - Assorted mkimage improvements related to FIT images and verified boot
| * mkimage: fit: fix import of external dataPatrick Oppenlander2020-08-071-2/+2
| | | | | | | | | | | | | | The external data is located after the mmapped FDT pointed to by 'old_fdt', not in the newly created FDT we are importing into at 'fdt'. Signed-off-by: Patrick Oppenlander <patrick.oppenlander@gmail.com>
| * mkimage: fit: include image cipher in configuration signaturePatrick Oppenlander2020-08-071-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | This patch addresses issue #2 for signed configurations. -----8<----- Including the image cipher properties in the configuration signature prevents an attacker from modifying cipher, key or iv properties. Signed-off-by: Patrick Oppenlander <patrick.oppenlander@gmail.com> Reviewed-by: Philippe Reynes <philippe.reynes@softathome.com>
| * mkimage: fit: don't cipher ciphered dataPatrick Oppenlander2020-08-071-1/+14
| | | | | | | | | | | | | | | | Previously, mkimage -F could be run multiple times causing already ciphered image data to be ciphered again. Signed-off-by: Patrick Oppenlander <patrick.oppenlander@gmail.com> Reviewed-by: Philippe Reynes <philippe.reynes@softathome.com>
| * mkimage: fit: handle FDT_ERR_NOSPACE when cipheringPatrick Oppenlander2020-08-071-9/+10
| | | | | | | | | | | | | | | | Also replace fdt_delprop/fdt_setprop with fdt_setprop as fdt_setprop can replace an existing property value. Signed-off-by: Patrick Oppenlander <patrick.oppenlander@gmail.com> Reviewed-by: Philippe Reynes <philippe.reynes@softathome.com>
| * mkimage: fit: only process one cipher nodePatrick Oppenlander2020-08-071-35/+22
|/ | | | | | | | | | | | | Previously mkimage would process any node matching the regex cipher.* and apply the ciphers to the image data in the order they appeared in the FDT. This meant that data could be inadvertently ciphered multiple times. Switch to processing a single cipher node which exactly matches FIT_CIPHER_NODENAME. Signed-off-by: Patrick Oppenlander <patrick.oppenlander@gmail.com> Reviewed-by: Philippe Reynes <philippe.reynes@softathome.com>
* Merge https://gitlab.denx.de/u-boot/custodians/u-boot-usbTom Rini2020-08-064-25/+24
|\ | | | | | | - XHCI updates to support MIPS better
| * usb: xhci: Add virt_to_phys() to support mapped platformsStefan Roese2020-08-053-16/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some platforms, like MIPS Octeon, use mapped addresses (virtual address != physical address). On these platforms we need to make sure, that the local virtual addresses are converted to physical (DMA) addresses for the xHCI controller. This patch adds the missing virt_to_phys() calls, so that the correct addresses are used. Signed-off-by: Stefan Roese <sr@denx.de> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com> Cc: Bin Meng <bmeng.cn@gmail.com> Cc: Marek Vasut <marex@denx.de>
| * usb: usb-uclass.c: Drop le16_to_cpu() as values are already swappedStefan Roese2020-08-051-4/+4
| | | | | | | | | | | | | | | | | | | | | | These values are already swapped to CPU endianess, so swapping them again is a bug. Let's remove the swap here instead. Signed-off-by: Stefan Roese <sr@denx.de> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com> Cc: Bin Meng <bmeng.cn@gmail.com> Cc: Marek Vasut <marex@denx.de>
| * usb: xhci: xhci_mem_init: Use cpu_to_le64() and not xhci_writeq()Stefan Roese2020-08-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | xhci_writeq() makes the CPU->LE swapping only when addressing registers in the xHCI controller address range and not in the local memory (RAM). We need to use cpu_to_le64() here to ensure that the conversion is done correctly. Signed-off-by: Stefan Roese <sr@denx.de> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com> Cc: Bin Meng <bmeng.cn@gmail.com> Cc: Marek Vasut <marex@denx.de>
| * usb: xhci: Add missing endian conversions (cpu_to_leXX / leXX_to_cpu)Stefan Roese2020-08-051-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | While trying to use the U-Boot xHCI driver on the MIPS Octeon platform, which is big endian, I noticed that the driver is missing a few endian conversion calls. This patch adds these missing endian conversion calls. Signed-off-by: Stefan Roese <sr@denx.de> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com> Cc: Bin Meng <bmeng.cn@gmail.com> Cc: Marek Vasut <marex@denx.de>
* | Merge branch '2020-08-06-Kconfig-sram-options'Tom Rini2020-08-0621-112/+155
|\ \ | | | | | | | | | - Migrate a few SRAM related options to Kconfig, related cleanups.
| * | common/board_r: Move blkcache_init call earlier in the boot sequenceOvidiu Panait2020-08-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | blkcache_init manually relocates blkcache list pointers when CONFIG_NEEDS_MANUAL_RELOC is enabled. However, it is called very late in the boot sequence, which could be a problem if previous boot calls execute blkcache operations with the non-relocated pointers. For example, mmc is initialized earlier and might call blkcache_invalidate (in mmc_select_hwpart()) when trying to load the environment from mmc via env_load(). To fix this issue, move blkcache_init boot call earlier, before mmc gets initialized. Acked-by: Angelo Dureghello <angelo.dureghello@timesys.com> Tested-by: Angelo Dureghello <angelo.dureghello@timesys.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
| * | blkcache: Extend blkcache_init to cover CONFIG_NEEDS_MANUAL_RELOCOvidiu Panait2020-08-062-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend manual relocation of block_cache list pointers to all platforms that enable CONFIG_NEEDS_MANUAL_RELOC. Remove m68k-specific checks and provide a single implementation that adds gd->reloc_off to the pre-relocation pointers. Acked-by: Angelo Dureghello <angelo.dureghello@timesys.com> Tested-by: Angelo Dureghello <angelo.dureghello@timesys.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Eric Nelson <eric@nelint.com> Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> [trini: Add guard around DECLARE_GLOBAL_DATA_PTR to avoid size growth] Signed-off-by: Tom Rini <trini@konsulko.com>
| * | common/board_r: Remove initr_serial wrapperOvidiu Panait2020-08-061-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | Remove the initr_serial->serial_initialize indirection and call serial_initialize directly. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
| * | drivers: serial: Make serial_initialize return intOvidiu Panait2020-08-063-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | serial_initialize is called only during the common init sequence, after relocation (in common/board_r.c). Because it has a void return value, it has to wrapped in initr_serial. In order to be able to get rid of this indirection, make serial_initialize return int. Remove extern from prototype in order to silence the following checkpatch warning: check: extern prototypes should be avoided in .h files Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
| * | dm: blk: Use IS_ENABLED() instead of #ifdefs in blk_post_probeOvidiu Panait2020-08-061-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use IS_ENABLED() instead of #ifdef in blk_post_probe function. No functional change intended. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> [trini: Fix thinko and use CONFIG_HAVE_BLOCK_DEVICE in IS_ENABLED()] Signed-off-by: Tom Rini <trini@konsulko.com>
| * | board_f: Remove setup_board_part1Ovidiu Panait2020-08-061-11/+1
| | | | | | | | | | | | | | | | | | | | | | | | Now that all arch specific code was converted to setup_bdinfo, we can remove setup_board_part1. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
| * | board_f: ppc: Factor out ppc-specific bdinfo setupOvidiu Panait2020-08-062-34/+27
| | | | | | | | | | | | | | | | | | | | | | | | Factor out ppc-specific bdinfo setup from generic init sequence to arch_setup_bdinfo in arch/powerpc/lib/bdinfo.c. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
| * | board_f: m68k: Factor out m68k-specific bdinfo setupOvidiu Panait2020-08-062-15/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | Factor out m68k-specific bdinfo setup to arch_setup_bdinfo in arch/m68k/lib/bdinfo.c. Also, use if(IS_ENABLED()) instead of #ifdef where possible. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
| * | board_f: Move sram bdinfo assignments to generic codeOvidiu Panait2020-08-061-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move sram related bdinfo from arch-specific setup_board_part1 to generic code in setup_bdinfo. Also use "if (IS_ENABLED(CONFIG_SYS_HAS_SRAM))" instead of "#ifdef CONFIG_SYS_SRAM_BASE". Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
| * | board_f: Factor out bdinfo bi_mem{start, size} to setup_bdinfoOvidiu Panait2020-08-066-18/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move all assignments to gd->bd->bi_mem{start,size} to generic code in setup_bdinfo. Xtensa architecture is special in this regard as it defines its own handling of gd->bd->bi_mem{start,size} fields. In order to avoid defining a weak SDRAM function, let arch_setup_bdinfo overwrite the generic flags. For ARC architecture, remove ARCH_EARLY_INIT_R from Kconfig since it is not needed anymore. Also, use gd->ram_base to populate bi_memstart to avoid an ifdef. Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> Acked-by: Alexey Brodkin <abrokdin@synopsys.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | board_f: Introduce arch_setup_bdinfo initcallOvidiu Panait2020-08-062-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Certain architectures (ppc, mips, sh, m68k) use setup board_part1 and setup_board_part2 calls during pre-relocation init to populate gd->bd boardinfo fields. This makes the generic init sequence cluttered with arch-specific ifdefs. In order to clean these arch-specific sequences from generic init, introduce arch_setup_bdinfo weak initcall so that everyone can define their own bdinfo setup routines. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
| * | board_f: Introduce setup_bdinfo initcallOvidiu Panait2020-08-062-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | Introduce setup_bdinfo initcall as a generic routine to populate bdinfo fields. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
| * | cmd: bdinfo: Move sram info prints to generic codeOvidiu Panait2020-08-063-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | bi_sramstart and bi_sramsize are generic members of the bd_info structure, so move the m68k/powerpc-specific prints to generic code. Also, print them only if SRAM support is enabled via CONFIG_SYS_HAS_SRAM. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
| * | Kconfig: Remove CONFIG_SYS_SRAM_STARTOvidiu Panait2020-08-064-7/+2
| | | | | | | | | | | | | | | | | | | | | Remove ad-hoc CONFIG_SYS_SRAM_START and use CONFIG_SYS_SRAM_BASE instead. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
| * | Kconfig: Convert CONFIG_SYS_SRAM_SIZE to KconfigOvidiu Panait2020-08-065-5/+7
| | | | | | | | | | | | | | | | | | | | | This converts ad-hoc CONFIG_SYS_SRAM_SIZE to Kconfig. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
| * | Kconfig: Convert CONFIG_SYS_SRAM_BASE to KconfigOvidiu Panait2020-08-063-2/+5
| | | | | | | | | | | | | | | | | | | | | This converts ad-hoc CONFIG_SYS_SRAM_BASE to Kconfig. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
| * | Kconfig: Introduce CONFIG_SYS_HAS_SRAMOvidiu Panait2020-08-061-0/+11
|/ / | | | | | | | | | | | | | | | | In order to be able to replace "#ifdef CONFIG_SYS_SRAM_BASE" sequences with the IS_ENABLED() equivalent, introduce a new boolean Kconfig option that signals whether the platform has SRAM support. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
* | Merge https://gitlab.denx.de/u-boot/custodians/u-boot-marvellTom Rini2020-08-0619-28/+719
|\ \ | | | | | | | | | | | | - Cleanup in Marvell bubt cmd (Tom & Jagan) - Add a series of MikroTik CRS3xx, 98DX3236 based switches (Luka)
| * | mvebu: bubt: Drop dead codeTom Rini2020-08-061-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code around CONFIG_SYS_MMC_ENV_PART has been untested since merge. This can be seen by it referencing 'mmc->part_num' which was migrated elsewhere prior to this code being merged. Cc: Joel Johnson <mrjoel@lixil.net> Cc: Stefan Roese <sr@denx.de> Signed-off-by: Tom Rini <trini@konsulko.com> Acked-by: Stefan Roese <sr@denx.de> Reviewed-by: Stefan Roese <sr@denx.de>
| * | arm: mvebu: Update CRS305-1G-4S board flash layoutLuka Kovacic2020-08-062-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the MikroTik CRS305-1G-4S flash layout to support redundant UBI partitions. Additionally enable the UBI commands in crs305-1g-4s_defconfig. Signed-off-by: Luka Kovacic <luka.kovacic@sartura.hr> Cc: Luka Perkov <luka.perkov@sartura.hr> Cc: Jakov Petrina <jakov.petrina@sartura.hr> Reviewed-by: Stefan Roese <sr@denx.de>
| * | arm: mvebu: crs3xx-98dx3236: Add a maintainerLuka Kovacic2020-08-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add Luka Perkov to CRS3xx-98DX3236 MAINTAINERS. Signed-off-by: Luka Kovacic <luka.kovacic@sartura.hr> Cc: Luka Perkov <luka.perkov@sartura.hr> Cc: Jakov Petrina <jakov.petrina@sartura.hr> Reviewed-by: Stefan Roese <sr@denx.de>
| * | arm: mvebu: Add CRS328-4C-20S-4S boardLuka Kovacic2020-08-068-0/+302
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MikroTik CRS328-4C-20S-4S board has a switch chip with an integrated Marvell Prestera 98DX3236 CPU. This commit includes two board variants, namely the factory default one and a Bit variant. The Bit board variant has a bigger Macronix flash. Add basic U-Boot, UART and SPI flash support. Signed-off-by: Luka Kovacic <luka.kovacic@sartura.hr> Cc: Luka Perkov <luka.perkov@sartura.hr> Cc: Jakov Petrina <jakov.petrina@sartura.hr> Reviewed-by: Stefan Roese <sr@denx.de>
| * | arm: mvebu: Add CRS326-24G-2S boardLuka Kovacic2020-08-068-0/+302
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MikroTik CRS326-24G-2S board has a switch chip with an integrated Marvell Prestera 98DX3236 CPU. This commit includes two board variants, namely the factory default one and a Bit variant. The Bit board variant has a bigger Macronix flash. Add basic U-Boot, UART and SPI flash support. Signed-off-by: Luka Kovacic <luka.kovacic@sartura.hr> Cc: Luka Perkov <luka.perkov@sartura.hr> Cc: Jakov Petrina <jakov.petrina@sartura.hr> Reviewed-by: Stefan Roese <sr@denx.de>
| * | arm: mvebu: Add CRS305-1G-4S Bit boardLuka Kovacic2020-08-064-0/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MikroTik CRS305-1G-4S Bit board has a switch chip with an integrated Marvell Prestera 98DX3236 CPU. The Bit board variant is added, which has a bigger Macronix flash. Add basic U-Boot, UART and Winbond SPI flash support. Signed-off-by: Luka Kovacic <luka.kovacic@sartura.hr> Cc: Luka Perkov <luka.perkov@sartura.hr> Cc: Jakov Petrina <jakov.petrina@sartura.hr> Reviewed-by: Stefan Roese <sr@denx.de>
| * | cmd: mvebu/bubt: Drop unused SPI_FLASH_PROTECTIONJagan Teki2020-08-061-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SPI_FLASH_PROTECTION config item is never used in anywhere in the U-Boot tree. Drop it. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Reviewed-by: Stefan Roese <sr@denx.de>
* | | Azure/Travis: Update to latest Docker imageTom Rini2020-08-052-2/+2
|/ / | | | | | | | | | | | | | | - New bionic snapshot - Updated sbsigntool - Include SH4 in qemu Signed-off-by: Tom Rini <trini@konsulko.com>
* | Merge https://gitlab.denx.de/u-boot/custodians/u-boot-shTom Rini2020-08-054-4/+41
|\ \ | | | | | | | | | - r2dplus updates
| * | sh: r2dplus: Enable additional PCI ethernet devicesMarek Vasut2020-08-021-0/+4
| | | | | | | | | | | | | | | | | | | | | Enable these extra PCI ethernet devices, so they can be tested in CI. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
| * | sh: r2dplus: Enable DM_SERIAL and DM_CLKMarek Vasut2020-08-022-2/+4
| | | | | | | | | | | | | | | | | | | | | Switch r2dplus to DM and DT probing for serial and clock. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
| * | sh: r2dplus: Add SCIF1 to the basic DTMarek Vasut2020-08-021-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add simple DT and clock bindings to r2dplus DT to permit U-Boot to bind the SCIF driver via DT probing instead of hard-coded config options. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
| * | sh: Set gd->malloc_base if MALLOC_F_LEN is setMarek Vasut2020-08-021-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | The gd->malloc_base must be set before the C runtime if the MALLOC_F_LEN is non-zero, otherwise we hit assertion in dlmalloc.c initf_malloc(). So set it. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
| * | sh: r2dplus: Add pci enum to prebootMarek Vasut2020-08-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | The ethernet on r2dplus is on PCI bus, enumerate the PCI early to get the ethernet operational. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
| * | sh: r2dplus: Switch to DM ETHMarek Vasut2020-08-021-1/+1
| | | | | | | | | | | | | | | | | | | | | Enable DM ethernet support for the board, now that rtl8139 is converted. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
* | | Merge branch '2020-08-05-misc-fixes'Tom Rini2020-08-0544-128/+421
|\ \ \ | |_|/ |/| | | | | - A large number of assorted fixes and minor improvements
| * | tools: env: Avoid an uninited warning with was_lockedSimon Glass2020-08-051-1/+1
| | | | | | | | | | | | | | | | | | | | | Set this variable to 0 to avoid a warning about an unused variable. This happens on gcc 7.5.0 for me. Signed-off-by: Simon Glass <sjg@chromium.org>