Tom Rini [Fri, 7 Aug 2020 15:56:34 +0000 (11:56 -0400)]
Merge branch '2020-08-07-mkimage-improvements'
- Assorted mkimage improvements related to FIT images and verified boot
Patrick Oppenlander [Thu, 30 Jul 2020 04:31:48 +0000 (14:31 +1000)]
mkimage: fit: fix import of external data
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>
Patrick Oppenlander [Thu, 30 Jul 2020 04:30:47 +0000 (14:30 +1000)]
mkimage: fit: include image cipher in configuration signature
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>
Patrick Oppenlander [Thu, 30 Jul 2020 04:22:15 +0000 (14:22 +1000)]
mkimage: fit: don't cipher ciphered data
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>
Patrick Oppenlander [Thu, 30 Jul 2020 04:22:14 +0000 (14:22 +1000)]
mkimage: fit: handle FDT_ERR_NOSPACE when ciphering
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>
Patrick Oppenlander [Thu, 30 Jul 2020 04:22:13 +0000 (14:22 +1000)]
mkimage: fit: only process one cipher node
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>
Tom Rini [Fri, 7 Aug 2020 03:09:32 +0000 (23:09 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-usb
- XHCI updates to support MIPS better
Tom Rini [Fri, 7 Aug 2020 00:57:55 +0000 (20:57 -0400)]
Merge branch '2020-08-06-Kconfig-sram-options'
- Migrate a few SRAM related options to Kconfig, related cleanups.
Ovidiu Panait [Fri, 24 Jul 2020 11:12:25 +0000 (14:12 +0300)]
common/board_r: Move blkcache_init call earlier in the boot sequence
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>
Ovidiu Panait [Fri, 24 Jul 2020 11:12:24 +0000 (14:12 +0300)]
blkcache: Extend blkcache_init to cover CONFIG_NEEDS_MANUAL_RELOC
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>
Ovidiu Panait [Fri, 24 Jul 2020 11:12:23 +0000 (14:12 +0300)]
common/board_r: Remove initr_serial wrapper
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>
Ovidiu Panait [Fri, 24 Jul 2020 11:12:22 +0000 (14:12 +0300)]
drivers: serial: Make serial_initialize return int
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>
Ovidiu Panait [Fri, 24 Jul 2020 11:12:21 +0000 (14:12 +0300)]
dm: blk: Use IS_ENABLED() instead of #ifdefs in blk_post_probe
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>
Ovidiu Panait [Fri, 24 Jul 2020 11:12:20 +0000 (14:12 +0300)]
board_f: Remove setup_board_part1
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>
Ovidiu Panait [Fri, 24 Jul 2020 11:12:19 +0000 (14:12 +0300)]
board_f: ppc: Factor out ppc-specific bdinfo setup
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>
Ovidiu Panait [Fri, 24 Jul 2020 11:12:18 +0000 (14:12 +0300)]
board_f: m68k: Factor out m68k-specific bdinfo setup
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>
Ovidiu Panait [Fri, 24 Jul 2020 11:12:17 +0000 (14:12 +0300)]
board_f: Move sram bdinfo assignments to generic code
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>
Ovidiu Panait [Fri, 24 Jul 2020 11:12:16 +0000 (14:12 +0300)]
board_f: Factor out bdinfo bi_mem{start, size} to setup_bdinfo
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>
Ovidiu Panait [Fri, 24 Jul 2020 11:12:15 +0000 (14:12 +0300)]
board_f: Introduce arch_setup_bdinfo initcall
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>
Ovidiu Panait [Fri, 24 Jul 2020 11:12:14 +0000 (14:12 +0300)]
board_f: Introduce setup_bdinfo initcall
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>
Ovidiu Panait [Fri, 24 Jul 2020 11:12:13 +0000 (14:12 +0300)]
cmd: bdinfo: Move sram info prints to generic code
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>
Ovidiu Panait [Fri, 24 Jul 2020 11:12:12 +0000 (14:12 +0300)]
Kconfig: Remove CONFIG_SYS_SRAM_START
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>
Ovidiu Panait [Fri, 24 Jul 2020 11:12:11 +0000 (14:12 +0300)]
Kconfig: Convert CONFIG_SYS_SRAM_SIZE to Kconfig
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>
Ovidiu Panait [Fri, 24 Jul 2020 11:12:10 +0000 (14:12 +0300)]
Kconfig: Convert CONFIG_SYS_SRAM_BASE to Kconfig
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>
Ovidiu Panait [Fri, 24 Jul 2020 11:12:09 +0000 (14:12 +0300)]
Kconfig: Introduce CONFIG_SYS_HAS_SRAM
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>
Tom Rini [Thu, 6 Aug 2020 15:06:02 +0000 (11:06 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-marvell
- Cleanup in Marvell bubt cmd (Tom & Jagan)
- Add a series of MikroTik CRS3xx, 98DX3236 based switches (Luka)
Tom Rini [Fri, 24 Jul 2020 21:13:17 +0000 (17:13 -0400)]
mvebu: bubt: Drop dead code
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>
Luka Kovacic [Thu, 23 Jul 2020 08:56:40 +0000 (10:56 +0200)]
arm: mvebu: Update CRS305-1G-4S board flash layout
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>
Luka Kovacic [Thu, 23 Jul 2020 08:56:39 +0000 (10:56 +0200)]
arm: mvebu: crs3xx-98dx3236: Add a maintainer
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>
Luka Kovacic [Thu, 23 Jul 2020 08:56:38 +0000 (10:56 +0200)]
arm: mvebu: Add CRS328-4C-20S-4S board
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>
Luka Kovacic [Thu, 23 Jul 2020 08:56:37 +0000 (10:56 +0200)]
arm: mvebu: Add CRS326-24G-2S board
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>
Luka Kovacic [Thu, 23 Jul 2020 08:56:36 +0000 (10:56 +0200)]
arm: mvebu: Add CRS305-1G-4S Bit board
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>
Jagan Teki [Sun, 12 Jul 2020 17:59:01 +0000 (23:29 +0530)]
cmd: mvebu/bubt: Drop unused SPI_FLASH_PROTECTION
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>
Tom Rini [Wed, 5 Aug 2020 23:28:49 +0000 (19:28 -0400)]
Azure/Travis: Update to latest Docker image
- New bionic snapshot
- Updated sbsigntool
- Include SH4 in qemu
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Wed, 5 Aug 2020 20:06:42 +0000 (16:06 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-sh
- r2dplus updates
Tom Rini [Wed, 5 Aug 2020 20:05:33 +0000 (16:05 -0400)]
Merge branch '2020-08-05-misc-fixes'
- A large number of assorted fixes and minor improvements
Simon Glass [Sat, 1 Aug 2020 16:30:39 +0000 (10:30 -0600)]
tools: env: Avoid an uninited warning with was_locked
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>
Simon Glass [Sat, 1 Aug 2020 16:30:38 +0000 (10:30 -0600)]
tools: env: Fix printf() warning in fw_env
The printf() string produces a warning about %d not matching size_t. Fix
it and put the format string on one line to avoid a checkpatch warning.
Signed-off-by: Simon Glass <sjg@chromium.org>
Icenowy Zheng [Fri, 31 Jul 2020 18:56:45 +0000 (02:56 +0800)]
ARM: add Kconfig option for PSCI 0.1
We still have some platforms that only implements functionalities in
PSCI 0.1 (e.g. Allwinner ARMv7 SoCs).
Add a Kconfig option for exporting only PSCI 0.1. The code to export
PSCI 0.1 is still available and gets activated by this patch.
In addition, default ARCH_SUNXI U-Boot PSCI implementation to export
PSCI 0.1, to fix poweroff/reboot regression on Allwinner multi-core
ARMv7 SoCs.
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Heinrich Schuchardt [Tue, 28 Jul 2020 15:56:33 +0000 (17:56 +0200)]
cmd: bdinfo: cleanup phys_addr_t output
We currently print the memory size with at least 8 hexadecimal digits.
This creates a ragged output on 64 bit boards, e.g. on a Kendryte K210:
DRAM bank = 0x0000000000000002
-> start = 0x0000000080600000
-> size = 0x0000000000200000
memstart = 0x0000000000000000
memsize = 0x00000000
flashstart = 0x0000000000000000
flashsize = 0x0000000000000000
flashoffset = 0x0000000000000000
All other numbers are printed with the number of digits needed for the type
ulong. So use this value as minimum number of digits (precision) for
printing physical addresses.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Baruch Siach [Tue, 28 Jul 2020 14:57:48 +0000 (17:57 +0300)]
cmd: bootz: fix device-tree overlap test
The address of the kernel image is stored in images->ep. zi_start is the
offset of execution entry in the image, which is usually 0 for ARM
zImage.
Fixes boot error when ftd is stored near RAM address 0x0:
ERROR: FDT image overlaps OS image (OS=0x0..0x5fd608)
Fixes:
fbde7589ce30 ("common: bootm: add checks to verify if ramdisk / fdtimage overlaps OS image")
Cc: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Fabio Estevam [Tue, 28 Jul 2020 00:03:13 +0000 (21:03 -0300)]
fit_image: Use calloc() to fix reproducibility issue
Vagrant Cascadian reported that mx6cuboxi target no longer builds
reproducibility on Debian.
One example of builds mismatches:
00096680: 696e 6700 736f 756e 642d 6461 6900 6465 ing.sound-dai.de
-
00096690: 7465 6374 2d67 7069 6f73 0000 tect-gpios..
+
00096690: 7465 6374 2d67 7069 6f73 0061 tect-gpios.a
This problem happens because all the buffers in fit_image.c are
allocated via malloc(), which does not zero out the allocated buffer.
Using calloc() fixes this unpredictable behaviour as it guarantees
that the allocated buffer are zero initialized.
Reported-by: Vagrant Cascadian <vagrant@reproducible-builds.org>
Suggested-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Vagrant Cascadian <vagrant@reproducible-builds.org>
Stefan Roese [Tue, 21 Jul 2020 08:46:05 +0000 (10:46 +0200)]
usb: xhci: Add virt_to_phys() to support mapped platforms
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>
Stefan Roese [Tue, 21 Jul 2020 08:46:04 +0000 (10:46 +0200)]
usb: usb-uclass.c: Drop le16_to_cpu() as values are already swapped
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>
Stefan Roese [Tue, 21 Jul 2020 08:46:03 +0000 (10:46 +0200)]
usb: xhci: xhci_mem_init: Use cpu_to_le64() and not xhci_writeq()
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>
Stefan Roese [Tue, 21 Jul 2020 08:46:02 +0000 (10:46 +0200)]
usb: xhci: Add missing endian conversions (cpu_to_leXX / leXX_to_cpu)
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>
Brian Moyer [Sun, 26 Jul 2020 20:17:53 +0000 (13:17 -0700)]
arm: Add SPL build check to SPL early bss clear
SPL_CLEAR_BSS is called regardless of build type if
CONFIG_SPL_EARLY_BSS is defined. Add a guard for CONFIG_SPL_BUILD
to fix.
Signed-off-by: Brian Moyer <bdm310@gmail.com>
Heinrich Schuchardt [Sat, 25 Jul 2020 07:55:46 +0000 (09:55 +0200)]
doc: move Clang documentation to HTML
* Move README.clang to doc/build/clang.rst and reformat as
reStructeredText.
* Indicate that -ffixed-r9 and -ffixed-x18 are used to reserve registers
for gd.
* Minor editing.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Michal Simek [Thu, 23 Jul 2020 07:00:40 +0000 (09:00 +0200)]
pinctrl: aspeed: Fix Kconfig entry indentation
Fix Kconfig entry indentation for Aspeed ast2500 pin control driver.
Fixes:
4f0e44e46615 ("aspeed: AST2500 Pinctrl Driver")
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Michal Simek [Wed, 22 Jul 2020 12:58:25 +0000 (14:58 +0200)]
Makefile.lib: Build all DTS with -@ if OF_LIBFDT_OVERLAY is enabled
The commit
47818e23a228 ("Makefile.lib: include /__symbols__ in dtb if
SPL_LOAD_FIT_APPLY_OVERLAY is enabled") enables DT building as overlays
based on symbols which depends on SPL. But there is already an option to
apply overlays in full U-Boot too.
And there are platforms which are not using SPL and there is no option to
build DTs with -@ parameter.
That's why change dependency on OF_LIBFDT_OVERLAY which is already symbol
which is selected when SPL_LOAD_FIT_APPLY_OVERLAY is enabled but also
adding support for platforms which don't enable SPL and want to work with
overlays on U-Boot prompt.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Michal Simek [Wed, 22 Jul 2020 11:58:54 +0000 (13:58 +0200)]
dt-bindings: Sync include/dt-bindings/phy/phy.h from Linux
Add 4 new phy types which are present in Linux kernel.
DP and SGMII types are used on Xilinx ZynqMP devices.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Stephen Warren [Tue, 21 Jul 2020 20:38:51 +0000 (14:38 -0600)]
fixdep: fix coding style in previous fix
Remove a double space introduced by my previous fixdep fix.
Fixes:
76ae74d348a0 ("fixdep: fix CONFIG_IS_ENABLED etc. handling")
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Yan Liu [Tue, 21 Jul 2020 15:12:05 +0000 (11:12 -0400)]
test/py: Add test support for three stage boot
Current pytest only support upto 2 stage boot;
Some boards like TI K3 am6/J7 boards use 3 stage
boot. This patch adds u_boot_spl2 to be able to
handle the 3-stage boot case. User needs to set
"env__spl2_skipped" in u_boot_boardenv config
file to use this support. By default it is set
to TRUE.
Signed-off-by: Yan Liu <yan-liu@ti.com>
Signed-off-by: Yan Liu <yan-liu@ti.com>
Jonas Smedegaard [Tue, 21 Jul 2020 07:32:20 +0000 (09:32 +0200)]
arm: move CONFIG_PREBOOT="usb start" to KConfig
This commit moves CONFIG_PREBOOT="usb start" to common/KConfig
for all boards also declaring USB_KEYBOARD.
Besides simplifying defconfig files, this also enables support for
board-specific CONFIG_PREBOOT for sunxi boards:
commit
37304aaf60bf ("Convert CONFIG_USE_PREBOOT and CONFIG_PREBOOT to
Kconfig") intended to support CONFIG_PREBOOT, but
include/configs/sunxi-common.h hardcodes preboot as part of internally
defined CONSOLE_STDIN_SETTINGS, silently ignoring any board-specific
CONFIG_PREBOOT.
Signed-off-by: Jonas Smedegaard <dr@jones.dk>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Series-Cc: Jagan Teki <jagan@amarulasolutions.com>
Series-Cc: Lukasz Majewski <lukma@denx.de>
Series-Cc: Andre Przywara <andre.przywara@arm.com>
Marek Szyprowski [Mon, 15 Jun 2020 09:15:57 +0000 (11:15 +0200)]
net: ping: reset stored IP address
Reset the stored ping IP address before entering a netloop with different
protocol to ensure that it won't be interrupted by the received
correct ICMP_ECHO_REPLY packet.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Patrick Delaunay [Mon, 8 Jun 2020 09:27:19 +0000 (11:27 +0200)]
net: dwc_eth_qos: add Kconfig option to select supported configuration
Add configuration flag to select the supported dwc driver configuration:
- CONFIG_DWC_ETH_QOS_TEGRA186
- CONFIG_DWC_ETH_QOS_IMX
- CONFIG_DWC_ETH_QOS_STM32
See Linux driver ethernet/stmicro/stmmac and associated glue layers
for other configuration examples.
This patch removes the not-selected compatibles and lets the linker remove
the unused functions to reduce the size of the driver.
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Tero Kristo [Mon, 20 Jul 2020 08:10:45 +0000 (11:10 +0300)]
lmb/bdinfo: dump lmb info via bdinfo
Dump lmb status from the bdinfo command. This is useful for seeing the
reserved memory regions from the u-boot cmdline.
Signed-off-by: Tero Kristo <t-kristo@ti.com>
Ramon Fried [Sat, 18 Jul 2020 20:31:46 +0000 (23:31 +0300)]
net: tftp: Add client support for RFC 7440
Add support for RFC 7440: "TFTP Windowsize Option".
This optional feature allows the client and server
to negotiate a window size of consecutive blocks to send as an
alternative for replacing the single-block lockstep schema.
windowsize can be defined statically during compilation by
setting CONFIG_TFTP_WINDOWSIZE, or defined in runtime by
setting an environment variable: "tftpwindowsize"
If not defined, the windowsize is set to 1, meaning that it
behaves as it was never defined.
Choosing the appropriate windowsize depends on the specific
network topology, underlying NIC.
You should test various windowsize scenarios and see which
best work for you.
Setting a windowsize too big can actually decreases performance.
Signed-off-by: Ramon Fried <rfried.dev@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Yann Gautier [Fri, 17 Jul 2020 12:20:15 +0000 (14:20 +0200)]
psci: put psci_method in .data section if EFI_LOADER is not enabled
Move the variable psci_method in .data section when EFI is not
activated and the psci driver safely access it before relocation.
Without this patch the variable is located in .bss section
and the psci probe requested before relocation corrupts the device
tree (probe is requested by board_f.c::print_resetinfo()).
When EFI_LOADER is activated, this variable in already located in the
.data.efi_runtime section by __efi_runtime_data.
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Doyle, Patrick [Wed, 15 Jul 2020 14:46:34 +0000 (14:46 +0000)]
Fix corner case in bad block table handling.
In the unlikely event that both blocks 10 and 11 are marked as bad (on a
32 bit machine), then the process of marking block 10 as bad stomps on
cached entry for block 11. There are (of course) other examples.
Signed-off-by: Patrick Doyle <pdoyle@irobot.com>
Reviewed-by: Richard Weinberger <richard@nod.at>
John Chau [Thu, 2 Jul 2020 04:01:21 +0000 (12:01 +0800)]
cmd: add clone command
This patch adds a feature for block device cloning similar to dd
command, this should be useful for boot-strapping a device where
usb gadget or networking is not available. For instance one can
clone a factory image into a blank emmc from an external sd card.
Signed-off-by: John Chau <john@harmon.hk>
Jason Wessel [Tue, 23 Jun 2020 21:36:54 +0000 (14:36 -0700)]
fs/fat/fat.c: Do not perform zero block reads if there are no blocks left
While using u-boot with qemu's virtio driver I stumbled across a
problem reading files less than sector size. On the real hardware the
block reader seems ok with reading zero blocks, and while we could fix
the virtio host side of qemu to deal with a zero block read instead of
crashing, the u-boot fat driver should not be doing zero block reads
in the first place. If you ask hardware to read zero blocks you are
just going to get zero data. There may also be other hardware that
responds similarly to the virtio interface so this is worth fixing.
Without the patch I get the following and have to restart qemu because
it dies.
---------------------------------
=> fatls virtio 0:1
30 cmdline.txt
=> fatload virtio 0:1 ${loadaddr} cmdline.txt
qemu-system-aarch64: virtio: zero sized buffers are not allowed
---------------------------------
With the patch I get the expected results.
---------------------------------
=> fatls virtio 0:1
30 cmdline.txt
=> fatload virtio 0:1 ${loadaddr} cmdline.txt
30 bytes read in 11 ms (2 KiB/s)
=> md.b ${loadaddr} 0x1E
40080000: 64 77 63 5f 6f 74 67 2e 6c 70 6d 5f 65 6e 61 62 dwc_otg.lpm_enab
40080010: 6c 65 3d 30 20 72 6f 6f 74 77 61 69 74 0a le=0 rootwait.
---------------------------------
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Tom Rini [Tue, 4 Aug 2020 15:11:02 +0000 (11:11 -0400)]
Merge tag 'u-boot-imx-
20200804' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
For 2020.10
-----------
- fixes for Toradex board
- fix warnings from previous PR
- HAB: reset instead of panic after failure
- new board: MYiR Tech MYS-6ULX
- mx6cuboxi: use OF_PLATDATA
- further changes for DM
Travis: https://travis-ci.org/github/sbabic/u-boot-imx/builds/
714513163
Tom Rini [Tue, 4 Aug 2020 15:07:55 +0000 (11:07 -0400)]
Merge tag 'fixes-for-2020.10-rc1' of https://gitlab.denx.de/u-boot/custodians/u-boot-video
- Fix tbs2910 vidconsole environment
- Fix ipuv3 framebuffer output on i.MX6Q/D
Tom Rini [Tue, 4 Aug 2020 15:07:38 +0000 (11:07 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-riscv
- add DM based reset driver for SiFive SoC's.
Tom Rini [Tue, 4 Aug 2020 15:07:16 +0000 (11:07 -0400)]
Merge tag 'mips-pull-2020-08-03' of https://gitlab.denx.de/u-boot/custodians/u-boot-mips
- doc: fix qemu-mips build instructions
- MIPS: add GPIO, CLK and SPI drivers for Octeon MIPS64
Tom Rini [Tue, 4 Aug 2020 02:20:22 +0000 (22:20 -0400)]
Merge branch '2020-08-01-misc-cleanups'
- Further cleanup of common.h and dm.h usage in headers
Simon Glass [Sun, 19 Jul 2020 16:16:01 +0000 (10:16 -0600)]
checkpatch: Don't allow common.h and dm.h in headers
These headers should not be included in other header files. Add a
checkpatch rule and test for this.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:16:00 +0000 (10:16 -0600)]
patman: Fix up the test comments
Many of the tests have the same comment and two have the same name. Fix
this.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:59 +0000 (10:15 -0600)]
dm: core: Guard against including dm.h in header files
Header files generally should not include header files just for a struct,
since forward declarations work just as well and reduce overhead.
Add a warning for dm.h being included, since this has crept into U-Boot.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:58 +0000 (10:15 -0600)]
net: Drop duplicate include of dm.h in pcnet.c
This file includes the header twice. Drop the second one.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:57 +0000 (10:15 -0600)]
net: Drop dm.h header file in eth_phy.h
This header file should not be included in other header files. Remove it
and use a forward declaration instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:56 +0000 (10:15 -0600)]
clk: Drop dm.h header file in clk-provider.h
This header file should not be included in other header files. Remove it
and use a forward declaration and un-inlining of dev_get_clk_ptr()
instead.
Fix up the kendryte header files to avoid build errors.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Sean Anderson <seanga2@gmail.com>
Simon Glass [Sun, 19 Jul 2020 16:15:55 +0000 (10:15 -0600)]
usb: Drop dm.h header file
This header file should not be included in other header files. Remove it
and use a forward declaration instead.
Also move the inline function out into a C file. We should not include C
code in headers.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:54 +0000 (10:15 -0600)]
ufs: Drop dm.h header file
This header file should not be included in other header files. Remove it
and use a forward declaration instead.
Also drop asm/io.h
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:53 +0000 (10:15 -0600)]
nand: Drop dm.h header file
This header file should not be included in other header files. Remove it
and use a forward declaration instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:52 +0000 (10:15 -0600)]
adc: Drop dm.h header file
This header file should not be included in other header files. Remove it
and use a forward declaration instead.
Drop the common.h inclusion also.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:51 +0000 (10:15 -0600)]
mscc: Drop dm.h header file
This header file should not be included in other header files. Remove it
from each one and use a forward declaration instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:50 +0000 (10:15 -0600)]
mediatek: Drop dm.h header file
This header file should not be included in other header files. Remove it
and use a forward declaration instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:49 +0000 (10:15 -0600)]
pci: Drop dm.h inclusion from header file
The layerscape header should not include dm.h so remove it.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:48 +0000 (10:15 -0600)]
liebherr: Drop duplicate dm.h inclusion
We only need to include this header once. Drop the duplicate.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:47 +0000 (10:15 -0600)]
ti: am654: Drop duplicate dm.h inclusion
We only need to include this header once. Drop the duplicate.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:46 +0000 (10:15 -0600)]
spi: Drop duplicate dm.h inclusion
We only need to include this header once. Drop the duplicate.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:45 +0000 (10:15 -0600)]
mmc: Drop duplicate dm.h inclusion
We only need to include this header once. Drop the duplicate.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:44 +0000 (10:15 -0600)]
power: Tidy up inclusion of regulator_common.h
This file should not include common.h and dm.h so remove them. Also move
the inclusion of this file to after the normal includes.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Simon Glass [Sun, 19 Jul 2020 16:15:43 +0000 (10:15 -0600)]
efi: Tidy up header includes
Two files relies on efi_driver.h to include common.h and dm.h which is
incorrect. The former should always be included in a non-host C file and
the latter should be included if driver model is used.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:42 +0000 (10:15 -0600)]
w1: Drop dm.h header file
This header file should not be included in other header files. Remove it
and use a forward declaration instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:41 +0000 (10:15 -0600)]
thermal: Drop dm.h header file
This header file should not be included in other header files. Remove it
and use a forward declaration instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:40 +0000 (10:15 -0600)]
sf: Drop dm.h header file from spi_flash.h
This header file should not be included in other header files. Remove it
and use a forward declaration instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:39 +0000 (10:15 -0600)]
net: Drop dm.h header file from phy.h
This header file should not be included in other header files. Remove it
and use other headers and C inclusions instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:38 +0000 (10:15 -0600)]
fs: fs-loader: Drop dm.h header file
This header file should not be included in other header files. Remove it
and use a forward declaration instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:37 +0000 (10:15 -0600)]
dm: core: Drop header files from dm/test.h
These header file should not be included in other header files. Remove
them and add to each individual file. Add test/test.h to test/ui.h since
that is a reasonable place.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:36 +0000 (10:15 -0600)]
dm: core: Drop dm.h header file from dm-demo.h
This header file should not be included in other header files. Remove it
and add it to the cmd file instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:35 +0000 (10:15 -0600)]
mtd: spi: Drop SPI_XFER_MMAP*
These two defines are no-longer supported. Drop them.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:34 +0000 (10:15 -0600)]
mtd: spi-mem: Drop dm.h header file
This header file should not be included in other header files. Remove it
and use a forward declaration instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:33 +0000 (10:15 -0600)]
wdt: Drop dm.h header file
This header file should not be included in other header files. Remove it
and use a forward declaration instead.
Also remove the other headers that are not needed, since the inline code
was removed in a recent commit:
b4d9452c4 ("watchdog: move initr_watchdog() to wdt-uclass.c")
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:32 +0000 (10:15 -0600)]
mtd: spi-nor: Tidy up error handling / debug code
The -ENODEV error value in spi_nor_read_id() is incorrect since there
clearly is a device - it just cannot be supported. Use -ENOMEDIUM instead
which has the virtue of being less common.
Fix the return value in spi_nor_scan().
Also there are a few printf() statements which should be debug() since
they bloat the code with unused strings at present. Fix those while here.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Sun, 19 Jul 2020 16:15:31 +0000 (10:15 -0600)]
spi: Allow separate control of SPI_FLASH_TINY for SPL/TPL
In some cases SPL needs to be able to erase but TPL just needs to read.
Allow these to have separate settings for SPI_FLASH_TINY.
Signed-off-by: Simon Glass <sjg@chromium.org>
Sagar Shrikant Kadam [Wed, 29 Jul 2020 09:36:14 +0000 (02:36 -0700)]
configs: reset: fu540: enable dm reset framework for SiFive
Add necessary defconfig and Kconfig entries to enable SiFive SoC's
reset driver so as to utilise U-Boot's reset framework.
Signed-off-by: Sagar Shrikant Kadam <sagar.kadam@sifive.com>
Reviewed-by: Pragnesh Patel <Pragnesh.patel@sifive.com>
Reviewed-by: Bin Meng <bin.meng@windriver.com>
Tested-by: Bin Meng <bin.meng@windriver.com>
Sagar Shrikant Kadam [Wed, 29 Jul 2020 09:36:13 +0000 (02:36 -0700)]
sifive: reset: add DM based reset driver for SiFive SoC's
PRCI module within SiFive SoC's has register with which we can
reset the sub-systems within the SoC. The resets to DDR and ethernet
sub systems within FU540-C000 SoC are active low, and are hold low
by default on power-up. Currently these are directly asserted within
prci driver via register read/write.
With the DM based reset driver support here, we bind the reset
driver with clock (prci) driver and assert the reset signals of
both sub-system's appropriately.
Signed-off-by: Sagar Shrikant Kadam <sagar.kadam@sifive.com>
Reviewed-by: Pragnesh Patel <Pragnesh.patel@sifive.com>
Reviewed-by: Bin Meng <bin.meng@windriver.com>
Tested-by: Bin Meng <bin.meng@windriver.com>