]> git.sur5r.net Git - u-boot/log
u-boot
5 years agoblock: Add SPL_BLOCK_CACHE and default n
Adam Ford [Mon, 11 Jun 2018 22:17:48 +0000 (17:17 -0500)]
block: Add SPL_BLOCK_CACHE and default n

When enabling BLOCK_CACHE on devices with limited RAM during SPL,
some devices may not boot.  This creates an option to enable
block caching in SPL by defaults off.  It is dependent on SPL_BLK

Fixes: 46960ad6d09b ("block: Have BLOCK_CACHE default to y in some cases")
Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agoarm: Do not clear LR on exception in SPL
Andrew F. Davis [Mon, 11 Jun 2018 19:04:17 +0000 (14:04 -0500)]
arm: Do not clear LR on exception in SPL

When an exception or interrupt occurs the link register (LR) may
contain the source of the exception, although we do not print the
value it may still be extracted with a debugger. When in SPL we
loop on getting and exception, but use a linking branch, which
over-writes the LR value, use a regular branch instruction here.

Signed-off-by: Andrew F. Davis <afd@ti.com>
5 years agommc: Remove hwpartition help text when command is disabled
Alex Kiernan [Mon, 11 Jun 2018 16:20:09 +0000 (16:20 +0000)]
mmc: Remove hwpartition help text when command is disabled

When the `mmc hwpartition` command is disabled, remove the associated help
text.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
5 years agofs: btrfs: Do not fail when all root_backups are empty
Yevgeny Popovych [Mon, 11 Jun 2018 11:14:33 +0000 (14:14 +0300)]
fs: btrfs: Do not fail when all root_backups are empty

This is the case when reading freshly created filesystem.
The error message is like the following:
    btrfs_read_superblock: No valid root_backup found!

Since the data from super_roots/root_backups is not actually used -
decided to rework btrfs_newest_root_backup() into
btrfs_check_super_roots() that will only check if super_roots
array is valid and correctly handle empty scenario.

As a result:
* btrfs_read_superblock() now only checks if super_roots array is valid;
  the case when it is empty is considered OK.
* removed root_backup pointer from btrfs_info,
  which would be NULL in case of empty super_roots.
* btrfs_read_superblock() verifies number of devices from the superblock
  itself, not newest root_backup.

Signed-off-by: Yevgeny Popovych <yevgenyp@pointgrab.com>
Cc: Marek Behun <marek.behun@nic.cz>
Cc: Sergey Struzh <sergeys@pointgrab.com>
5 years ago.gitignore: move *.dtb and *.dtb.S patterns to the top-level .gitignore
Masahiro Yamada [Mon, 11 Jun 2018 07:21:50 +0000 (16:21 +0900)]
.gitignore: move *.dtb and *.dtb.S patterns to the top-level .gitignore

Follow Linux commit 10b62a2f785a (".gitignore: move *.dtb and *.dtb.S
patterns to the top-level .gitignore").

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years ago.gitignore: sort normal pattern rules alphabetically
Masahiro Yamada [Mon, 11 Jun 2018 07:21:49 +0000 (16:21 +0900)]
.gitignore: sort normal pattern rules alphabetically

Follow Linux commit 1377dd3e2987 (".gitignore: sort normal pattern
rules alphabetically").

This would allow us to easily catch duplicated patterns if any.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
5 years agodm: gpio: Add DM compatibility to GPIO driver for Davinci
Adam Ford [Mon, 11 Jun 2018 03:25:57 +0000 (22:25 -0500)]
dm: gpio: Add DM compatibility to GPIO driver for Davinci

This adds DM_GPIO support for the davinici GPIO driver with
DT support.

Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agoMAINTAINERS: update ARM Snapdragon
Ramon Fried [Sun, 10 Jun 2018 20:51:41 +0000 (23:51 +0300)]
MAINTAINERS: update ARM Snapdragon

Replace Mateusz as Maintainer for ARM Snapdragon arch.

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
Acked-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
5 years agodb410c: fix alignment of dts file
Ramon Fried [Sat, 9 Jun 2018 08:30:30 +0000 (11:30 +0300)]
db410c: fix alignment of dts file

Alignment was wrong, missing one tab. fix it.

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
5 years agoiotrace: fix behaviour when buffer is full
Ramon Fried [Fri, 8 Jun 2018 17:53:27 +0000 (20:53 +0300)]
iotrace: fix behaviour when buffer is full

Don't continue updating the offset when buffer is full.
When the buffer size exhausts and there's no space left to write
warn the user and update only the needed size and not both the
offset and needed size.

Add needed buffer size information in the iotrace command.

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
5 years agocmd: iotrace: add dump trace command
Ramon Fried [Fri, 8 Jun 2018 17:53:26 +0000 (20:53 +0300)]
cmd: iotrace: add dump trace command

Add dump trace command which dump all trace
buffer content in a much more readable fashion
than md.

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agoiotrace: move record definitons to header file
Ramon Fried [Fri, 8 Jun 2018 17:53:25 +0000 (20:53 +0300)]
iotrace: move record definitons to header file

The header definitions are needed for reading
record information in cmd/iotrace.c

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agoARM: sunxi: remove empty #ifdef/endif block
Chris Packham [Mon, 4 Jun 2018 09:45:23 +0000 (21:45 +1200)]
ARM: sunxi: remove empty #ifdef/endif block

Whatever code this was guarding has been removed so remove the guards
too.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
5 years agom68k: Remove empty #ifdef/#ifndef block
Chris Packham [Mon, 4 Jun 2018 09:45:22 +0000 (21:45 +1200)]
m68k: Remove empty #ifdef/#ifndef block

Whatever code this was guarding has been removed so remove the guards
too.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
5 years agoconfigs: Remove empty #ifdef/#ifndef blocks
Chris Packham [Mon, 4 Jun 2018 09:45:21 +0000 (21:45 +1200)]
configs: Remove empty #ifdef/#ifndef blocks

Remove empty #ifdef/#ifndef..#endif blocks where the configuration they
guarded has been completely removed.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
5 years agodoc: avb2.0: add README about AVB2.0 integration
Igor Opaniuk [Sun, 3 Jun 2018 18:56:43 +0000 (21:56 +0300)]
doc: avb2.0: add README about AVB2.0 integration

Contains:
1. Overview of Android Verified Boot 2.0
2. Description of avb subset of commands
3. Examples of errors when boot/vendor/system/vbmeta partitions
are tampered
4. Examples of enabling AVB2.0 on your setup

Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org>
5 years agotest/py: avb2.0: add tests for avb commands
Igor Opaniuk [Sun, 3 Jun 2018 18:56:42 +0000 (21:56 +0300)]
test/py: avb2.0: add tests for avb commands

1. Run AVB 2.0 full verification chain, avb verify
2. Check if 'avb get_uuid' works, compare results with
'part list mmc 1' output
3. Test `avb read` commands, which reads N bytes from a partition
identified by a name

Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org>
5 years agoam57xx_hs: avb2.0: add support of AVB 2.0
Igor Opaniuk [Sun, 3 Jun 2018 18:56:41 +0000 (21:56 +0300)]
am57xx_hs: avb2.0: add support of AVB 2.0

1. Add vbmeta partition info to android partition layout for TI
   platforms.
2. Add support of AVB 2.0 (including avb subset of commands) for am57xx HS

Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org>
[trini: Move to include/environment/ti/boot.h, reword commit slightly]
Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoavb2.0: add boot states and dm-verity support
Igor Opaniuk [Sun, 3 Jun 2018 18:56:40 +0000 (21:56 +0300)]
avb2.0: add boot states and dm-verity support

1. Add initial support of boot states mode (red, green, yellow)
2. Add functions for enforcing dm-verity configurations

Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org>
5 years agocmd: avb2.0: avb command for performing verification
Igor Opaniuk [Sun, 3 Jun 2018 18:56:39 +0000 (21:56 +0300)]
cmd: avb2.0: avb command for performing verification

Enable a "avb" command to execute Android Verified
Boot 2.0 operations. It includes such subcommands:
  avb init - initialize avb2 subsystem
  avb read_rb - read rollback index
  avb write_rb - write rollback index
  avb is_unlocked - check device lock state
  avb get_uuid - read and print uuid of a partition
  avb read_part - read data from partition
  avb read_part_hex - read data from partition and output to stdout
  avb write_part - write data to partition
  avb verify - run full verification chain

Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org>
5 years agoavb2.0: implement AVB ops
Igor Opaniuk [Sun, 3 Jun 2018 18:56:38 +0000 (21:56 +0300)]
avb2.0: implement AVB ops

Implement AVB ops on top of existing mmc subsystem API. Currently there
is a full implementation of such operations, defined by [1]
AVB2.0 specification:

.read_from_partition() - reads N bytes from a partition identified by
a name.
.write_to_partition() - Writes N bytes to a partition identified by a name.
.validate_vbmeta_public_key() - checks if the given public ‘vbmeta’
partition is trusted.
.get_unique_guid_for_partition() - Gets the GUID for a partition identified
by a string name.

As [1] specification recommends to use tamper-evident storage for storing
rollback indexes and device state (LOCKED/UNLOCKED),
currently are only stubs instead of full implementation for these ops:
.read_rollback_index() - Gets the rollback index for a given index location
.write_rollback_index() - Sets the rollback index to a given location
.read_is_device_unlocked() - Gets where the device is unlocked

[1] https://android.googlesource.com/platform/external/avb/+/master/README.md

Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org>
5 years agoavb2.0: integrate avb 2.0 into the build system
Igor Opaniuk [Sun, 3 Jun 2018 18:56:37 +0000 (21:56 +0300)]
avb2.0: integrate avb 2.0 into the build system

Integrate libavb into the build system. Introduce CONFIG_LIBAVB
build option.

Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org>
5 years agoavb2.0: add Android Verified Boot 2.0 library
Igor Opaniuk [Sun, 3 Jun 2018 18:56:36 +0000 (21:56 +0300)]
avb2.0: add Android Verified Boot 2.0 library

Add libavb lib (3rd party library from AOSP), that implements support of
AVB 2.0. This library is used for integrity checking of Android partitions
on eMMC.

libavb was added as it is and minimal changes were introduced to reduce
maintenance cost, because it will be deviated from AOSP upstream in the future.

Changes:
- license headers changed to conform SPDX-style
- avb_crc32.c dropped
- updates in avb_sysdeps_posix.c/avb_sysdeps.h

For additional details check [1] AVB 2.0 README.

[1] https://android.googlesource.com/platform/external/avb/+/master/README.md

Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org>
5 years agoMerge git://git.denx.de/u-boot-x86
Tom Rini [Mon, 18 Jun 2018 16:59:46 +0000 (12:59 -0400)]
Merge git://git.denx.de/u-boot-x86

5 years agomx6cuboxi: fix 4GB ddr memory detection
Jon Nettleton [Thu, 7 Jun 2018 13:17:37 +0000 (16:17 +0300)]
mx6cuboxi: fix 4GB ddr memory detection

The soms with 4GB ddr have a rowaddr of 16 not 15, this allows
the detection mechanism to properly identify them as 4GB.
However these soms can be populated with whatever amount of
memory the customer requests therefor we need a ram stride test.
We can not use the get_ram_size() function because not all 4GB's
of DDR is addressable on a 32-bit architecture.  Therefore instead
we use a memory stride of 128MB's and look for the address that
the memory wraps.  This function is used for all som types to
catch most memory configurations.

This is a revised version of Rabeeh Khoury's original code.

Signed-off-by: Jon Nettleton <jon@solid-run.com>
Signed-off-by: Rabeeh Khoury <rabeeh@solid-run.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
5 years agomx6cuboxi: consolidate board detection and add som revision checking
Jon Nettleton [Thu, 7 Jun 2018 13:17:36 +0000 (16:17 +0300)]
mx6cuboxi: consolidate board detection and add som revision checking

In order to properly detect the board the checks need to be done
in a specific order.  Move these tests back into a single enum
function that will always return the proper the board it is checking.

This also adds the best test we have for detecting the rev 1.5 som,
and it simplifies the device-tree filename building.

Signed-off-by: Jon Nettleton <jon@solid-run.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
5 years agodrivers/gpio/mxc: fix MXC GPIO name in KConfig
Hannes Schmelzer [Thu, 7 Jun 2018 10:10:09 +0000 (12:10 +0200)]
drivers/gpio/mxc: fix MXC GPIO name in KConfig

The naming with "UART" is obviously wrong, we fix this here.

Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
5 years agoboard: engicam: spl: match icore-mipi fit-config
Jagan Teki [Sat, 2 Jun 2018 11:55:27 +0000 (17:25 +0530)]
board: engicam: spl: match icore-mipi fit-config

Match imx6q-icore-mipi and imx6dl-icore-mipi dtb in
board_fit_config_name_match.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
5 years agoconfig: Update defconfig for imx53 K+P boards
Lukasz Majewski [Sun, 20 May 2018 06:33:19 +0000 (08:33 +0200)]
config: Update defconfig for imx53 K+P boards

This commit updates the defconfig for the HSC and DDC
boards.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoboard: Remove not needed function for the K+P's imx53 board
Lukasz Majewski [Sun, 20 May 2018 06:33:18 +0000 (08:33 +0200)]
board: Remove not needed function for the K+P's imx53 board

The get_board_rev() is not needed anymore as a generic function
for the imx53 SoC has been used instead.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoboard: Silent out the console on the K+P's imx53 boards
Lukasz Majewski [Sun, 20 May 2018 06:33:17 +0000 (08:33 +0200)]
board: Silent out the console on the K+P's imx53 boards

Disable console output by default on imx53 based boards from
K+P.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoboard: Add support for KEY1 status detection on K+P's HSC|DDC boards
Lukasz Majewski [Sun, 20 May 2018 06:33:16 +0000 (08:33 +0200)]
board: Add support for KEY1 status detection on K+P's HSC|DDC boards

This code provides information if the K+P's imx53 boards had KEY1
pressed.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoboard: Adjust K+P script to run misc (per board) adjustments
Lukasz Majewski [Sun, 20 May 2018 06:33:15 +0000 (08:33 +0200)]
board: Adjust K+P script to run misc (per board) adjustments

This change gives the opportunity to adjust Linux command line for the
imx53 device with some legacy data.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoboard: imx53: Always disable display before starting kernel
Lukasz Majewski [Sun, 20 May 2018 06:33:14 +0000 (08:33 +0200)]
board: imx53: Always disable display before starting kernel

This patch prevents from the situation where we may end up with garbage
displayed on the LCD panel.

Such situation occurs when one performs "reboot -f" in Linux and then
stop in U-boot (or observe the garbage on the screen during boot up).

To prevent from such situation - the PWM pin is configured as GPIO and set
to LOW.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agopico-imx7d: Adjust the dtb name
Fabio Estevam [Mon, 11 Jun 2018 18:08:06 +0000 (15:08 -0300)]
pico-imx7d: Adjust the dtb name

Since kernel commit 41bbeadceb03 ("ARM: dts: imx7d-pico-pi: Separate
into cpu and baseboard dts") the dtb name has changed.

Fix it accordingly.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
5 years agospl: Add default values for ARCH_MX7
Fabio Estevam [Mon, 11 Jun 2018 18:08:05 +0000 (15:08 -0300)]
spl: Add default values for ARCH_MX7

ARCH_MX6 has default values for SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
and SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR.

Do the same for ARCH_MX7 so that users may have a consistent
experience through the i.MX families.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
5 years agowandboard: Remove hardcoded baudrate from "console" variable
Otavio Salvador [Mon, 11 Jun 2018 18:08:04 +0000 (15:08 -0300)]
wandboard: Remove hardcoded baudrate from "console" variable

We should use the baudrate variable available inside U-Boot
environment to allow it to be changed dynamically.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
5 years agoARM: mxs: let boards override entire dram parameter table
Mans Rullgard [Fri, 27 Apr 2018 09:45:15 +0000 (10:45 +0100)]
ARM: mxs: let boards override entire dram parameter table

If many values differ from the defaults, overriding the full table
is simpler and more space efficient than tweaking it through
mxs_adjust_memory_params().

Signed-off-by: Mans Rullgard <mans@mansr.com>
5 years agoimx: Enable ACTLR.SMP bit for all i.MX cortex-a7 platforms
Ye Li [Mon, 14 May 2018 12:44:29 +0000 (09:44 -0300)]
imx: Enable ACTLR.SMP bit for all i.MX cortex-a7 platforms

According to the Cortex-A7 TRM, for ACTLR.SMP bit "You must ensure this bit
is set to 1 before the caches and MMU are enabled, or any cache and TLB
maintenance operations are performed".
ROM sets this bit in normal boot flow, but when in serial download mode,
it is not set.
Here we add it in u-boot as a common flow for all i.MX cortex-a7 platforms,
including mx7d, mx6ul/ull and mx7ulp.

Signed-off-by: Ye Li <ye.li@nxp.com>
[fabio: adapted to U-Boot mainline codebase and make checkpatch happy]
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
5 years agodisplay5: Add missing environment.h include to avoid warning
Lukasz Majewski [Fri, 11 May 2018 14:51:19 +0000 (16:51 +0200)]
display5: Add missing environment.h include to avoid warning

Without this change the following warning shows up when building:

board/liebherr/display5/display5.c:270:3:
warning: implicit declaration of function ‘eth_env_set_enetaddr’ [-Wimplicit-function-declaration]

This commit fixes this issue.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agodisplay5: config: Add GPT verification and restoration code on SWUpdate entry
Lukasz Majewski [Fri, 11 May 2018 14:51:18 +0000 (16:51 +0200)]
display5: config: Add GPT verification and restoration code on SWUpdate entry

If GPT gets broken, then after N boot attempts we will run the SWUpdate
restoration image.
On its enter we will check GPT and restore it if needed.

To test it:
display5 > mmc write 0x12000000 4 8

It will overwrite the primary GPT table.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agodisplay5: display5_defconfig: Enable support for gpt command (CMD_GPT) in production...
Lukasz Majewski [Fri, 11 May 2018 14:51:17 +0000 (16:51 +0200)]
display5: display5_defconfig: Enable support for gpt command (CMD_GPT) in production u-boot

After this change one can run 'gpt' command on production u-boot.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agodisplay5: config: Reduce rootfs2 (BACKUP) size from 1528M to 512M
Lukasz Majewski [Fri, 11 May 2018 14:51:16 +0000 (16:51 +0200)]
display5: config: Reduce rootfs2 (BACKUP) size from 1528M to 512M

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agodisplay5: config: Add cma=256M to command line arguments
Lukasz Majewski [Fri, 11 May 2018 14:51:15 +0000 (16:51 +0200)]
display5: config: Add cma=256M to command line arguments

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agodisplay5: net: Add function to read ethaddr from iMX6 fuses
Lukasz Majewski [Fri, 11 May 2018 14:51:14 +0000 (16:51 +0200)]
display5: net: Add function to read ethaddr from iMX6 fuses

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agodisplay5: ddr: Enable support for DDR3 auto calibration
Lukasz Majewski [Fri, 11 May 2018 14:51:13 +0000 (16:51 +0200)]
display5: ddr: Enable support for DDR3 auto calibration

This code performs DDR3 memory calibration for display5 board.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agodisplay5: config: Update swupdate initramfs file name (now supporting ext4)
Lukasz Majewski [Fri, 11 May 2018 14:51:12 +0000 (16:51 +0200)]
display5: config: Update swupdate initramfs file name (now supporting ext4)

After moving to swupdate 2017.07, the default fs for swupdate rootfs
is ext4, not ext3.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agodisplay5: config: factory: Update BACKUP rootfs in factory mode
Lukasz Majewski [Fri, 11 May 2018 14:51:11 +0000 (16:51 +0200)]
display5: config: factory: Update BACKUP rootfs in factory mode

After splitting rootfs images to BACKUP and ACTIVE, the "factory"
u-boot also needs to update the former.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agodisplay5: config: Provide 'tftp_mmc_rootfs_bkp' command to write BACKUP rootfs
Lukasz Majewski [Fri, 11 May 2018 14:51:10 +0000 (16:51 +0200)]
display5: config: Provide 'tftp_mmc_rootfs_bkp' command to write BACKUP rootfs

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agodisplay5: wdt: Enable WDT support (both SPL and u-boot)
Lukasz Majewski [Fri, 11 May 2018 14:51:09 +0000 (16:51 +0200)]
display5: wdt: Enable WDT support (both SPL and u-boot)

Test case:

The fitImage gets corrupted:

truncate -c -s 3M fitImage
run tftp_mmc_fitImg
setenv boot_os y
reset

[board shall hang in SPL with
"Trying to boot from MMC1" information]

Then after X seconds WDT is causing board to reset. After N boot attempts
we enter recovery mode.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agodisplay5: Support for the emergency PAD pressing
Lukasz Majewski [Fri, 11 May 2018 14:51:08 +0000 (16:51 +0200)]
display5: Support for the emergency PAD pressing

To enter the special mode, one needs to short cut two pads with e.g. screw
driver.

After power up the SPL will execute u-boot in which proper actions will be
taken.

It is worth noting that we do not alter envs (even the BOOT_FROM variable)
and unconditionally go to recovery.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agodisplay5: config: factory: Extend mtdparts to support LEG factory partition
Lukasz Majewski [Fri, 11 May 2018 14:51:07 +0000 (16:51 +0200)]
display5: config: factory: Extend mtdparts to support LEG factory partition

This special partition has been added solely for production purpose.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agodisplay5: config: Update SPI-NOR partition for larger swupdate-initramfs
Lukasz Majewski [Fri, 11 May 2018 14:51:06 +0000 (16:51 +0200)]
display5: config: Update SPI-NOR partition for larger swupdate-initramfs

The SPI-NOR partition information has been updated to store
swupdate-kernel-FIT just after envs as well as two times larger
swupdate-initramfs image.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agodisplay5: config: Remove support for Linux initramfs recovery image boot
Lukasz Majewski [Fri, 11 May 2018 14:51:05 +0000 (16:51 +0200)]
display5: config: Remove support for Linux initramfs recovery image boot

This is a prerequisite patch to combine SWUpdate and Linux recovery
initramfs images.

It removes the support for it.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agodisplay5: config: Reset the board when bootm fails
Lukasz Majewski [Fri, 11 May 2018 14:51:04 +0000 (16:51 +0200)]
display5: config: Reset the board when bootm fails

Since display5 is now supporting boot counting, we can just reset the
board when bootm fails (i.e. it doesn't boot the fitImage kernel for
any reason).

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agodisplay5: spl: Check return code of the env_* functions
Lukasz Majewski [Fri, 11 May 2018 14:51:03 +0000 (16:51 +0200)]
display5: spl: Check return code of the env_* functions

Force booting through u-boot proper when environment error encountered
(as a result of either broken SPI-NOR or erased envs).

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agodisplay5: config: Provide command to flash the whole SPI-NOR memory
Lukasz Majewski [Fri, 11 May 2018 14:51:02 +0000 (16:51 +0200)]
display5: config: Provide command to flash the whole SPI-NOR memory

It may be necessary to update the content of the whole SPI-NOR memory at
once with using a single command (tftp_sf_img).

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agodisplay5: config: Add "factory" (1MiB) SPI-NOR partition in u-boot
Lukasz Majewski [Fri, 11 May 2018 14:51:01 +0000 (16:51 +0200)]
display5: config: Add "factory" (1MiB) SPI-NOR partition in u-boot

To test if this partition is present - one needs to write:
display5 > sf probe; mtdparts
display5 > sf erase factory +0x100000

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agodisplay5: config: factory: Setup IP config data according to LEG production setup
Lukasz Majewski [Fri, 11 May 2018 14:51:00 +0000 (16:51 +0200)]
display5: config: factory: Setup IP config data according to LEG production setup

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agodisplay5: factory: Add support for BOOT_FROM = FACTORY switch
Lukasz Majewski [Fri, 11 May 2018 14:50:59 +0000 (16:50 +0200)]
display5: factory: Add support for BOOT_FROM = FACTORY switch

When BOOT_FROM = FACTORY, then the LEG's factory setup is performed.

This code relies on boot_nfs u-boot command, so it shall be adjusted
appropriately (e.g. provide proper fitImage file).

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agox86: efi: app: Display correct CPU info during boot
Bin Meng [Tue, 12 Jun 2018 15:36:25 +0000 (08:36 -0700)]
x86: efi: app: Display correct CPU info during boot

Currently when EFI application boots, it says:

  CPU: x86_64, vendor <invalid cpu vendor>, device 0h

Fix this by calling x86_cpu_init_f() in arch_cpu_init().

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agox86: Rename efi-x86 target to efi-x86_app
Bin Meng [Tue, 12 Jun 2018 15:36:24 +0000 (08:36 -0700)]
x86: Rename efi-x86 target to efi-x86_app

To avoid confusion, let's rename the efi-x86 target to efi-x86_app.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agox86: efi: payload: Add EFI framebuffer driver support
Bin Meng [Tue, 12 Jun 2018 15:36:23 +0000 (08:36 -0700)]
x86: efi: payload: Add EFI framebuffer driver support

This turns on the EFI framebuffer driver support so that a graphics
console can be of additional help.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agodm: video: Add an EFI framebuffer driver
Bin Meng [Tue, 12 Jun 2018 15:36:22 +0000 (08:36 -0700)]
dm: video: Add an EFI framebuffer driver

This adds a DM video driver for U-Boot as the EFI payload. The driver
makes use of all necessary information from the passed EFI GOP info
to create a linear framebuffer device, as if it were initialized by
U-Boot itself.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
5 years agoefi: stub: Pass EFI GOP information to U-Boot payload
Bin Meng [Tue, 12 Jun 2018 15:36:21 +0000 (08:36 -0700)]
efi: stub: Pass EFI GOP information to U-Boot payload

If UEFI BIOS has the graphics output protocol (GOP), let's pass its
information to U-Boot payload so that U-Boot can utilize it (eg:
an EFI framebuffer driver).

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agox86: baytrail: Drop EFI-specific test logics
Bin Meng [Tue, 12 Jun 2018 15:36:20 +0000 (08:36 -0700)]
x86: baytrail: Drop EFI-specific test logics

Now that we have generic EFI payload support, drop EFI-specific test
logics in BayTrail Kconfig and codes, and all BayTrail boards too.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agox86: Drop QEMU-specific EFI payload support
Bin Meng [Tue, 12 Jun 2018 15:36:19 +0000 (08:36 -0700)]
x86: Drop QEMU-specific EFI payload support

Now that we have generic EFI payload support for all x86 boards,
drop the QEMU-specific one.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agox86: Add generic EFI payload support
Bin Meng [Tue, 12 Jun 2018 15:36:18 +0000 (08:36 -0700)]
x86: Add generic EFI payload support

It is possible to create a generic EFI payload for all x86 boards.
The payload is configured to include as many generic drivers as
possible. All stuff that touches low-level initialization are not
allowed as such is the EFI BIOS's responsibility. Platform specific
drivers (like gpio, spi, etc) are not included.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agox86: efi: payload: Add arch_cpu_init()
Bin Meng [Tue, 12 Jun 2018 15:36:17 +0000 (08:36 -0700)]
x86: efi: payload: Add arch_cpu_init()

This adds arch_cpu_init() to the payload codes, in preparation for
supporting a generic efi payload.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agox86: efi: Refactor the directory of EFI app and payload support
Bin Meng [Tue, 12 Jun 2018 15:36:16 +0000 (08:36 -0700)]
x86: efi: Refactor the directory of EFI app and payload support

At present the EFI application and payload support codes in the x86
directory is distributed in a hybrid way. For example, the Kconfig
options for both app and payload are in arch/x86/lib/efi/Kconfig,
but the source codes in the same directory get built only for
CONFIG_EFI_STUB.

This refactors the codes by consolidating all the EFI support codes
into arch/x86/cpu/efi, just like other x86 targets.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agox86: doc: Fix reference to EFI doc in U-Boot
Bin Meng [Tue, 12 Jun 2018 15:36:13 +0000 (08:36 -0700)]
x86: doc: Fix reference to EFI doc in U-Boot

Since commit f3b5056c4e72 ("efi_loader: split README.efi into two
separate documents"), the original README.efi was renamed to
README.u-boot_on_efi, but x86 doc still refers to the old one.

This updates the x86 doc to reference both README.u-boot_on_efi and
README.uefi.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: use EFI calling convention for efi_main on x86_64
Ivan Gorinov [Thu, 14 Jun 2018 00:27:39 +0000 (17:27 -0700)]
x86: use EFI calling convention for efi_main on x86_64

UEFI specifies the calling convention used in Microsoft compilers;
first arguments of a function are passed in (%rcx, %rdx, %r8, %r9).

All other compilers use System V ABI by default, passing first integer
arguments of a function in (%rdi, %rsi, %rdx, %rcx, %r8, %r9).

These ABI also specify different sets of registers that must be preserved
across function calls (callee-saved).

GCC allows using the Microsoft calling convention by adding the ms_abi
attribute to a function declaration.

Current EFI implementation in U-Boot specifies EFIAPI for efi_main()
in the test apps but uses default calling convention in lib/efi.

Save efi_main() arguments in the startup code on x86_64;
use EFI calling convention for _relocate() on x86_64;
consistently use EFI calling convention for efi_main() everywhere.

Signed-off-by: Ivan Gorinov <ivan.gorinov@intel.com>
Reviewed-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
5 years agox86: cherryhill: Fix DTC warning
Bin Meng [Wed, 13 Jun 2018 03:01:14 +0000 (20:01 -0700)]
x86: cherryhill: Fix DTC warning

Fix warning when compiling cherryhill.dts with latest DTC:

  "Warning (avoid_unnecessary_addr_size): /pci/pch@1f,0: unnecessary
   #address-cells/#size-cells without "ranges" or child "reg" property"

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agoMerge branch 'master' of git://git.denx.de/u-boot-sh
Tom Rini [Sun, 17 Jun 2018 13:09:40 +0000 (09:09 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-sh

5 years agoMerge branch 'master' of git://git.denx.de/u-boot-usb
Tom Rini [Sat, 16 Jun 2018 04:07:37 +0000 (00:07 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-usb

5 years agoARM: rmobile: Disable 4k SF sectors on V3M Eagle
Marek Vasut [Sat, 16 Jun 2018 02:21:45 +0000 (04:21 +0200)]
ARM: rmobile: Disable 4k SF sectors on V3M Eagle

The V3M Eagle uses flash with 128 kiB or 256 kiB sectors,
disable the 4k sector support.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
5 years agoARM: rmobile: Enable cache command on V3M Eagle
Marek Vasut [Fri, 15 Jun 2018 23:41:09 +0000 (01:41 +0200)]
ARM: rmobile: Enable cache command on V3M Eagle

Turning the cache off can help when experimenting with bare metal
applications, enable the cache command on V3M Eagle to make that
easier.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
5 years agoARM: rmobile: Fix CPGW address on V3M Eagle
Marek Vasut [Fri, 15 Jun 2018 23:16:50 +0000 (01:16 +0200)]
ARM: rmobile: Fix CPGW address on V3M Eagle

Fix the CPGWPR/CPGWPCR register address on V3M Eagle to unlock
access to the CPG clock control registers.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
5 years agoARM: dts: rmobile: Add AVB PHY reset on V3M Eagle
Marek Vasut [Sat, 16 Jun 2018 00:15:12 +0000 (02:15 +0200)]
ARM: dts: rmobile: Add AVB PHY reset on V3M Eagle

Add EtherAVB PHY reset on V3M Eagle to let the AVB driver unreset the PHY.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
5 years agoARM: dts: rmobile: Add AVB pinmux on V3M Eagle
Marek Vasut [Fri, 15 Jun 2018 23:16:41 +0000 (01:16 +0200)]
ARM: dts: rmobile: Add AVB pinmux on V3M Eagle

Add EtherAVB pinmux node on V3M Eagle to set the pinmux configuration.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
5 years agoARM: dts: rmobile: Enable SDHI on E3 Ebisu
Marek Vasut [Thu, 31 May 2018 17:56:42 +0000 (19:56 +0200)]
ARM: dts: rmobile: Enable SDHI on E3 Ebisu

Enable SDHI on R8A77990 E3 Ebisu in DT.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
5 years agoARM: dts: rmobile: Add initial SDHI nodes to R8A77990 E3
Marek Vasut [Thu, 31 May 2018 17:56:36 +0000 (19:56 +0200)]
ARM: dts: rmobile: Add initial SDHI nodes to R8A77990 E3

Add SDHI nodes to R8A77990 E3 SoC to allow SDHI operation.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
5 years agoARM: dts: rmobile: Add SCIF2 pinmux to E3 Ebisu
Marek Vasut [Wed, 13 Jun 2018 19:44:50 +0000 (21:44 +0200)]
ARM: dts: rmobile: Add SCIF2 pinmux to E3 Ebisu

Add SCIF2 pinmux nodes to R8A77990 E3 Ebisu.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
5 years agoARM: dts: rmobile: Add Renesas RPC HF/QSPI DT node to R8A77990
Marek Vasut [Wed, 13 Jun 2018 19:15:54 +0000 (21:15 +0200)]
ARM: dts: rmobile: Add Renesas RPC HF/QSPI DT node to R8A77990

Add device tree nodes for the Renesas RPC HF/QSPI controller
to R8A77990 E3.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
5 years agoARM: rmobile: Enable RPCHF on Draak
Marek Vasut [Thu, 14 Jun 2018 03:38:07 +0000 (05:38 +0200)]
ARM: rmobile: Enable RPCHF on Draak

Enable the Renesas RPC HF driver on R8A77995 D3 Draak.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
5 years agoARM: rmobile: Fix environment placement on Draak
Marek Vasut [Sun, 10 Jun 2018 14:19:01 +0000 (16:19 +0200)]
ARM: rmobile: Fix environment placement on Draak

The environment on Draak is in the eMMC, card 0, place it so.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
5 years agoMerge tag 'arc-updates-for-2018.07-rc2' of git://git.denx.de/u-boot-arc
Tom Rini [Fri, 15 Jun 2018 13:38:16 +0000 (09:38 -0400)]
Merge tag 'arc-updates-for-2018.07-rc2' of git://git.denx.de/u-boot-arc

Here we just add a tool for HSDK flashable images preparation
together with extensive documentation for HSDK board.

This will help real-life users to update U-Boot on the board.

5 years agoMerge tag 'xilinx-for-v2018.07-rc2' of git://git.denx.de/u-boot-microblaze
Tom Rini [Fri, 15 Jun 2018 13:38:06 +0000 (09:38 -0400)]
Merge tag 'xilinx-for-v2018.07-rc2' of git://git.denx.de/u-boot-microblaze

Xilinx fixes for v2018.07-rc2

Zynq:
- Fix missing watchdog header
- DT fixes

ZynqMP:
- emmc configuration split
- Enable SPD
- Fix PMUFW_INIT_FILE logic
- Coverity fixes in SoC code

timer
- Add timer_get_boot_us

mmc:
- Fix MMC HS200 tuning command

serial:
- Fix scrabled chars with OF_LIVE

5 years agoARC: HSDK: Add readme
Alexey Brodkin [Thu, 14 Jun 2018 21:38:53 +0000 (00:38 +0300)]
ARC: HSDK: Add readme

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
5 years agoARC: HSDK: Add tool and make target to generate bsp
Eugeniy Paltsev [Mon, 4 Jun 2018 11:52:32 +0000 (14:52 +0300)]
ARC: HSDK: Add tool and make target to generate bsp

HSDK board has preloader that reads SPI flash pages and searches
for a special image header to fetch and load binary.

Add tool, make target (bsp-generate) to generate
update script and u-boot binary image with header for preloader.

Also add script to default environment to apply updates.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
5 years agoserial: zynq: Make zynq_serial_setbrg static
Michal Simek [Thu, 14 Jun 2018 09:19:57 +0000 (11:19 +0200)]
serial: zynq: Make zynq_serial_setbrg static

This function is used only inside this driver that's why should be
static.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agoserial: zynq: Initialize uart only before relocation
Michal Simek [Thu, 14 Jun 2018 08:41:35 +0000 (10:41 +0200)]
serial: zynq: Initialize uart only before relocation

This issue was found when OF_LIVE was enabled that there are scrambled
chars on the console like this:
Chip ID: zu3eg
Watchdog: Started��j�   sdhci@ff160000: 0, sdhci@ff170000: 1
In:    serial@ff010000

I found a solution for this problem exactly the same as I found later in
serial_msm fixed by:
"serial: serial_msm: initialize uart only before relocation"
(sha1: 7e5ad796bcd65772a87da236ae21cd536ae3a4d2)

What it is happening is that output TX fifo still contains chars to be
sent and _uart_zynq_serial_init() resets TX fifo even in the middle of
transfer.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agoserial: zynq: Write chars till output fifo is full
Michal Simek [Thu, 14 Jun 2018 07:43:34 +0000 (09:43 +0200)]
serial: zynq: Write chars till output fifo is full

Change logic and put char to fifo till there is a space in output fifo.
Origin logic was that output fifo needs to be empty. It means only one
char was in output queue.
Also remove unused ZYNQ_UART_SR_TXEMPTY macro.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agoserial: zynq: Use BIT macros instead of shifts and full hex numbers
Michal Simek [Thu, 14 Jun 2018 09:13:41 +0000 (11:13 +0200)]
serial: zynq: Use BIT macros instead of shifts and full hex numbers

Coding style is checking to use BIT macros instead of shifts.
The patch is also fixing the rest of macros which should be BITs instead
of hex numbers.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agogpio: zynq_gpio: bank description should use unsigned type
Michal Simek [Wed, 13 Jun 2018 11:22:08 +0000 (13:22 +0200)]
gpio: zynq_gpio: bank description should use unsigned type

Use u32 instead of int for max_bank, bank_min and bank_max. These values
can't be negative that's why no reason to use signed type.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: zynqmp: Check return value in zynqmp_mmio_rawwrite()
Michal Simek [Wed, 13 Jun 2018 08:38:33 +0000 (10:38 +0200)]
arm64: zynqmp: Check return value in zynqmp_mmio_rawwrite()

There should be return value check from zynqmp_mmio_read() in
zynqmp_mmio_rawwrite() to make sure that errors are propagated properly.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: zynqmp: Check return value from calloc
Michal Simek [Wed, 13 Jun 2018 07:42:41 +0000 (09:42 +0200)]
arm64: zynqmp: Check return value from calloc

calloc() can fail and return NULL. The patch is checking return value
and return in case of error.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agommc: zynq: Fix tuning_loop_counter type in arasan_sdhci_execute_tuning()
Michal Simek [Wed, 13 Jun 2018 07:12:29 +0000 (09:12 +0200)]
mmc: zynq: Fix tuning_loop_counter type in arasan_sdhci_execute_tuning()

Code around tuning_loop_counter variable expects to go below zero.
That's why this variable can't use unsigned type.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agogpio: zynq: Do not check unsigned type that is >= 0
Michal Simek [Wed, 13 Jun 2018 07:05:51 +0000 (09:05 +0200)]
gpio: zynq: Do not check unsigned type that is >= 0

There is no reason to check that unsigned type that is >= 0.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agommc: sdhci: Fix MMC HS200 tuning command failures
Siva Durga Prasad Paladugu [Wed, 13 Jun 2018 06:13:01 +0000 (11:43 +0530)]
mmc: sdhci: Fix MMC HS200 tuning command failures

This patch fixes the mmc tuning command failures
when tuning pattern data needs to read back for
comparision against the expected bit pattern.

Reported-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Tested-by: Masahiro Yamada <yamada.masahiro@socionext.com>