platform/kernel/u-boot.git
4 years agoinclude: dt-bindings: Add MSCC header
Harini Katakam [Tue, 8 Sep 2020 09:52:36 +0000 (15:22 +0530)]
include: dt-bindings: Add MSCC header

Add MSCC header with delay definitions for VSC8531 and associated
family devices.

Signed-off-by: Harini Katakam <harini.katakam@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: zynqmp: Change bl2_plat_get_bl31_params() guarding
Michal Simek [Thu, 3 Sep 2020 08:47:49 +0000 (10:47 +0200)]
arm64: zynqmp: Change bl2_plat_get_bl31_params() guarding

It was protected just for SPL_OS_BOOT but this function is only called when
SPL_ATF is enabled that's why change macro name.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agonand: Kconfig: Change dependency for NAND_ARASAN
Michal Simek [Wed, 19 Aug 2020 07:59:52 +0000 (09:59 +0200)]
nand: Kconfig: Change dependency for NAND_ARASAN

NAND_ARASAN selecting DM_MTD uunconditionally. Driver can be enabled with
!DM that's why Kconfig it showing it as error:

WARNING: unmet direct dependencies detected for DM_MTD
  Depends on [n]: DM [=n]
  Selected by [y]:
  - NAND_ARASAN [=y] && MTD_RAW_NAND [=y]

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
4 years agoarm64: zynqmp: Correct value of shunt resistor for VCCINT and VCC_SOC
Saeed Nowshadi [Tue, 4 Aug 2020 06:24:05 +0000 (23:24 -0700)]
arm64: zynqmp: Correct value of shunt resistor for VCCINT and VCC_SOC

Value of shunt resistor for INA226s that monitor VCCINT and VCC_SOC power
rails are incorrect.  This patch corrects those values.

Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
4 years agoarm64: zynqmp: Add device tree node for 2nd mux on I2C1 bus
Saeed Nowshadi [Tue, 4 Aug 2020 06:24:04 +0000 (23:24 -0700)]
arm64: zynqmp: Add device tree node for 2nd mux on I2C1 bus

There is 2nd pca9548 mux on I2C1 bus that controls SFP0, SFP1, and QSFP1
ports. Channel 0 and 1 are connected to J287 connector for SFP0 & SFP1, and
channel 2 is connected to J288 connector for QSFP1.

Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: Enable uartlite driver for Versal/ZynqMP
T Karthik Reddy [Fri, 14 Aug 2020 09:02:17 +0000 (03:02 -0600)]
xilinx: Enable uartlite driver for Versal/ZynqMP

Add CONFIG_XILINX_UARTLITE config to versal/zynqmp defconfig to
enable uartlite driver support by default.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoserial: uartlite: Add support to work with any endianness
T Karthik Reddy [Fri, 14 Aug 2020 09:02:15 +0000 (03:02 -0600)]
serial: uartlite: Add support to work with any endianness

This endinness changes are taken from linux uartlite driver.
Reset TX fifo in control register and check TX fifo empty
flag in lower byte of the status register to detect if it
is a little endian system. Based on this check, program the
registers with le32 or be32 through out the driver.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoconfigs: xilinx: Enable configs required for ubifs
Ashok Reddy Soma [Thu, 20 Aug 2020 10:51:38 +0000 (04:51 -0600)]
configs: xilinx: Enable configs required for ubifs

Enable required configs for using ubifs in uboot.

UBIFS testing procedure from u-boot:
Let's say we have two partitions in dt as below and want to format
partition1 "images" with ubifs.

partition@0 {
label = "boot";
reg = <0x0 0x1000000>;
};

partition@1 {
label = "images";
reg = <0x1000000 0x7000000>;
};

We will format the partition from linux and copy some files and access
from uboot later.
First thing, in linux config disable CONFIG_MTD_SPI_NOR_USE_4K_SECTORS.
this is required as ubifs expects min LEB size as 15*1024 bytes.

Use below commands in linux to format "images" partition with ubifs.

ubiformat /dev/mtd1
ubiattach /dev/ubi_ctrl -m 1
ubimkvol /dev/ubi0 -N images -m
mount -t ubifs ubi0:images /mnt

We can copy files to /mnt and unmount it.

To access this ubifs partition from uboot, run below commands.
(Don't forget to probe device before, e.g. sf probe 0 0 0)

setenv mtdids "nor0=nor0"
setenv mtdparts "mtdparts=nor0:16m(boot),112m(images)"
ubi part images
ubifsmount ubi0:images

make sure we match "mtdparts" to whatever is given in dt w.r.t partition
sizes.

"mtdparts" command will list the mtd partitions in u-boot.

Once ubifs is mounted, we can use "ubifsls" to list the files in that
partition and use "ubifsload <addr> <filename>" to load files from ubifs
partition to DDR.

Reading information about mtd layout from DT is not supported.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agomicroblaze: Add support for little/big endian in/out api's
T Karthik Reddy [Fri, 21 Aug 2020 04:35:33 +0000 (22:35 -0600)]
microblaze: Add support for little/big endian in/out api's

Add read/write memory utilities for 16 and 32 bits. Add these
api's for both little and big endian systems similar to arm
architecture.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoboard: xilinx: Enable changing default DTB pick up address
Michal Simek [Thu, 20 Aug 2020 12:02:47 +0000 (14:02 +0200)]
board: xilinx: Enable changing default DTB pick up address

U-Boot on xilinx boards is checking one address where DTB can be placed as
the first location for DTB. Originally this code was developed for Versal
where QEMU was putting generated DTB for U-Boot to use.
The patch enables changing this address which is necessary for cases where
default address is pointing to location (DDR) which is not present. The
access to this location can cause exception.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: kconfig: Move sourcing of board Kconfig to mach folders
Michal Simek [Thu, 27 Aug 2020 13:34:11 +0000 (15:34 +0200)]
xilinx: kconfig: Move sourcing of board Kconfig to mach folders

Do not source xilinx board Kconfig by other boards. These configs should be
available only when Xilinx platforms are selected.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: kconfig: Change Kconfig dependencies for Xilinx drivers
Michal Simek [Mon, 24 Aug 2020 12:41:51 +0000 (14:41 +0200)]
xilinx: kconfig: Change Kconfig dependencies for Xilinx drivers

Zynq/ZynqMP/Versal IPs should be possible to called also from Microblaze in
PL and vice versa. That's why change dependencies and do not limit enabling
just for some platforms.

This is follow up patch based on commit 664e16ce99a0 ("xilinx: kconfig:
Change Kconfig dependencies for Xilinx drivers").

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoenv: kconfig: Add default option for ARCH_ZYNQ
Michal Simek [Mon, 24 Aug 2020 11:35:53 +0000 (13:35 +0200)]
env: kconfig: Add default option for ARCH_ZYNQ

Zynq is similar to ZynqMP u-boot feature wise that's why also enable
default option for ENV_FAT_DEVICE_AND_PART Kconfig entry.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agonet: gem: Add support for more PHYs on MDIO bus
Michal Simek [Mon, 30 May 2016 08:43:11 +0000 (10:43 +0200)]
net: gem: Add support for more PHYs on MDIO bus

Find out MDIO bus and enable MDIO access to it if this is done via
different GEM controller. Only works across GEM instances.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoxilinx: drivers: Use '_' instead of '-' in driver name
Michal Simek [Tue, 7 Jan 2020 07:50:34 +0000 (08:50 +0100)]
xilinx: drivers: Use '_' instead of '-' in driver name

The most of drivers are using '_' instead of '-' in driver name. That's why
sync up these names to be aligned. It looks quite bad to see both in use.
It is visible via dm tree command.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agoarm64: Add support for larger PIE U-Boot
Edgar E. Iglesias [Wed, 9 Sep 2020 17:07:26 +0000 (19:07 +0200)]
arm64: Add support for larger PIE U-Boot

Linking a U-Boot larger than 1MB fails with PIE enabled:
u-boot/arch/arm/cpu/armv8/start.S:71:(.text+0x3c): relocation
truncated to fit: R_AARCH64_ADR_PREL_LO21 against symbol `__rel_dyn_end'
defined in .bss_start section in u-boot.

This extends the supported range by using adrp & add to load symbols
early while starting up.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: Trap PIE builds early if load address is not 4K aligned
Edgar E. Iglesias [Wed, 9 Sep 2020 17:07:25 +0000 (19:07 +0200)]
arm64: Trap PIE builds early if load address is not 4K aligned

PIE requires a 4K aligned load address. If this is not met, trap
the startup sequence in a WFI loop rather than running into obscure
failures.

Tested-by: Michal Simek <michal.simek@xilinx.com>
Suggested-by: André Przywara <andre.przywara@arm.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoarm64: Mention 4K aligned load addresses in the PIE Kconfig help
Edgar E. Iglesias [Wed, 9 Sep 2020 17:07:24 +0000 (19:07 +0200)]
arm64: Mention 4K aligned load addresses in the PIE Kconfig help

Mention the requirement of 4K aligned load addresses in the
help section for the POSITION_INDEPENDENT option.

Suggested-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoPrepare v2020.10-rc5
Tom Rini [Mon, 21 Sep 2020 17:45:23 +0000 (13:45 -0400)]
Prepare v2020.10-rc5

Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agoconfigs: Resync with savedefconfig
Tom Rini [Mon, 21 Sep 2020 17:45:07 +0000 (13:45 -0400)]
configs: Resync with savedefconfig

Rsync all defconfig files using moveconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-x86
Tom Rini [Mon, 21 Sep 2020 15:01:07 +0000 (11:01 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86

- Several ACPI bug fixes
- Intel edison: Move config SYS_MALLOC_LEN to Kconfig
- Use "emmc" in ApolloLake FSP devicetree bindings

4 years agox86: acpi: Add memset to initialize SPCR table
Wolfgang Wallner [Wed, 16 Sep 2020 14:57:53 +0000 (16:57 +0200)]
x86: acpi: Add memset to initialize SPCR table

Add a missing memset to acpi_create_spcr().

The other acpi_create_xxxx() functions perform a memset on their
structures, acpi_create_spcr() does not and as a result the contents of
this table are partly uninitialized (and thus random after every reset).

Fixes: b288cd960072 ("x86: acpi: Generate SPCR table")
Signed-off-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: fix the tags format in the commit message]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: acpi: Fix calculation of DSDT length
Wolfgang Wallner [Wed, 16 Sep 2020 14:57:52 +0000 (16:57 +0200)]
x86: acpi: Fix calculation of DSDT length

Currently, the calculation for the length of the DSDT table includes any
bytes that are added for alignment, but those bytes are not initialized.

This is because the DSDT length is calculated after a call to
acpi_inc_align(). Split this up into the following sequence:

  * acpi_inc()
  * Calculate DSDT length
  * acpi_align()

Signed-off-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: fsp: Replace e-mmc with emmc in devicetree bindings
Wolfgang Wallner [Fri, 11 Sep 2020 14:52:28 +0000 (16:52 +0200)]
x86: fsp: Replace e-mmc with emmc in devicetree bindings

The term eMMC is used inconsistently within the FSP devicetree
bindings (e-mmc and emmc), especially for "emmc-host-max-speed"
documentation and code disagree.

Change all eMMC instances within the FSP bindings to consistently
use "emmc". The term "emmc" is already used a lot within U-Boot,
while "e-mmc" is only used in the FSP bindings.

Signed-off-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: correct one typo in the commit message]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
4 years agocmd: acpi: Print revisions in hex format
Andy Shevchenko [Mon, 21 Sep 2020 08:34:21 +0000 (11:34 +0300)]
cmd: acpi: Print revisions in hex format

The revisions are usually dates in hex-decimal format representing
YYYYmmdd. Print them in hex to see this clearly.

Before:
  ...
  FACP 000e5420 0000f4 (v06 U-BOOT U-BOOTBL 538970376 INTL 0)
  DSDT 000e4780 000ba0 (v02 U-BOOT U-BOOTBL 65536 INTL 538968870)
  ...
After:
  ...
  FACP 000e5420 0000f4 (v06 U-BOOT U-BOOTBL 20200908 INTL 0)
  DSDT 000e4780 000ba0 (v02 U-BOOT U-BOOTBL 10000 INTL 20200326)
  ...

Fixes: 0b885bcfd9b0 ("acpi: Add an acpi command")
Cc: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: edison: Move config SYS_MALLOC_LEN to Kconfig
Andy Shevchenko [Tue, 8 Sep 2020 13:57:22 +0000 (16:57 +0300)]
x86: edison: Move config SYS_MALLOC_LEN to Kconfig

This patch moves the the config SYS_MALLOC_LEN to Kconfig
as it is already done for zynq arch in commit 01aa5b8f0503
("Kconfig: Move config SYS_MALLOC_LEN to Kconfig for zynq").

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agoMerge tag 'efi-2020-10-rc5-2' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Sat, 19 Sep 2020 12:35:20 +0000 (08:35 -0400)]
Merge tag 'efi-2020-10-rc5-2' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi

Pull request for UEFI sub-system for efi-2020-10-rc5 (2)

The following bugs are fixed:

* incorrect online help for setenv and env
* description of function efi_mem_carve_out()
* replace printf() by log_err() in stm32mp1_rng driver

A unit test is provided to check that the boot hart id is provided in the
RISC-V device-tree.

4 years agoMerge branch '2020-09-18-assorted-bugfixes'
Tom Rini [Sat, 19 Sep 2020 12:31:52 +0000 (08:31 -0400)]
Merge branch '2020-09-18-assorted-bugfixes'

- SquashFS Coverity fixes
- bitflip fix in the alternate memtest command
- Disable networking on bcmstb boards where we didn't have any network
  drivers enabled.

4 years agoefi: change 'env -e -i' usage syntax
Maxim Uvarov [Fri, 28 Aug 2020 19:20:10 +0000 (22:20 +0300)]
efi: change 'env -e -i' usage syntax

'env -e -i' syntax was changed from "," to ":". Account for this also
in the documentation.

Fixes: 2b3fbcb59f41 ("efi_loader: use ':' as separator for setenv -i")
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Correct the usage description for setenv -e too.
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoefi_selftest: check for RISC-V boot-hartid in FDT
Heinrich Schuchardt [Thu, 17 Sep 2020 05:33:29 +0000 (07:33 +0200)]
efi_selftest: check for RISC-V boot-hartid in FDT

On RISC-V check that the /chosen node has a boot-hartid property.

To run the test configure with CONFIG_CMD_BOOTEFI_SELFTEST=y and issue

    setenv efi_selftest device tree
    setenv serial# myserial
    bootefi selftest

If the test succeeds, it reports the boot-hartid, e.g.

    boot-hartid: 1

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoefi_selftest: rework device tree test
Heinrich Schuchardt [Thu, 17 Sep 2020 05:33:29 +0000 (07:33 +0200)]
efi_selftest: rework device tree test

Allow specifying the node on which a property is searched.
Test the device tree consistency more rigorously.
Some efi_st_printf() calls have been converted to efi_st_error().

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoefi_memory: refine overlap_only_ram description
Maxim Uvarov [Fri, 28 Aug 2020 19:47:41 +0000 (22:47 +0300)]
efi_memory: refine overlap_only_ram description

Refine text for overlap_only_ram description to
match to what exactly flag does and aling description
with other functions.

Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agorng: stm32mp1: use log() instead of printf()
Heinrich Schuchardt [Thu, 17 Sep 2020 14:49:02 +0000 (16:49 +0200)]
rng: stm32mp1: use log() instead of printf()

The logging system provides flexible filtering and enhanced output.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Sughosh Ganu <sughosh.ganu@linaro.org>
4 years agocmd: mem: fix range of bitflip test
Ralph Siemsen [Wed, 9 Sep 2020 16:10:00 +0000 (12:10 -0400)]
cmd: mem: fix range of bitflip test

The bitflip test uses two equal sized memory buffers. This is achieved
by splitting the range of memory into two pieces. The address of the
second buffer, as well as the length of each buffer, were not correctly
calculated. This caused bitflip test to access beyond the end of range.
This patch fixes the pointer arithmetic problem.

A second problem arises because u-boot "mtest" command expects the
ending address to be inclusive. When computing (end - start) this
results in missing 1 byte of the requested length. The bitflip test
expects a count rather than an "ending" address. Thus it fails to test
the last word of the requested range. Fixed by using (end - start + 1).

Added Kconfig option to optionally disable the bitflip test, since it
does add significantly to the time taken for "mtest".

Fixes: 8e434cb705d463bc8cff935160e4fb4c77cb99ab ("cmd: mem: Add bitflip
memory test to alternate mtest")

Signed-off-by: Ralph Siemsen <ralph.siemsen@linaro.org>
Reviewed-by: Stefan Roese <sr@denx.de>
4 years agoconfigs: bcmstb: Disable networking support
Thomas Fitzsimmons [Fri, 11 Sep 2020 18:41:44 +0000 (14:41 -0400)]
configs: bcmstb: Disable networking support

Silence the "Driver Model for Ethernet drivers" migration warning for
the bcm7445 and bcm7260 ports, neither of which supports networking yet.

Signed-off-by: Thomas Fitzsimmons <fitzsim@fitzsim.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
4 years agofs/squashfs: Fix Coverity Scan defects
Joao Marcos Costa [Fri, 11 Sep 2020 10:21:06 +0000 (12:21 +0200)]
fs/squashfs: Fix Coverity Scan defects

Fix control flow issues and null pointer dereferences.

Signed-off-by: Joao Marcos Costa <jmcosta944@gmail.com>
4 years agoMerge tag 'u-boot-imx-20200918' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
Tom Rini [Fri, 18 Sep 2020 14:42:12 +0000 (10:42 -0400)]
Merge tag 'u-boot-imx-20200918' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

----------------------------------------------------------------
Fixes for 2020.10
-----------------

- Toradex boards
- mx6qsabrelite: fix env offset
- esdhc_imx: waiting for clock instead of sleep
- dyn RAM calibration for entry point i.MX6

Travis: https://travis-ci.org/github/sbabic/u-boot-imx/builds/728274602

4 years agoboard: tbs2910: Disable CONFIG_ENV_VARS_UBOOT_CONFIG in defconfig
Soeren Moch [Thu, 27 Aug 2020 19:52:47 +0000 (21:52 +0200)]
board: tbs2910: Disable CONFIG_ENV_VARS_UBOOT_CONFIG in defconfig

This is not required for sysboot (we defined fdtfile), let's save a few
bytes in the binary image without these variables.

Signed-off-by: Soeren Moch <smoch@web.de>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 years agoMerge branch '2020-09-16-assorted-fixes'
Tom Rini [Thu, 17 Sep 2020 13:53:57 +0000 (09:53 -0400)]
Merge branch '2020-09-16-assorted-fixes'

- Assorted bug fixes

4 years agoapalis-imx8qm: rename all occurences to apalis-imx8
Philippe Schenker [Fri, 28 Aug 2020 18:08:06 +0000 (21:08 +0300)]
apalis-imx8qm: rename all occurences to apalis-imx8

The Toradex product is called apalis-imx8 consisting of SoM with
i.MX8QM and i.MX8QP SoCs.

Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocolibri-imx8qxp: rename all occurences to colibri-imx8x
Philippe Schenker [Fri, 28 Aug 2020 18:08:05 +0000 (21:08 +0300)]
colibri-imx8qxp: rename all occurences to colibri-imx8x

The Toradex product is called colibri-imx8x consisting of SoM with
i.MX8QXP and i.MX8DX SoCs.

Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agommc: fsl_esdhc_imx: check the clock stable status after config the clock rate.
Haibo Chen [Tue, 1 Sep 2020 07:34:06 +0000 (15:34 +0800)]
mmc: fsl_esdhc_imx: check the clock stable status after config the clock rate.

Currently, after config the clock rate, delay 10ms, this is quite a rough
method. Check the clock stable status in the present status register is
enough.

Tested-by: Ji Luo <ji.luo@nxp.com>
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
4 years agoARM: mx6: ddr: Add support for iMX6UL/ULL/SL/SDL
Marek Vasut [Sat, 12 Sep 2020 23:35:08 +0000 (01:35 +0200)]
ARM: mx6: ddr: Add support for iMX6UL/ULL/SL/SDL

This patch adds support for iMX6UL/ULL/SL/SDL MMDC into the DDR calibration
code. The difference between MX6DQ and MX6UL/ULL/SL is that the later SoCs
have 2 SDQS registers, just like MX6SX, while the MX6DQ/MX6SDL has 8.

Fixes: 4f4c128c65 ("ARM: mx6: ddr: Add support for iMX6SX")
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Eric Nelson <eric@nelint.com>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
4 years agomx6qsabrelite: increase the environment offset
Denis Pynkin [Tue, 15 Sep 2020 11:37:14 +0000 (14:37 +0300)]
mx6qsabrelite: increase the environment offset

The size of the binary created with the default U-boot config is much
greater than the default offset for environment `0x60000`.
In case if that binary is used for booting via MMC it is overlapped with
the environment stored on MMC.
This leads to U-Boot corruption while saving environment with `saveenv`
command and non-bootable SabreLite board.

The offset for environment `CONFIG_ENV_OFFSET=0x60000` was added in
commit a09fea1 but did not count in the change to `0xC0000` if option
`CONFIG_ENV_IS_IN_MMC` is used.

The offset is also used for variant with environment saving onto SPI NOR
flash (with enabled option `CONFIG_ENV_IS_IN_SPI_FLASH`). In that case the
U-Boot binary flashed on SPI NOR is also corrupted after environment
saving with the original 0x60000 offset.

Signed-off-by: Denis Pynkin <denis.pynkin@collabora.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
4 years agoimx8mp: Remove parts MIMX8ML7 and MIMX8ML5 support
Peng Fan [Wed, 16 Sep 2020 07:17:22 +0000 (15:17 +0800)]
imx8mp: Remove parts MIMX8ML7 and MIMX8ML5 support

Latest datasheet revE has removed MIMX8ML7D/5D/7C/5C parts, so
update u-boot to remove decoding and support for those parts.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 years agoimx8m: clock_imx8mm: add missed return
Peng Fan [Wed, 16 Sep 2020 07:17:21 +0000 (15:17 +0800)]
imx8m: clock_imx8mm: add missed return

Add missed return

Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 years agoimx8mq: fix SSCG_PLL_REFCLK_SEL_x
Peng Fan [Wed, 16 Sep 2020 07:17:20 +0000 (15:17 +0800)]
imx8mq: fix SSCG_PLL_REFCLK_SEL_x

Fix SSCG_PLL_REFCLK_SEL_x, the offset starts from 0, not 16

Reported-by: Coverity 3448860
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
4 years agoimx8mq: fix FRAC_PLL_REFCLK_SEL_MASK
Peng Fan [Wed, 16 Sep 2020 07:17:19 +0000 (15:17 +0800)]
imx8mq: fix FRAC_PLL_REFCLK_SEL_MASK

Coverity reported dead code, however it is FRAC_PLL_REFCLK_SEL_MASK
was wrongly set.

Reported-by: Coverity 10045172
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
4 years agoimx7: ccm: correct target interface num
Peng Fan [Wed, 16 Sep 2020 07:17:18 +0000 (15:17 +0800)]
imx7: ccm: correct target interface num

According to i.MX 7Dual Applications Processor Reference Manual, Rev. 1
The target interface CCM root index ranges [0,124], so the number
should be 125.

Reported-by: Coverity 18045
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
4 years agoapalis_imx6: provide fdtfile in env instead of setting it in runtime
Igor Opaniuk [Mon, 14 Sep 2020 08:01:12 +0000 (11:01 +0300)]
apalis_imx6: provide fdtfile in env instead of setting it in runtime

Provide fdtfile value in default env instead of setting
it dynamically in runtime.

Fixes: 85cb2bc686("apalis/colibri imx6: provide proper fdtfile value")
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocolibri_imx6: provide fdtfile in env instead of setting it in runtime
Igor Opaniuk [Mon, 14 Sep 2020 08:01:11 +0000 (11:01 +0300)]
colibri_imx6: provide fdtfile in env instead of setting it in runtime

Provide fdtfile value in default env instead of setting
it dynamically in runtime.

Fixes: 85cb2bc686("apalis/colibri imx6: provide proper fdtfile value")
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocolibri_imx7: use preboot for fdtfile evaluation
Igor Opaniuk [Mon, 14 Sep 2020 08:01:10 +0000 (11:01 +0300)]
colibri_imx7: use preboot for fdtfile evaluation

Enable and set preboot var with fdtfile evaluation.
preboot will be checked and run immediately before starting the
CONFIG_BOOTDELAY countdown and/or running the auto-boot command resp.
entering interactive mode.

This provides possibility to use different boot cmds in interactive mode
without manual setting fdtfile value, as it it's already evaluated
before entering interactive mode.

Fixes: a62c60610f("colibri_imx7_emmc: add Colibri iMX7D 1GB (eMMC) module support")
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocolibri_vf: use preboot for fdtfile evaluation
Igor Opaniuk [Mon, 14 Sep 2020 08:01:09 +0000 (11:01 +0300)]
colibri_vf: use preboot for fdtfile evaluation

Enable and set preboot var with fdtfile evaluation.
preboot will be checked and run immediately before starting the
CONFIG_BOOTDELAY countdown and/or running the auto-boot command resp.
entering interactive mode.

This provides possibility to use different boot cmds in interactive mode
without manual setting fdtfile value, as it it's already evaluated
before entering interactive mode.

Fixes: 304042c1f3("colibri_vf: set fdtfile for distroboot")
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocolibri-imx6ull: use preboot for fdtfile evaluation
Igor Opaniuk [Mon, 14 Sep 2020 08:01:08 +0000 (11:01 +0300)]
colibri-imx6ull: use preboot for fdtfile evaluation

Enable and set preboot var with fdtfile evaluation.
preboot will be checked and run immediately before starting the
CONFIG_BOOTDELAY countdown and/or running the auto-boot command resp.
entering interactive mode.

This provides possibility to use different boot cmds in interactive mode
without manual setting fdtfile value, as it it's already evaluated
before entering interactive mode.

Fixes: board: 31b1e17f44("toradex: add Colibri iMX6ULL support")
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocolibri_imx7: wrap video specific funcs with ifdefs
Igor Opaniuk [Mon, 14 Sep 2020 08:01:07 +0000 (11:01 +0300)]
colibri_imx7: wrap video specific funcs with ifdefs

Wrap video specific functionality with ifdefs.

Fixes: 195011b24d("colibri-imx7: fix splash logo drawing")
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agotoradex: drop legacy show_boot_logo function and use splashscreen
Igor Opaniuk [Mon, 14 Sep 2020 08:01:06 +0000 (11:01 +0300)]
toradex: drop legacy show_boot_logo function and use splashscreen

Drop show_boot_logo legacy function, as splashscreen functionality can
be used instead.

Fixes: d324189772("toradex: common: show boot logo")
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocolibri_imx7: use splashcreen value instead of legacy function
Igor Opaniuk [Mon, 14 Sep 2020 08:01:05 +0000 (11:01 +0300)]
colibri_imx7: use splashcreen value instead of legacy function

Set proper splashscreen env value instead of calling legacy function
to show embed boot logo.

Fixes: 195011b24d("colibri-imx7: fix splash logo drawing")
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agocolibri-imx6ull: use splashcreen value instead of legacy function
Igor Opaniuk [Mon, 14 Sep 2020 08:01:04 +0000 (11:01 +0300)]
colibri-imx6ull: use splashcreen value instead of legacy function

Set proper splashscreen env value instead of calling legacy function
to show embed boot logo.

Fixes: 391c712dde("colibri-imx6ull: show boot logo")
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
4 years agodoc: qemu: debug UART settings for QEMU ARM virt
Heinrich Schuchardt [Tue, 15 Sep 2020 22:17:55 +0000 (00:17 +0200)]
doc: qemu: debug UART settings for QEMU ARM virt

Provide the settings for the debug UART on the QEMU ARM virt board.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoMAINTAINERS: add myself as reviewer for SquashFS
Miquel Raynal [Mon, 14 Sep 2020 15:44:36 +0000 (17:44 +0200)]
MAINTAINERS: add myself as reviewer for SquashFS

I also followed the development of the SquashFS support in U-Boot
as part of Joao Marcos internship, so I would also appreciate receiving
new contributions and bug reports related to this topic.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
4 years agoMAINTAINERS: add myself as reviewer for SquashFS
Thomas Petazzoni [Mon, 14 Sep 2020 11:52:39 +0000 (13:52 +0200)]
MAINTAINERS: add myself as reviewer for SquashFS

As I have followed the development of the SquashFS support in U-Boot
as part of Joao Marcos work, it makes sense to get Cc'ed on
contributions/bug reports related to the squashfs support.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
4 years agolib: fdt: Fix fdtdec_setup_mem..() conversion to livetree API
Marek Vasut [Sat, 12 Sep 2020 10:42:52 +0000 (12:42 +0200)]
lib: fdt: Fix fdtdec_setup_mem..() conversion to livetree API

Repair incorrectly negated condition in the original patch which broke
DT memory node parsing on everything which has more than one DT memory
node, e.g. R-Car3.

In case multiple valid memory nodes are present in the DT, the original
patch would complete parsing cycle for the first memory node, then move
on to the next one, identify it as a valid, and end the parsing. The fix
is to invert the condition, to make the code behave as it did before the
livetree conversion, so it would continue parsing the subsequent memory
nodes as well.

Fixes: c2f0950c33 ("lib: fdt: Convert fdtdes_setup_mem..() to livetree API")
Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>
Tested-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Michal Simek <michal.simek@xilinx.com>
4 years agoinclude: phy: fix NULL pointer check in phy_write()
Thirupathaiah Annapureddy [Tue, 18 Aug 2020 00:31:08 +0000 (17:31 -0700)]
include: phy: fix NULL pointer check in phy_write()

phy_write() uses bus->write() instead of bus->read(). This means NULL
pointer pre-check needs to happen on bus->write instead of bus->read.

Signed-off-by: Thirupathaiah Annapureddy <thiruan@linux.microsoft.com>
Reviewed-by: Michal Simek <michal.simek@xilinx.com>
4 years agoMAINTAINERS: update clk entry git tree
Baruch Siach [Tue, 25 Aug 2020 06:01:41 +0000 (09:01 +0300)]
MAINTAINERS: update clk entry git tree

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
4 years agoMerge tag 'efi-2020-10-rc5' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Wed, 16 Sep 2020 12:08:06 +0000 (08:08 -0400)]
Merge tag 'efi-2020-10-rc5' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi

Pull request for UEFI sub-system for efi-2020-10-rc5

The following bugs are fixed:

* unaligned access in br_i32_decode()
* missing restore of global data pointer in UEFI selftest
* missing restore of global data pointer on RISC-V in UEfI subsystem
* efi_var_mem_notify_exit_boot_services() should not be __efi_runtime

4 years agoMerge tag 'u-boot-rockchip-20200916' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Wed, 16 Sep 2020 12:07:49 +0000 (08:07 -0400)]
Merge tag 'u-boot-rockchip-20200916' of https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip

- Fix rv1108 grf access issue
- make_fit_atf: ignore empty PT_LOAD segment

4 years agorockchip: make_fit_atf: ignore empty PT_LOAD segment
Heinrich Schuchardt [Tue, 15 Sep 2020 01:43:29 +0000 (03:43 +0200)]
rockchip: make_fit_atf: ignore empty PT_LOAD segment

The linker sometimes creates PT_LOAD segments with length (p_filesz) zero
as described in https://man7.org/linux/man-pages/man5/elf.5.html. This
leads to build failures. We should ignore empty segments.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Tested-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: rv1108: enable board early init
Kever Yang [Mon, 13 Apr 2020 01:38:32 +0000 (09:38 +0800)]
rockchip: rv1108: enable board early init

Enable board early init callback to init board specific hardware.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: rv1108: Enable grf as pre-reloc node
Kever Yang [Mon, 13 Apr 2020 01:38:31 +0000 (09:38 +0800)]
rockchip: rv1108: Enable grf as pre-reloc node

The grf node will be used before relocate, enable it in dts.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: rv1108: use correct API for board callback
Kever Yang [Mon, 13 Apr 2020 01:38:30 +0000 (09:38 +0800)]
rockchip: rv1108: use correct API for board callback

Use board_early_init_f() instead of mach_cpu_init() for board, the
board_early_init_f() is used for board init and after dm_initf, while
the mach_cpu_init() is used for CPU/SOC and before dm_initf()(not able
to use syscon API).

Fixes: 9cec336708 ("rockchip: evb-rv1108: Use syscon API to get grf base")
Fixes: 4aa33690fc {"rockchip: elgin-rv1108: Use syscon API to get grf base")

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
4 years agoMerge tag 'mmc-2020-9-15' of https://gitlab.denx.de/u-boot/custodians/u-boot-mmc
Tom Rini [Tue, 15 Sep 2020 12:59:32 +0000 (08:59 -0400)]
Merge tag 'mmc-2020-9-15' of https://gitlab.denx.de/u-boot/custodians/u-boot-mmc

- Use mmc_of_parse for msm_sdhci
- Add missing common host caps for xenon_sdhci.

4 years agoAzure/GitLab/Travis: Add SH4 r2dplus machine with various PCI ethernet options
Marek Vasut [Mon, 14 Sep 2020 19:55:58 +0000 (21:55 +0200)]
Azure/GitLab/Travis: Add SH4 r2dplus machine with various PCI ethernet options

Add SH4 R2Dplus machine configured to test various U-Boot PCI ethernet
options -- RTL8139, EEPRO100, AMD PCnet, DEC Tulip.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agommc: xenon_sdhci: Add missing common host capabilities
Andre Heider [Thu, 10 Sep 2020 17:53:40 +0000 (19:53 +0200)]
mmc: xenon_sdhci: Add missing common host capabilities

Use mmc_of_parse() to set the common host properties. That includes
"bus-width", so parsing it can be removed from the driver.

But more importantly, "non-removable" is now respected, which fixes
the usage of eMMC.

Signed-off-by: Andre Heider <a.heider@gmail.com>
Reviewed-by: Konstantin Porotchkin <kostap@marvell.com>
Tested-by: Marek Behún <marek.behun@nic.cz>
4 years agommc: msm_sdhci: Use mmc_of_parse for setting host_caps
Manivannan Sadhasivam [Thu, 16 Jul 2020 09:07:26 +0000 (14:37 +0530)]
mmc: msm_sdhci: Use mmc_of_parse for setting host_caps

Since the introduction of 'get_cd' callback in sdhci core,
dragonboard410c's MMC interface is broken. It turns out that 'get_cd'
callback checks for the host_caps for validating the chip select. And
since the msm_sdhci driver is not parsing the host_caps from DT, not
all of the cababilities are parsed properly. This results in the MMC
interfaces to be broken.

Hence, fix this by adding a call to 'mmc_of_parse' during driver probe.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Tested-by: Aníbal Limón <anibal.limon@linaro.org>
Reviewed-By: Ramon Fried <rfried.dev@gmail.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
4 years agoefi_selftest: restore gd before do_reset()
Heinrich Schuchardt [Thu, 10 Sep 2020 05:47:58 +0000 (07:47 +0200)]
efi_selftest: restore gd before do_reset()

Before calling do_reset() in the EFI selftest we must restore the global
data pointer.

Fixes: fa63753f86cc ("efi_selftest: substitute ResetSystem() by do_reset()")
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoefi_loader: save global data pointer on RISC-V
Heinrich Schuchardt [Thu, 10 Sep 2020 10:22:54 +0000 (12:22 +0200)]
efi_loader: save global data pointer on RISC-V

On RISC-V the global data pointer is stored in register gp. When a UEFI
binary calls the EFI API we have to restore it.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoriscv: define function set_gd()
Heinrich Schuchardt [Thu, 10 Sep 2020 05:47:39 +0000 (07:47 +0200)]
riscv: define function set_gd()

Function set_gd() is needed in the UEFI sub-system if the global data
pointer is stored in a register.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoefi_loader: efi_var_mem_notify_exit_boot_services
Heinrich Schuchardt [Tue, 8 Sep 2020 10:51:27 +0000 (10:51 +0000)]
efi_loader: efi_var_mem_notify_exit_boot_services

efi_var_mem_notify_exit_boot_services() is invoked when ExitBootServices()
is called by the UEFI payload.

efi_var_mem_notify_exit_boot_services() should not be defined as
__efi_runtime as it is invoking EFI_ENTRY() and EFI_EXIT() which themselves
are not __efi_runtime.

Fixes: f1f990a8c958 ("efi_loader: memory buffer for variables")
Fixes: e01aed47d6a0 ("efi_loader: Enable run-time variable support for tee based variables")
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
4 years agorsa: crash in br_i32_decode() called from rsa_gen_key_prop()
Robert Reither [Mon, 14 Sep 2020 11:12:02 +0000 (13:12 +0200)]
rsa: crash in br_i32_decode() called from rsa_gen_key_prop()

Fixes problem for unaligned 32bit big-endian access in
lib/rsa/rsa-keyprop.c.

Exchanges br_i32_decode() with get_unaligned_be32().

This will keep the unaligned access for architectures capable and will do
some byte-shift magic for the not so capable ones.

Reported-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-by: Robert Reither <robert.reither@external.thalesgroup.com>
Remove unused include.
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoMerge branch '2020-09-12-assorted-bugfixes'
Tom Rini [Mon, 14 Sep 2020 19:39:27 +0000 (15:39 -0400)]
Merge branch '2020-09-12-assorted-bugfixes'

- A large assortment of minor fixes
- Documentation improvements

4 years agotest: do no assume hush parser in validate_empty()
Heinrich Schuchardt [Thu, 10 Sep 2020 10:09:03 +0000 (12:09 +0200)]
test: do no assume hush parser in validate_empty()

The environment variable test uses function validate_empty() to check that
a variable is not defined. If the hush parser is not enabled, we cannot
refer to a variable by $var_name but only by ${var_name}.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Acked-by: Stephen Warren <swarren@nvidia.com>
4 years agoMakefile: mrproper shall delete doc/output/
Heinrich Schuchardt [Sat, 5 Sep 2020 09:08:06 +0000 (11:08 +0200)]
Makefile: mrproper shall delete doc/output/

HTML documentation is generated in doc/output/. This directory shall be
deleted by 'make mrproper'

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agodoc: describe building with GCC
Heinrich Schuchardt [Sat, 5 Sep 2020 08:58:53 +0000 (10:58 +0200)]
doc: describe building with GCC

Provide a description of the U-Boot build process with GCC in the HTML
documentation.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agodoc: describe source repository
Heinrich Schuchardt [Sat, 5 Sep 2020 08:58:52 +0000 (10:58 +0200)]
doc: describe source repository

Add a chapter to the HTML documentation describing how to retrieve the
U-Boot sources.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoARM: MediaTek: amend IC description for MediaTek MT8512
Mingming Lee [Fri, 4 Sep 2020 05:35:22 +0000 (13:35 +0800)]
ARM: MediaTek: amend IC description for MediaTek MT8512

The description for MT8512  has some mistake, so correct it.

Signed-off-by: Mingming Lee <Mingming.Lee@mediatek.com>
4 years agoFix data abort caused by mis-aligning FIT data
Reuben Dowle [Tue, 1 Sep 2020 21:32:01 +0000 (21:32 +0000)]
Fix data abort caused by mis-aligning FIT data

Attempting to place device tree immediately after an image in memory can lead
to mis-aligned data accesses if that image size is not divisible by the
alignment requirements of the architecture.

Data aborts caused by this were observed on a custom Marvel A388 based system,
where the image was a uboot FIT file. The total size varies depending on the
uboot device tree size, which does not always lead to correct alignment.

The minimum alignment specified for ARM [1] and ARM64 [2] linux booting has been
used

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm/booting.rst#n126
[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.rst#n45

Signed-off-by: Reuben Dowle <reuben.dowle@4rf.com>
4 years agomtd: nand: Fix nand write error with bad block addresses above 32-bit
T Karthik Reddy [Mon, 31 Aug 2020 12:27:37 +0000 (14:27 +0200)]
mtd: nand: Fix nand write error with bad block addresses above 32-bit

Nand writes should skip the bad blocks with "nand write" command.
In case of bad blocks with above 32-bit address, nand_block_isbad()
returns false due to truncated bad block address.

In below code segment,

if (nand_block_isbad(mtd, offset & ~(mtd->erasesize - 1)))

offset is 64-bit and mtd->erasesize is 32-bit, hence the truncation is
happening. Cast 'mtd->erasesize' with loff_t to fix this issue.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoenv: Crash in 'env import' when using checksum and a specific size
Pedro Aguilar [Mon, 31 Aug 2020 09:01:41 +0000 (11:01 +0200)]
env: Crash in 'env import' when using checksum and a specific size

This patch adds a sanity check that avoids 'size' to overflow and crash when
importing an environment that contains a checksum. Example with the wrong size
that causes the crash:

=> env import -c 0x4100000 3 v1

This assumes that v1 has already been successfully exported with
'env export -c -s 0x100 0x4100000 v1'

Signed-off-by: Pedro Aguilar <pedro.aguilar@vimar.com>
4 years agobootm: update image OS image size when decompressing
Heinrich Schuchardt [Sun, 30 Aug 2020 09:34:12 +0000 (11:34 +0200)]
bootm: update image OS image size when decompressing

In bootm_load_os() the OS image is decompressed. In later stages of the
boot process we need the decompressed size of the image.

Update images->os.image_len after decompression.

Passing the correct size is necessary if we want to check loaded EFI
binararies for file truncation by comparing the loaded size to the header
field SizeOfImage.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 years agocommon: Kconfig: Add dependency for default variables strings
Michal Simek [Thu, 27 Aug 2020 16:01:28 +0000 (18:01 +0200)]
common: Kconfig: Add dependency for default variables strings

Kconfig provides several config options for setting up default variables
but these are unused when variables are passed to U-Boot via file.
That's why cover this dependency in Kconfig.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agoPCI: mediatek: Release the resource when PCIe enable port fail
Chuanjia Liu [Mon, 31 Aug 2020 07:53:12 +0000 (15:53 +0800)]
PCI: mediatek: Release the resource when PCIe enable port fail

On the mt7623 platform, if one port enable fail and other port
enable succeed. It will hang on when using pci enum
because the resource was not released correctly.

Signed-off-by: Chuanjia Liu <Chuanjia.Liu@mediatek.com>
Tested-by: Frank Wunderlich <frank-w@public-files.de>
4 years agoMerge tag 'u-boot-amlogic-20200910' of https://gitlab.denx.de/u-boot/custodians/u...
Tom Rini [Thu, 10 Sep 2020 13:04:02 +0000 (09:04 -0400)]
Merge tag 'u-boot-amlogic-20200910' of https://gitlab.denx.de/u-boot/custodians/u-boot-amlogic

- enables HDMI output & USB keyboard for Odroid-N2
- setups HDMI output background & enables USB keyboard

4 years agoconfigs: odroid-c4: update for HDMI output background & USB keyboard
Anand Moon [Fri, 14 Aug 2020 06:25:15 +0000 (06:25 +0000)]
configs: odroid-c4: update for HDMI output background & USB keyboard

Enable options SYS_WHITE_ON_BLACK to permit HDMI background
screen from white to back, also enable USB_KEYBOARD.

Signed-off-by: Anand Moon <linux.amoon@gmail.com>
Acked-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
4 years agoconfigs: odroid-n2: update for HDMI output & USB keyboard
Anand Moon [Fri, 14 Aug 2020 06:25:14 +0000 (06:25 +0000)]
configs: odroid-n2: update for HDMI output & USB keyboard

Enable options to permit HDMI output on Odroid-N2 G12B boards.
Enable VPU Power Domain.
Enable USB_KEYBOARD.

Signed-off-by: Anand Moon <linux.amoon@gmail.com>
Acked-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
4 years agoMerge tag 'u-boot-stm32-20200909' of https://gitlab.denx.de/u-boot/custodians/u-boot-stm
Tom Rini [Wed, 9 Sep 2020 16:59:02 +0000 (12:59 -0400)]
Merge tag 'u-boot-stm32-20200909' of https://gitlab.denx.de/u-boot/custodians/u-boot-stm

- fixes on AV96 board: pull up on UART4 RX and adjust PLL4

4 years agoARM: dts: stm32: Adjust PLL4 settings on AV96 again
Marek Vasut [Sat, 22 Aug 2020 20:45:25 +0000 (22:45 +0200)]
ARM: dts: stm32: Adjust PLL4 settings on AV96 again

PLL4Q is supplying both FDCAN and LTDC. In case HDMI is in use, the
50 MHz generated from PLL4Q cannot be divided well enough to produce
accurate clock for HDMI pixel clock. Adjust it to generate 74.25 MHz
instead. The PLL4P/PLL4R are generating 99 MHz instead of 100 MHz,
which is in tolerance for the SDMMC.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Gerald Baeza <gerald.baeza@st.com>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@st.com>
4 years agoARM: dts: stm32: Pull UART4 RX high on AV96
Marek Vasut [Sat, 22 Aug 2020 20:45:36 +0000 (22:45 +0200)]
ARM: dts: stm32: Pull UART4 RX high on AV96

There is no dedicated pull resistor on the AV96 UART4 (console UART)
pin. In case there is no UART adapter installed on the AV96, the line
is floating and can trigger reception of garbage characters, which in
turn can abort U-Boot autoboot. Add default pull up to mitigate this
problem.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@st.com>
4 years agoarm: stm32mp: cleanup test on eth_env_set_enetaddr result
Patrick Delaunay [Tue, 7 Apr 2020 14:07:46 +0000 (16:07 +0200)]
arm: stm32mp: cleanup test on eth_env_set_enetaddr result

Remove the unnecessary inversion on the eth_env_set_enetaddr() result which
only make complex the code of setup_mac_address() and display an invalid
value in the associated pr_err.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Reviewed-by: Marek Vasut <marex@denx.de>
4 years agoMerge tag 'rpi-next-2020.10.2' of https://gitlab.denx.de/u-boot/custodians/u-boot...
Tom Rini [Wed, 9 Sep 2020 12:17:53 +0000 (08:17 -0400)]
Merge tag 'rpi-next-2020.10.2' of https://gitlab.denx.de/u-boot/custodians/u-boot-raspberrypi

- fixes for bcmgenet
- enable USB keyboard for RPi4 32 bit

4 years agoconfig: Enable USB Keyboard suuport on RPi4 32 bit
Matthias Brugger [Sun, 12 Jul 2020 17:40:28 +0000 (19:40 +0200)]
config: Enable USB Keyboard suuport on RPi4 32 bit

Supporting USB keyboards out of the box is both handy for development
and production. Notably if u-boot is used to boot into GRUB. This patch
adds USB keyboard support for 32 bit RPi4 config.

Signed-off-by: Matthias Brugger <mbrugger@suse.com>