Tom Rini 3c4fb0e91e2 M Merge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-sunxi - SPL SPI support R40, H6 (Andre)
- eMMC boot part on a64-olinuxino (Petr) 30 Mar 2020 Petr Štetiar b8c0d4cc665 configs: a64-olinuxino-emmc: add eMMC boot part config commands
mmc bootbus and partconf commands are needed in order to be able to
configure booting from separate boot0/boot1 eMMC partitions.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
[jagan: rebase on master]
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> configs: a64-olinuxino-emmc: add eMMC boot part config commands mmc bootbus and partconf commands are needed in order to be able to
configure booting from separate boot0/boot1 eMMC partitions.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
[jagan: rebase on master]
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> 28 Mar 2020 Tom Rini 350c44dfb99 M Merge branch '2020-03-27-master-imports' - Update a few MAINTAINERS entries
- cache alignment fix in ext4 code
- Two small test fixes 27 Mar 2020 Heinrich Schuchardt 6cc8e545b79 test: typo decompression %s/decopmression/decompression/
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org> 23 Mar 2020 Marek Behún 3e29bd268d6 MAINTAINERS: add myself as maintainer of fs/btrfs Signed-off-by: Marek Behún <marek.behun@nic.cz> 25 Mar 2020 Jan Kiszka 7b83060b1ea fs: ext4: Fix alignment of cache buffers We need to align the cache buffer to ARCH_DMA_MINALIGN in order to avoid
access errors like
CACHE: Misaligned operation at range [be0231e0, be0235e0]
seen on the MCIMX7SABRE.
Fixes: d5aee659f217 ("fs: ext4: cache extent data")
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Peter Robinso... 25 Mar 2020 Marek Vasut cb11eed23d7 MAINTAINERS: Add usb.h entry to usb Add usb.h file into the USB list.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Tom Rini <trini@konsulko.com> 25 Mar 2020 Harald Seiler 6748a1f2a3e test/py: mmc: Fix 'mmc info' testcase Commit 41e30dcf8796 ("cmd: mmc: Make Mode: printout consistent") fixed
the layout of `mmc info` output. Reflect this change in the respective
testcase.
Also fix a typo in the documentation.
Fixes: 41e30dcf8796 ("cmd: mmc: Make Mode: printout consistent")
Signed-off-by: Harald Seiler <hws@denx.de>
Acked-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Simon Glass <sjg@chromium.org> 26 Mar 2020 Tom Rini 39984d22138 Revert "vexpress_ca9x4: Enable use of correct DTB file and restore EFI loader." Currently this causes failures of the platform when running the EFI
loader tests, so disable it for now.
This reverts commit af827140e5965e5bb2bcad1c53ca8419b428ff6d.
Signed-off-by: Tom Rini <trini@konsulko.com> 27 Mar 2020 Tom Rini fa041198a80 M Merge tag 'u-boot-rockchip-20200327' of https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip - Fixed for rv1108 and elgin-rv1108 board
- Fix the keyboard from USB instead of CrOS EC 26 Mar 2020 Miquel Raynal e5a405583f5 rockchip: mkimage: Use an existing macro instead of a decimal value Depending on the SoC, a header of four characters is prepended to the
image. There is already a macro defining the number of characters:
RK_SPL_HDR_SIZE, so use it instead of hardcoding "4".
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com> 18 Mar 2020 Otavio Salvador 99f946976e1 rv1108: Fix boot regression Since commit 79030a486128 ("rockchip: Add Single boot image
(with binman, pad_cat)") the following boot regression is seen:
U-Boot 2020.04-rc3-00050-gd16e18ca6c-dirty (Mar 09 2020 - 11:40:07 -0300)
Model: Elgin RV1108 R1 board
DRAM: 128 MiB
initcall sequence 67fd12a0 failed at call 6000b927 (err=-22)
This happens because the above commit missed to include the
"rockchip-u-boot.dtsi" for rv11... 13 Mar 2020 Otavio Salvador 2dcbeb3568e elgin-rv1108: Avoid adc_channel_single_shot error Currently the following error message is seen during boot:
U-Boot 2020.01-08751-g55759ae141 (Mar 09 2020 - 14:44:52 -0300)
Model: Elgin RV1108 R1 board
DRAM: 128 MiB
APLL: 600000000 DPLL:1200000000 GPLL:1188000000
ACLK_BUS: 148500000 ACLK_PERI:148500000 HCLK_PERI:148500000 PCLK_PERI:74250000
MMC: dwmmc@30110000: 0
Loading Environment from MMC... OK
In: serial@10210000
Out: serial@1021... 13 Mar 2020 Otavio Salvador 1ac0d52a9bb elgin-rv1108: Use rk_board_late_init() for GPIO settings Since commit 8e9a8d0d0c8c ("rockchip: elgin-rv1108: use board_early_init_f
for per-boar init") the function that configure the board GPIOs is no
longer called since CONFIG_BOARD_EARLY_INIT_F=y is not selected.
These GPIOs do not need to be configured in such early stagem, so change it
to rk_board_late_init() and also select CONFIG_BOARD_LATE_INIT=y
to fix the regression.
Signed-off-by: Otavio... 13 Mar 2020 Otavio Salvador af84b3327ad ARM: dts: Activate pullups in the console pins on rv1108-elgin-r1 In order to make the console pins more robust to noise, activate
the pullups and increase its drive strength.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com> 13 Mar 2020 Peter Robinson 23cb61761b1 rockchip: Change keyboard input from CrOS EC keyboard to a USB keyboard These boards aren't ChromeOS devices so won't have a cros-ec-keyb
input as it's the keyboard available via the ChromeOS Embedded
Controller. Update them to use a USB keyboard which would actually
be available. Also enable the usb keyboard option for those devices
that don't have it enabled already.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Reviewed-by: Michael Trimarchi <michael@ama... 01 Mar 2020 Kever Yang 9cec3367087 rockchip: evb-rv1108: Use syscon API to get grf base Use syscon API to get grf base instead of get from dts.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Simon Glass <sjg@chromium.org> 18 Feb 2020 Kever Yang 4aa33690fc9 rockchip: elgin-rv1108: Use syscon API to get grf base Use syscon API to get grf base instead of get from dts.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Otavio Salvador <otavio@ossystems.com.br> 18 Feb 2020 Kristian Amlie af827140e59 vexpress_ca9x4: Enable use of correct DTB file and restore EFI loader. EFI was disabled in f95b8a4b5f64f because of the missing DTB file,
and indeed, the DTB file is required to load recent versions of GRUB
(2.04) correctly.
Signed-off-by: Kristian Amlie <kristian.amlie@northern.tech> 25 Feb 2020 Tom Rini 0aadc0786e4 M Merge tag 'efi-2020-04-rc4-5' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi Pull request for UEFI sub-system for efi-2020-04-rc4 (5)
This series contains bug fixes for the UEFI sub-system:
* report correct variable length in GetNextVariable()
* correct copying direction if freestanding memmove()
* remove const for parameter of GetNextVariableName()
* correct function descriptions
Unit tests are added and adjusted. 23 Mar 2020 Heinrich Schuchardt 7a4e717b9c0 efi_loader: definition of GetNextVariableName() 'vendor' is both an input and an output parameter. So it cannot be
constant.
Fixes: 0bda81bfdc5c ("efi_loader: use const efi_guid_t * for variable services")
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> 22 Mar 2020 Heinrich Schuchardt cde162e7668 efi_selftest: test CalculateCrc32, CopyMem, SetMem Provide unit tests for CalculateCrc32(), CopyMem(), SetMem().
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> 22 Mar 2020 Heinrich Schuchardt 72291a9d83e efi_loader: fix freestanding memmove() For EFI binaries we have to provide an implementation of memmove() in
efi_freestanding.c.
Before this patch the memmove() function was copying in the wrong
direction.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> 22 Mar 2020 Heinrich Schuchardt 7aeceffb250 efi_loader: description efi_convert_pointer() Correct the description of function efi_convert_pointer().
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> 22 Mar 2020 Heinrich Schuchardt 9f888969fdd efi_loader: simplify logical expression in efi_disk_add_dev() To check if a variable is non-zero there is no need for '!= 0'.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> 19 Mar 2020 Heinrich Schuchardt e1089765b59 efi_selftest: check length reported by GetNextVariableName() GetNextVariableName should report the length of the variable including the
final 0x0000 in bytes.
Check this in the unit test.
Increase the buffer size for variable names. 40 bytes is too short.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> 20 Mar 2020 Heinrich Schuchardt 4d7f5af841c efi_loader: correct reported length in GetNextVariable() The runtime service GetNextVariable() returns the length of the next
variable including the closing 0x0000. This length should be in bytes.
Comparing the output of EDK2 and U-Boot shows that this is currently not
correctly implemented:
EDK2:
OsIndicationsSupported: 46
PlatformLang: 26
PlatformLangCodes: 36
U-Boot:
OsIndicationsSupported: 23
PlatformLang: 13
PlatformLangCodes: 18
Provide cor... 20 Mar 2020 Heinrich Schuchardt 47a9596354e efi_loader: fix function descriptions in efi_disk.c Use Sphinx style for function descriptions.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> 19 Mar 2020 Heinrich Schuchardt f0b0f7fe0ee efi_loader: description of efi_variable.c Correct the file description.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> 19 Mar 2020 Andre Przywara cd27b933f50 sunxi: Remove no longer needed default options from defconfigs Now that those common Allwinner config symbols are defined automatically
for all boards in their Kconfig files, we can remove the now redundant
definitions from the boards' _defconfig files.
Some boards had a differing definiton for some of those symbols, it
looks like mostly to "merge races" when the symbol was introduced (new
board *_defconfig file missed the "add symbol to all files" patch)... 20 Feb 2020 Andre Przywara 48313fe5100 sunxi: Move common defconfig options to Kconfig Some config symbols are found in *almost* every _defconfig file for
Allwinner boards, because those options are actually a platform choice,
and not a per-board decision.
Some of these options are older, some have recently been added.
Move those options to be set for all Allwinner boards in their
respective Kconfig files.
The rationales are as follows:
- NR_DRAM_BANKS: All Allwinner SoC map DR... 20 Feb 2020 Andre Przywara e66a34eaba4 sunxi: Pine H64: Enable SPI booting in defconfig The Pine H64 board comes with some onboard SPI flash chip, which is
perfect for loading SPL, ATF and U-Boot proper from there.
Enable the functionality in the defconfig, so that we use sunxi-fel to
transfer a bootable image to the NOR flash.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com> 27 Jan 2020 Andre Przywara fd40ad0d579 sunxi: SPL SPI: Add SPI boot support for the Allwinner H6 SoC The Allwinner H6 SoC uses a quite different memory map, also changes the
clocks quite a bit. This requires some changes to the SPL SPI routine,
which hardcodes these values so far.
Using the just introduced helper functions to determine base address
and SPI controller generation, we can cover some of these differences
easily.
The clock setup is different, so requires some explicit code changes... 27 Jan 2020 Andre Przywara da19a0dbc81 sunxi: SPL SPI: Add SPI boot support for the Allwinner R40 SoC Now that we can easily select an SoC specific SPI0 base address, adding
support for the Allwinner R40 is fairly trivial:
We set the base address, add this SoC to the ones that use PC23 and
enable it in Kconfig.
This allows booting from SPI flash on R40 boards.
Tested on a Bananapi M2 Berry with SPI flash connected to the header pins.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Rev... 27 Jan 2020 Andre Przywara 56f51f38751 sunxi: SPL SPI: Introduce is_sun6i_gen_spi() So far we were using the CONFIG_SUNXI_GEN_SUN6I symbol to select between
the two SPI controller generations used on Allwinner SoCs. This is a
convenience symbol to roughly differentiate between "older" and "newer"
generation of SoCs.
The H6 SoCs is the newest SoC so far, but is sufficiently different to
not define this symbol. However it is using a SPI controller compatible
to the "new gen" So... 27 Jan 2020 Andre Przywara 2775e08a2b7 sunxi: SPL SPI: Split off SPI0 base address So far on all supported Allwinner SoCs we find the old generation SPI
controller always at address 0x1c05000, and the new generation one at
0x1c68000. However the Allwinner R40 SoC has a new generation SPI at
the old address, and the H6 uses a completely different address.
So split off the base address from the respective SPI registers, by
changing the #defines to just contain offsets.
The bas... 27 Jan 2020 Tom Rini 14eb12a3c80 M Merge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-sunxi - Revert "sunxi: psci: avoid error address-of-packed-member" 18 Mar 2020 Tom Rini 40e82bb97c6 M Merge tag 'efi-2020-04-rc4-4' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi Pull request for UEFI sub-system for efi-2020-04-rc4 (4)
This series fixes several bugs:
* consider the /reserved-memory node in the device tree
* consider memory reservations created in ft_board_setup()
* correct output of 'efidebug memmap' on the sandbox
* correct the definition of efi_capsule_header()
Furthermore some definitions needed for future patches are added to
header files. 18 Mar 2020 Tom Rini 78176d408bf M Merge https://gitlab.denx.de/u-boot/custodians/u-boot-riscv - Fix sbi_remote_sfence_vma{,_asid}.
- Avoid calling sbi_clear_ipi().
- Add new SBI v0.2 extensions support. 18 Mar 2020 Tomasz Duszynski 3586cb82277 Revert "sunxi: psci: avoid error address-of-packed-member" Using memcpy() for some MMIO access is generally frowned upon and might
break things on some platforms. Allwinner H3, which fails to boot, being
an example here.
Moreover, fields being accessed are naturally aligned and warnings
produced by GCC have been quiesced for some time already by:
53dc8ae ("gcc-9: silence 'address-of-packed-member' warning")
That said, it should be okay to revert thi... 16 Feb 2020 AKASHI Takahiro 74b44875357 efi_loader: correct a definition of struct efi_capsule_header See UEFI specification, section 8.5.3.
In addition, the structure, efi_capsule_header, should be "packed"
as it is a serialized binary format in a capsule file.
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> 16 Mar 2020 AKASHI Takahiro b51ec639788 efi_loader: export a couple of protocol related functions This is a preparatory patch.
Those functions will be used in an implementation of UEFI firmware
management protocol as part of my capsule update patch.
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> 16 Mar 2020 AKASHI Takahiro b74d568d836 efi_loader: define System Resource Table macros Some of those values will be used in an implementation of UEFI firmware
management protocol as part of my capsule update patch.
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> 16 Mar 2020 AKASHI Takahiro 7cceef7bde3 efi_loader: define OsIndicationsSupported flags These flags are expected to be set in OsIndicationsSupported variable
if corresponding features are supported. See UEFI specification,
section 8.5.4.
In particular, capsule-related flags will be used in my capsule
update patch.
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Fix misspelled EFI_OS_INDICATIONS_BOOT_TO_FW_UI.
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Si... 16 Mar 2020 Atish Patra 7be64b885a3 cmd: bootefi: Parse reserved-memory node from DT Currently, bootefi only parses memory reservation block to setup
EFI reserved memory mappings. However, it doesn't parse the
reserved-memory[1] device tree node that also can contain the
reserved memory regions.
Add capability to parse reserved-memory node and update the EFI memory
mappings accordingly.
1. <U-Boot source>/doc/device-tree-bindings/reserved-memory/reserved-memory.txt]
Signed-o... 13 Mar 2020 Heinrich Schuchardt a415d61eac2 cmd: map addresses to sysmem in efidebug memmap Addresses in the sandbox's device tree are in the sandbox's virtual address
space. If we want to compare memory reservations in the device-tree with
the output of 'efidebug memmap', we need to convert back to this address
space.
Adjust the output of the 'efidebug memmap' command.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> 14 Mar 2020 Heinrich Schuchardt fef907b2e44 efi_loader: create reservations after ft_board_setup Some memory reservations are made in ft_board_setup(). Ensure that we
create reserved memory map entries after ft_board_setup().
The downside of this patch is that if bootefi is called multiple times with
an devicetree argument superfluous reservations for the old copies of the
device tree will exist. But that is still better than missing a reservation.
Deleting the superfluous reservations i... 14 Mar 2020 Bin Meng 5bde2152d42 riscv: Implement new SBI v0.2 extensions Few v0.1 SBI calls are being replaced by new SBI calls that follows
v0.2 calling convention.
Implement the replacement extensions and few additional new SBI
function calls that makes way for a better SBI interface in future.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Pragnesh Patel <pragnesh.patel@sifive.com> 09 Mar 2020 Bin Meng 1b3c8d64020 riscv: Introduce a new config for SBI v0.1 We now have SBI v0.2 which is more scalable and extendable to handle
future needs for RISC-V supervisor interfaces.
Introduce a new config and move all SBI v0.1 code under that config.
This allows to implement the new replacement SBI extensions cleanly
and remove v0.1 extensions easily in future. Currently, the config
is enabled by default. Once all M-mode software, with v0.1, is no
longer in ... 09 Mar 2020 Bin Meng 1e32715602d riscv: Add SBI v0.2 extension definitions Few v0.1 SBI calls are being replaced by new SBI calls that follows
v0.2 calling convention.
This patch just defines these new extensions.
This commit is inspired from Linux kernel patch:
https://patchwork.kernel.org/patch/11407359/
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Pragnesh Patel <pragnesh.patel@sifive.com> 09 Mar 2020