oweals/u-boot.git
4 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-x86
Tom Rini [Sat, 10 Aug 2019 03:27:15 +0000 (23:27 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86

- Enable SD slot on Intel Edison
- Populate CSRT ACPI table for shared DMA controller on Intel Tangier
- Convert Intel ICH-SPI driver to use new spi-mem ops
- Enable config_distro_bootcmd for QEMU x86
- Support U-Boot as a payload for Intel Slim Bootloader
- Avoid writing temporary asl files into the source tree which fixes the
  parallel build issue occasionally seen

4 years agoMerge branch 'master' of git://git.denx.de/u-boot-tegra
Tom Rini [Fri, 9 Aug 2019 17:21:53 +0000 (13:21 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-tegra

4 years agoapalis-tk1: configs: remove legacy usbboot command
Igor Opaniuk [Tue, 25 Jun 2019 14:06:41 +0000 (17:06 +0300)]
apalis-tk1: configs: remove legacy usbboot command

Remove obsolete legacy usbboot wrapper, as distroboot can handle
booting from USB drivers.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
4 years agoapalis-tk1: support v1.2 hardware revision
Marcel Ziswiler [Fri, 9 Aug 2019 10:21:46 +0000 (13:21 +0300)]
apalis-tk1: support v1.2 hardware revision

Support the V1.2 hardware revision with the following pin muxing
changes:

Ddc_scl_pv4 and ddc_sda_pv5 previously used as Apalis GPIO3 and GPIO4
are now used as DDC pins.

Gen2_i2c_scl_pt5 and gen2_i2c_sda_pt6 previously used as DDC pins are
now used as USB power enable signals.

Usb_vbus_en0_pn4 and usb_vbus_en1_pn5 previously used as USB power
enable signals are now used as GPIO3 and GPIO4.

Additionally a new device tree file tegra124-apalis-v1.2-eval.dtb is
loaded on V1.2 and later modules and resp. USB power enable signals
activated.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
4 years agoapalis-tk1: remove non-essential power rails on boot
Dominik Sliwa [Thu, 1 Aug 2019 08:06:39 +0000 (11:06 +0300)]
apalis-tk1: remove non-essential power rails on boot

When mainline kernels reboot TK1 they use SW_RESET,
that reset mode does not reset PMIC. Some rails
need to be off for RAM Re-repair to work correctly.

Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
4 years agoapalis-tk1: remove default vesa vga mode from vidargs
Marcel Ziswiler [Thu, 1 Aug 2019 08:06:38 +0000 (11:06 +0300)]
apalis-tk1: remove default vesa vga mode from vidargs

Remove video=tegrafb0:640x480-16@60 aka VESA VGA mode from vidargs in
order for the panel specification in the device tree to be used. This
causes the default to be the 10.1" LVDS display which will be available
in the Toradex webshop shortly.

Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
4 years agoapalis-tk1/t30: colibri_t30: display reset reason
Dominik Sliwa [Thu, 1 Aug 2019 08:06:37 +0000 (11:06 +0300)]
apalis-tk1/t30: colibri_t30: display reset reason

Display proper reset reason after the SoC info.

Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
4 years agoapalis-tk1: switch to zImage
Igor Opaniuk [Thu, 1 Aug 2019 08:06:36 +0000 (11:06 +0300)]
apalis-tk1: switch to zImage

Switch to the generic compressed Kernel image type (zImage) instead of
the U-Boot specific uImage format.

Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
4 years agoapalis-tk1: add pcie_aspm=off to defargs
Igor Opaniuk [Thu, 1 Aug 2019 08:06:35 +0000 (11:06 +0300)]
apalis-tk1: add pcie_aspm=off to defargs

Disabling ASPM fixes incompatibilities with some PCIe cards

Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
4 years agoapalis-tk1: enable user debug by default
Igor Opaniuk [Thu, 1 Aug 2019 08:06:34 +0000 (11:06 +0300)]
apalis-tk1: enable user debug by default

Let the kernel print some debug messages when a user program
crashes due to an exception.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
4 years agoapalis-tk1: provide proper USB vendor id
Igor Opaniuk [Thu, 1 Aug 2019 08:06:33 +0000 (11:06 +0300)]
apalis-tk1: provide proper USB vendor id

Use unified values for USB Product/Vendor numbers
when the config block is missing

Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
4 years agoapalis-tk1: set apalis gpio 8 aka fan_en
Igor Opaniuk [Thu, 1 Aug 2019 08:06:32 +0000 (11:06 +0300)]
apalis-tk1: set apalis gpio 8 aka fan_en

Make sure the Apalis GPIO 8 aka FAN_EN is on when using Apalis TK1
modules.

Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
4 years agoapalis-tk1: do not explicitly release reset_moci#
Marcel Ziswiler [Thu, 1 Aug 2019 08:06:31 +0000 (11:06 +0300)]
apalis-tk1: do not explicitly release reset_moci#

By keeping RESET_MOCI_CTRL low we avoid explicitly releasing
RESET_MOCI#.

Please note that module hardware versions up to V1.1A will already
release RESET_MOCI# in hardware coming out of reset.

Please further note that with this change the USB hub on the Apalis
Evaluation board is kept in reset in U-Boot and therefore none of its
ports are operational in U-Boot.

Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
4 years agocolibri/apalis tegra: drop DFU support
Igor Opaniuk [Fri, 14 Jun 2019 07:59:10 +0000 (10:59 +0300)]
colibri/apalis tegra: drop DFU support

We never really added a sensible DFU configuration for platforms
based on eMMC. Most of the things one might want to do can also be done
with UMS or fastboot, so drop the DFU configuration.

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Reviewed-by: Philippe Schenker <philippe.schenker@toradex.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
4 years agommc: Move tegra loopback disable option to be under tegra
Trent Piepho [Mon, 1 Apr 2019 23:05:49 +0000 (23:05 +0000)]
mmc: Move tegra loopback disable option to be under tegra

This is a configuration option specific to the tegra controller.

Doing it this way makes it show up directly under the tegra controller
option, indented one level, as "Disable external clock loopback".

The way it is now, it shows up at the end of the controller list, not
indented, as if it's some kind of generic MMC configuration option.

Cc: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Cc: Tom Warren <twarren@nvidia.com>
Signed-off-by: Trent Piepho <tpiepho@impinj.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
4 years agosound: Add codec enable to the sound bindings
Simon Glass [Wed, 24 Apr 2019 03:56:25 +0000 (21:56 -0600)]
sound: Add codec enable to the sound bindings

For U-Boot we allow a GPIO to be specified to enable the codec. Add this
to the relevant binding files.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
4 years agosound: tegra: Add the binding file for tegra-audio
Simon Glass [Wed, 24 Apr 2019 03:56:24 +0000 (21:56 -0600)]
sound: tegra: Add the binding file for tegra-audio

This file was missed when adding the sound driver to U-Boot. Bring it in
from Linux 5.0.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
4 years agosound: snow: Add the binding file for snow
Simon Glass [Wed, 24 Apr 2019 03:56:23 +0000 (21:56 -0600)]
sound: snow: Add the binding file for snow

This file was missed when adding the sound driver to U-Boot. Bring it in
from Linux 5.0.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
4 years agox86: Skip setting up MTRRs in slimbootloader
Park, Aiden [Sat, 3 Aug 2019 08:31:20 +0000 (08:31 +0000)]
x86: Skip setting up MTRRs in slimbootloader

The setting up MTRRs have already been done in previous
Slim Bootloader stages.

Signed-off-by: Aiden Park <aiden.park@intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
4 years agoboard: intel: Add new slimbootloader board
Park, Aiden [Sat, 3 Aug 2019 08:31:11 +0000 (08:31 +0000)]
board: intel: Add new slimbootloader board

Add slimbootloader board to run U-boot as a Slim Bootloader payload
- Add new board/intel/slimbootloader directory with minimum codes
- Add slimbootloader configuration files
- Add doc/board/intel/slimbootloader.rst

Signed-off-by: Aiden Park <aiden.park@intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: add slimbootloader board MAINTAINERS file]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: slimbootloader: Add a slimbootloader device tree
Park, Aiden [Sat, 3 Aug 2019 08:31:00 +0000 (08:31 +0000)]
x86: slimbootloader: Add a slimbootloader device tree

Add a new device tree which has very minimum nodes
- x86 reset
- x86 tsc_timer
- x86 pci
- Slim Bootloader serial

Signed-off-by: Aiden Park <aiden.park@intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: slimbootloader: Set TSC information for tsc_timer
Park, Aiden [Sat, 3 Aug 2019 08:30:52 +0000 (08:30 +0000)]
x86: slimbootloader: Set TSC information for tsc_timer

Slim Bootloader already calibrated TSC and provides it to U-Boot.
Therefore, U-Boot does not have to re-calibrate TSC.
Configuring tsc_base and clock_rate makes x86 tsc_timer driver bypass
TSC calibration and use the provided TSC frequency.
- Get TSC frequency from performance info hob
- Set tsc_base and clock_rate for tsc_timer driver

Signed-off-by: Aiden Park <aiden.park@intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: slimbootloader: Add serial driver
Park, Aiden [Sat, 3 Aug 2019 08:30:44 +0000 (08:30 +0000)]
x86: slimbootloader: Add serial driver

Slim Bootloader provides serial port info thru its HOB list pointer.
All these HOBs are eligible for Slim Bootloader based board only.
- Get serial port information from the serial port info HOB
- Leverage ns16550 driver with slimbootloader specific platform data

Signed-off-by: Aiden Park <aiden.park@intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: slimbootloader: Add memory configuration
Park, Aiden [Sat, 3 Aug 2019 08:30:36 +0000 (08:30 +0000)]
x86: slimbootloader: Add memory configuration

Slim Bootloader provides memory map info thru its HOB list pointer.
Configure memory size and relocation memory from the HOB data, and
provide e820 entries as well.
- Get memory size from the memory map info HOB
- Set available top memory lower than 4GB for U-Boot relocation
- Provide e820 entries from the memory map info HOB

Signed-off-by: Aiden Park <aiden.park@intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: Add a common HOB library
Park, Aiden [Sat, 3 Aug 2019 08:30:31 +0000 (08:30 +0000)]
x86: Add a common HOB library

FSP (CONFIG_HAVE_FSP) and Slim Bootloader (CONFIG_SYS_SLIMBOOTLOADER)
consume HOB (CONFIG_USE_HOB) data from the each HOB list pointer.
Add a common HOB library in lib/hob.c and include/asm/hob.h.

Signed-off-by: Aiden Park <aiden.park@intel.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: lib: fsp: Use EFI_GUID and efi_guid_t
Park, Aiden [Sat, 3 Aug 2019 08:30:20 +0000 (08:30 +0000)]
x86: lib: fsp: Use EFI_GUID and efi_guid_t

Use existing EFI_GUID and efi_guid_t instead of struct efi_guid.
This is pre-work before making a common HOB library.
- Change 'struct efi_guid' to efi_guit_t
- Remove 'struct efi_guid'
- Define GUIDs with EFI_GUID() macro
- Use guidcmp() instead of compare_guid()
- Remove compare_guid()

Signed-off-by: Aiden Park <aiden.park@intel.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested on MinnowMax
Tested-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: Add new slimbootloader CPU type
Park, Aiden [Sat, 3 Aug 2019 08:30:12 +0000 (08:30 +0000)]
x86: Add new slimbootloader CPU type

This slimbootloader CPU type is to enable U-Boot as a payload which
runs on top of Slim Bootloader (https://github.com/slimbootloader).
The Slim Bootloader is designed with multi-stage architecture for
the execution from reset vector to OS booting, and supports QEMU,
Apollolake, Whiskeylake and Coffeelake platforms consuming Intel
FSP (https://github.com/IntelFsp) for silicon initialization
including CAR and memory initialization.
The Slim Bootloader generates new HOB (Hand Off Block) which are
serial port info, memory map info, performance data info and so on,
and passes it to a Payload. U-Boot as a payload will use these HOB
information for basic initialization such as serial console.

As an initial commit,
- Add CONFIG_SYS_SLIMBOOTLOADER to enable slimbootloader CPU type
- Add new arch/x86/cpu/slimbootloader directory with minimum codes
- Get hob_list pointer from Slim Bootloader

Signed-off-by: Aiden Park <aiden.park@intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: ich-spi: Convert driver to spi-mem ops
Bernhard Messerklinger [Fri, 2 Aug 2019 06:38:34 +0000 (08:38 +0200)]
x86: ich-spi: Convert driver to spi-mem ops

With the introduction of the new spi-mem model operations changed
slightly. The new spi-mem operations make things a bit easier to
handle for ich-spi flash interface. This patch converts the ich-spi
driver by using spi-mem operations.

Signed-off-by: Bernhard Messerklinger <bernhard.messerklinger@br-automation.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested on Intel CrownBay and MinnowMax
Tested-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: fix compiler warnings when building the driver for 64-bit]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
4 years agobios_emulator: remove stray break
Heinrich Schuchardt [Thu, 1 Aug 2019 17:37:08 +0000 (19:37 +0200)]
bios_emulator: remove stray break

Remove a stray break which suppresses some debug messages.

Indicated by cppcheck.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: Avoid writing temporary asl files into the source tree
Simon Glass [Sun, 28 Jul 2019 20:16:28 +0000 (14:16 -0600)]
x86: Avoid writing temporary asl files into the source tree

At present the iasl tool (Intel ACPI (Advanced Configuration and Power
Interface) Source Language Compiler) is called in such a way that it uses
the source directory for its temporary files.

This means we end up with these files when building x86 boards:

   board/dfi/dfi-bt700/dsdt.aml
   board/dfi/dfi-bt700/dsdt.asl.tmp

Update the code to put temporary files in the target directory instead.

The iasl tool is quite confusing since it generates files with different
extensions and does not allow these to be individually specified. Add some
documentation to help with this.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: remove dsdt.hex from 'make clean' rules and correct U-Boot spelling]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: tangier: Populate CSRT for shared DMA controller
Andy Shevchenko [Sun, 14 Jul 2019 16:23:59 +0000 (19:23 +0300)]
x86: tangier: Populate CSRT for shared DMA controller

Intel Tangier has a shared DMA controller that, according to Microsoft spec,
has to be presented in CSRT table.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: acpi: Enable ACPI companion for Intel iDMA 32-bit
Andy Shevchenko [Sun, 14 Jul 2019 16:23:58 +0000 (19:23 +0300)]
x86: acpi: Enable ACPI companion for Intel iDMA 32-bit

ACPI has a capability to specify DMA parameters for DMA channel consumers.
To enable this for Intel Edison, describe GP DMA device in ACPI table
in order to get an ACPI handle to it in OS.

This works in conjunction with CSRT, which must be in align with DSDT.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: acpi: Introduce a stub to generate CSRT
Andy Shevchenko [Sun, 14 Jul 2019 16:23:57 +0000 (19:23 +0300)]
x86: acpi: Introduce a stub to generate CSRT

Here is a stub function that generates an empty CSRT. If the target platform
provides acpi_fill_csrt() function, it will be used to populate the table.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: acpi: Add CSRT description
Andy Shevchenko [Sun, 14 Jul 2019 16:23:56 +0000 (19:23 +0300)]
x86: acpi: Add CSRT description

Add CSRT [1] description as it provided in Linux kernel.

[1]: http://www.uefi.org/sites/default/files/resources/CSRT%20v2.pdf

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: qemu: Fix non-working ramboot and nfsboot environment variables
Bin Meng [Sun, 28 Jul 2019 15:13:58 +0000 (08:13 -0700)]
x86: qemu: Fix non-working ramboot and nfsboot environment variables

With qemu-x86 starting to use config_distro_bootcmd, the pre-defined
ramboot and nfsboot commands do not work any more. This is caused by
undefined environment variable 'ramdiskaddr' that was previously set
in CONFIG_EXTRA_ENV_SETTINGS but later CONFIG_EXTRA_ENV_SETTINGS was
redefined for distro boot.

Update the x86 generic CONFIG_EXTRA_ENV_SETTINGS to consider distro
boot, and remove the one in qemu-x86.h.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
4 years agoqemu-x86: Use config_distro_bootcmd
Joshua Watt [Wed, 3 Jul 2019 17:45:32 +0000 (12:45 -0500)]
qemu-x86: Use config_distro_bootcmd

Converts qemu x86 machines to boot using distro_config. The intent is to
allow u-boot in qemu to be maximally compatible with many boot methods
without having to change the config. Previously, u-boot would only boot
in a very limited set of circumstances where there was a /boot/vmlinuz
on scsi 0:3 with no ramdisk.

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: convert doc updates to reST]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: edison: Enable SD slot
Andy Shevchenko [Tue, 25 Jun 2019 20:52:04 +0000 (23:52 +0300)]
x86: edison: Enable SD slot

Enable SD slot on Intel Edison platform.

By default firmware doesn't put device on active state. Thus,
we have to do this explicitly.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agoMerge tag 'mmc-8-9' of https://gitlab.denx.de/u-boot/custodians/u-boot-mmc
Tom Rini [Fri, 9 Aug 2019 11:29:54 +0000 (07:29 -0400)]
Merge tag 'mmc-8-9' of https://gitlab.denx.de/u-boot/custodians/u-boot-mmc

- mmc test fix
- sdhci driver fix

4 years agoMerge tag 'u-boot-rockchip-20190809' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Fri, 9 Aug 2019 11:29:20 +0000 (07:29 -0400)]
Merge tag 'u-boot-rockchip-20190809' of https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip

- Add rk3399 boards Khadas Edge/-V/-Captain
- Add fully souce code support for rk3328 including TPL/DRAM init
- Enable boot from eMMC for rk3399 rock960/ficus boards
- turn on the IO supply for dw_mmc

4 years agommc: tangier_sdhci: fix uninitialized pointer deref on probe
Peng Fan [Tue, 6 Aug 2019 02:48:04 +0000 (02:48 +0000)]
mmc: tangier_sdhci: fix uninitialized pointer deref on probe

Commit 3d296365e4e8 ("mmc: sdhci: Add support for
sdhci-caps-mask") sdhci_setup_cfg() expects a valid sdhci_host mmc
field.

Fixes: 3d296365e4e8 ("mmc: sdhci: Add support for sdhci-caps-mask")
Cc: Faiz Abbas <faiz_abbas@ti.com>
Cc: Vincent Tinelli <vincent.tinelli@intel.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 years agommc: sdhci-cadence: fix uninitialized pointer deref on probe
Peng Fan [Tue, 6 Aug 2019 02:48:02 +0000 (02:48 +0000)]
mmc: sdhci-cadence: fix uninitialized pointer deref on probe

Commit 3d296365e4e8 ("mmc: sdhci: Add support for
sdhci-caps-mask") sdhci_setup_cfg() expects a valid sdhci_host mmc
field.

Fixes: 3d296365e4e8 ("mmc: sdhci: Add support for sdhci-caps-mask")
Cc: Faiz Abbas <faiz_abbas@ti.com>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
4 years agommc: s5p: fix uninitialized pointer deref on probe
Peng Fan [Tue, 6 Aug 2019 02:47:59 +0000 (02:47 +0000)]
mmc: s5p: fix uninitialized pointer deref on probe

Commit 3d296365e4e8 ("mmc: sdhci: Add support for
sdhci-caps-mask") sdhci_setup_cfg() expects a valid sdhci_host mmc
field.

Fixes: 3d296365e4e8 ("mmc: sdhci: Add support for sdhci-caps-mask")
Cc: Faiz Abbas <faiz_abbas@ti.com>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 years agommc: pci: fix uninitialized pointer deref on probe
Peng Fan [Tue, 6 Aug 2019 02:47:56 +0000 (02:47 +0000)]
mmc: pci: fix uninitialized pointer deref on probe

Commit 3d296365e4e8 ("mmc: sdhci: Add support for
sdhci-caps-mask") sdhci_setup_cfg() expects a valid sdhci_host mmc
field.

Fixes: 3d296365e4e8 ("mmc: sdhci: Add support for sdhci-caps-mask")
Cc: Faiz Abbas <faiz_abbas@ti.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 years agommc: msm_sdhci: fix uninitialized pointer deref on probe
Peng Fan [Tue, 6 Aug 2019 02:47:53 +0000 (02:47 +0000)]
mmc: msm_sdhci: fix uninitialized pointer deref on probe

Commit 3d296365e4e8 ("mmc: sdhci: Add support for
sdhci-caps-mask") sdhci_setup_cfg() expects a valid sdhci_host mmc
field.

Fixes: 3d296365e4e8 ("mmc: sdhci: Add support for sdhci-caps-mask")
Cc: Faiz Abbas <faiz_abbas@ti.com>
Cc: Ramon Fried <rfried.dev@gmail.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 years agommc: bcm: fix uninitialized pointer deref on probe
Peng Fan [Tue, 6 Aug 2019 02:47:50 +0000 (02:47 +0000)]
mmc: bcm: fix uninitialized pointer deref on probe

Commit 3d296365e4e8 ("mmc: sdhci: Add support for
sdhci-caps-mask") sdhci_setup_cfg() expects a valid sdhci_host mmc
field.

Fixes: 3d296365e4e8 ("mmc: sdhci: Add support for sdhci-caps-mask")
Cc: Faiz Abbas <faiz_abbas@ti.com>
Cc: Matthias Brugger <mbrugger@suse.com>
Cc: Thomas Fitzsimmons <fitzsim@fitzsim.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 years agommc: atmel_sdhci: fix uninitialized pointer deref on probe
Peng Fan [Tue, 6 Aug 2019 02:47:47 +0000 (02:47 +0000)]
mmc: atmel_sdhci: fix uninitialized pointer deref on probe

Commit 3d296365e4e8 ("mmc: sdhci: Add support for
sdhci-caps-mask") sdhci_setup_cfg() expects a valid sdhci_host mmc
field.

Fixes: 3d296365e4e8 ("mmc: sdhci: Add support for sdhci-caps-mask")
Cc: Faiz Abbas <faiz_abbas@ti.com>
Cc: Wenyou Yang <wenyou.yang@atmel.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Tested-by: Eugen Hristev <eugen.hristev@microchip.com>
4 years agotest/py: Fix MMC/SD block write test dependency
Michal Simek [Fri, 2 Aug 2019 04:48:44 +0000 (06:48 +0200)]
test/py: Fix MMC/SD block write test dependency

Test is using random command which has own Kconfig symbol CMD_RANDOM which
already depends on CMD_MEMORY. That's why replace cmd_memory by cmd_random.

Fixes: 09da18deab8b ("test/py: add MMC/SD block write test")
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 years agommc: zynq_sdhci: fix uninitialized pointer deref on probe
Matwey V. Kornilov [Thu, 1 Aug 2019 15:00:05 +0000 (18:00 +0300)]
mmc: zynq_sdhci: fix uninitialized pointer deref on probe

Since commit 3d296365e4e8 ("mmc: sdhci: Add support for
sdhci-caps-mask") sdhci_setup_cfg() expects a valid sdhci_host mmc
field. Move the mmc field initialization before sdhci_setup_cfg()
call to avoid crash on mmc pointer dereference.

[this patch is based on commit 41a9fab8dac8 ("mmc: mv_sdhci: fix
uninitialized pointer deref on probe") by Baruch Siach]

Fixes: 3d296365e4e8 ("mmc: sdhci: Add support for sdhci-caps-mask")
Cc: Faiz Abbas <faiz_abbas@ti.com>
Cc: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Tested-by: Michal Simek <michal.simek@xilinx.com> (on zcu102/zc706)
4 years agommc: Select SPL_HS200_SUPPORT if SPL_HS400_SUPPORT is selected
Faiz Abbas [Thu, 1 Aug 2019 11:03:36 +0000 (16:33 +0530)]
mmc: Select SPL_HS200_SUPPORT if SPL_HS400_SUPPORT is selected

Select SPL_HS200_SUPPORT if SPL_HS400_SUPPORT is selected as is being
done for the U-boot case.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-marvell
Tom Rini [Thu, 8 Aug 2019 13:19:08 +0000 (09:19 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-marvell

- Remove unused bcm2835 watchdog driver (still non-DM)
- Cosmetic fixup of mtk_wdt.c

4 years agotest/py: avb: Move AVB test to android dir
Sam Protsenko [Tue, 2 Jul 2019 18:18:02 +0000 (21:18 +0300)]
test/py: avb: Move AVB test to android dir

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
4 years agoMerge branch '2019-08-07-master-imports'
Tom Rini [Thu, 8 Aug 2019 03:13:35 +0000 (23:13 -0400)]
Merge branch '2019-08-07-master-imports'

- Misc Android / AVB bugfixes (including updating the header from
  Android).
- MediaTek updates
- Other assorted bugfixes.

4 years agoUpdate include/android_image.h from AOSP
Alex Deymo [Mon, 5 Aug 2019 20:24:45 +0000 (22:24 +0200)]
Update include/android_image.h from AOSP

This takes the latest changes from AOSP from the file
include/bootimg/bootimg.h from the repository:
https://android.googlesource.com/platform/system/tools/mkbootimg
and update the U-Boot version with the latest changes.

This file keeps the changes from AOSP to a minimum:
 * Comments were converted from C++ to C style.
 * Code inside __cplusplus #ifdef blocks were removed.
 * C++11 struct extensions replaced with a single struct.

Signed-off-by: Alex Deymo <deymo@google.com>
Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
4 years agocommon: image-android-dt: Fix logic in print fdt info routine
Sam Protsenko [Mon, 5 Aug 2019 17:11:03 +0000 (20:11 +0300)]
common: image-android-dt: Fix logic in print fdt info routine

Do not attempt to print fdt info if root node wasn't found.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
4 years agofit: Do not automatically decompress ramdisk images
Julius Werner [Fri, 2 Aug 2019 22:52:28 +0000 (15:52 -0700)]
fit: Do not automatically decompress ramdisk images

The Linux ramdisk should always be decompressed by the kernel itself,
not by U-Boot. Therefore, the 'compression' node in the FIT image should
always be set to "none" for ramdisk images, since the only point of
using that node is if you want U-Boot to do the decompression itself.

Yet some systems populate the node to the compression algorithm used by
the kernel instead. This used to be ignored, but now that we support
decompression of all image types it becomes a problem. Since ramdisks
should never be decompressed by U-Boot anyway, this patch adds a special
exception for them to avoid these issues. Still, setting the
'compression' node like that is wrong in the first place, so we still
want to print out a warning so that third-party distributions doing this
can notice and fix it.

Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Heiko Schocher <hs@denx.de>
Tested-by: Heiko Schocher <hs@denx.de>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
4 years agoconsole: execute flush on uart when silent is removed
Patrick Delaunay [Fri, 2 Aug 2019 12:58:10 +0000 (14:58 +0200)]
console: execute flush on uart when silent is removed

Avoid to flush buffer when silent console is activated as the
console can be reactivate later, after relocation, when the env will
be updated with the saved one.

Solve issue (missing beginning of U-Boot trace) when:
- CONFIG_SILENT_CONSOLE is activated
- silent=1 is defined in default environment (CONFIG_EXTRA_ENV_SETTINGS)
- silent is removed in saved environment with:
      > env delete silent; env save

Only functional when PRE_CONSOLE_BUFFER is activated.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
4 years agoconsole: update silent tag after env load
Patrick Delaunay [Fri, 2 Aug 2019 12:58:09 +0000 (14:58 +0200)]
console: update silent tag after env load

Update the "silent" property with the variable "silent" get from
saved environment, it solves the issue when:
- CONFIG_SILENT_CONSOLE and CONFIG_SYS_CONSOLE_IS_IN_ENV are activated
- silent is not defined in default environment
- silent is requested in saved environment with:
  > env set silent 1; env save

On next reboot the console is not disabled as expected after relocation
and the environment load from flash (the callback is not called when
the INSERT is requested in the created hash table)

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
4 years agocmd: avb: Fix compiler warnings
Sam Protsenko [Wed, 31 Jul 2019 16:59:09 +0000 (19:59 +0300)]
cmd: avb: Fix compiler warnings

When building U-Boot with AVB enabled, compiler shows next warnings:

    cmd/avb.c: In function 'do_avb_read_pvalue':
    cmd/avb.c:371:18: warning: format '%ld' expects argument of type
                      'long int', but argument 2 has type 'size_t'
                      {aka 'unsigned int'} [-Wformat=]
       printf("Read %ld bytes, value = %s\n", bytes_read,
                    ~~^                       ~~~~~~~~~~
                    %d

    cmd/avb.c: In function 'do_avb_write_pvalue':
    cmd/avb.c:404:19: warning: format '%ld' expects argument of type
                      'long int', but argument 2 has type '__kernel_size_t'
                      {aka 'unsigned int'} [-Wformat=]
       printf("Wrote %ld bytes\n", strlen(value) + 1);
                     ~~^           ~~~~~~~~~~~~~~~~~
                     %d

Fix those by using "%zu" specified.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Igor Opaniuk <igor.opaniuk@gmail.com>
4 years agoavb: Fix build when CONFIG_OPTEE_TA_AVB is disabled
Sam Protsenko [Wed, 31 Jul 2019 16:59:08 +0000 (19:59 +0300)]
avb: Fix build when CONFIG_OPTEE_TA_AVB is disabled

When having only these AVB related configs enabled:

    CONFIG_AVB_VERIFY=y
    CONFIG_CMD_AVB=y
    CONFIG_LIBAVB=y

build fails with next errors:

    common/avb_verify.c: In function 'read_persistent_value':
    common/avb_verify.c:867:6: warning: implicit declaration of function
                                        'get_open_session'
    common/avb_verify.c:870:45: error: 'struct AvbOpsData' has no member
                                        named 'tee'
    common/avb_verify.c:894:7: warning: implicit declaration of function
                                        'invoke_func'
    common/avb_verify.c: In function 'write_persistent_value':
    common/avb_verify.c:931:45: error: 'struct AvbOpsData' has no member
                                       named 'tee'

Guard read_persistent_value() and write_persistent_value() functions
by checking if CONFIG_OPTEE_TA_AVB is enabled (as those are only used in
that case) to fix the build with mentioned configuration.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Igor Opaniuk <igor.opaniuk@gmail.com>
4 years agopci_ep: Fix Coverity warning
Ramon Fried [Wed, 31 Jul 2019 08:04:26 +0000 (11:04 +0300)]
pci_ep: Fix Coverity warning

Fix the following Coverity warning:
CID 244086:  Incorrect expression  (BAD_COMPARE)
Comparing pointer "ep_bar" against NULL using anything besides == or
is likely to be incorrect.

Fixes: 914026d25848 ("drivers: pci_ep: Introduce UCLASS_PCI_EP uclass")

Signed-off-by: Ramon Fried <rfried.dev@gmail.com>
4 years agoclk: MediaTek: add hifsys entry for MT7623 SoC.
Ryder Lee [Mon, 29 Jul 2019 14:17:48 +0000 (22:17 +0800)]
clk: MediaTek: add hifsys entry for MT7623 SoC.

This adds high speed interface subsystem - hifsys (i.e. PCIe and USB)
for MT7623 SoC and enables its reset controller.

The control block is shared with ethsys and accordingly rename the
related defines.

Tested-by: Frank Wunderlich <frank-w@public-files.de>
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
4 years agoARM: dts: add hifsys reset for MediaTek SoCs
Ryder Lee [Mon, 29 Jul 2019 14:17:47 +0000 (22:17 +0800)]
ARM: dts: add hifsys reset for MediaTek SoCs

This adds missing hifsys reset parts in header files.

Tested-by: Frank Wunderlich <frank-w@public-files.de>
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
4 years agoMAINTAINERS: MediaTek: add MediaTek team in the entry
Ryder Lee [Mon, 29 Jul 2019 14:17:46 +0000 (22:17 +0800)]
MAINTAINERS: MediaTek: add MediaTek team in the entry

Add MediaTek team as designated reviewer.

Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
4 years agoautoboot: fix bug using with CAAM and AUTOBOOT_ENCRYPTION
Heiko Schocher [Mon, 29 Jul 2019 05:23:19 +0000 (07:23 +0200)]
autoboot: fix bug using with CAAM and AUTOBOOT_ENCRYPTION

if  CONFIG_AUTOBOOT_KEYED, CONFIG_AUTOBOOT_ENCRYPTION and
CONFIG_AUTOBOOT_STOP_STR_SHA256 are enabled in conjunction
with CONFIG_SHA_HW_ACCEL and CONFIG_FSL_CAAM, we get the
Error when pressing a key while waiting for bootdelay:

Error: Address arguments are not aligned
CAAM was not setup properly or it is faulty

Reason is, that used variables are not cache aligned,
so malloc this variables cache aligned.

Probably this is also a bugfix for other hw accelerators
than CAAM.

Signed-off-by: Heiko Schocher <hs@denx.de>
4 years agolog: document the assign() macro
Heinrich Schuchardt [Sat, 27 Jul 2019 18:21:06 +0000 (20:21 +0200)]
log: document the assign() macro

Provide a concise description of the assert() macro. Point out that the
tested expression is always executed, irrespective of the value of _DEBUG.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoarm: dts: change MT7629 to use spi-mem rather than qspi
Weijie Gao [Mon, 22 Jul 2019 02:35:10 +0000 (10:35 +0800)]
arm: dts: change MT7629 to use spi-mem rather than qspi

The original mtk_qspi driver has been removed. We change MT7629 to use
newly added mtk-spimem driver.

Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
Acked-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agodoc: rockchip: Adapt Pine64 Rock64 board instructions
Matwey V. Kornilov [Fri, 2 Aug 2019 07:40:04 +0000 (10:40 +0300)]
doc: rockchip: Adapt Pine64 Rock64 board instructions

Now we have our own TPL implementation. Remove obsolete notes.

Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agoconfigs: rk3328: enable TPL for rock64-rk3328_defconfig
Matwey V. Kornilov [Fri, 2 Aug 2019 07:40:03 +0000 (10:40 +0300)]
configs: rk3328: enable TPL for rock64-rk3328_defconfig

Until now, binary TPL by Rockchip has been required for booting
procedure. Starting from this commit we may use only u-boot to boot
the device.

Note, that using binary TPL instead of U-boot TPL is still working.

Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: evb-rk3328: enable defconfig options for TPL/SPL
Kever Yang [Fri, 2 Aug 2019 07:40:02 +0000 (10:40 +0300)]
rockchip: evb-rk3328: enable defconfig options for TPL/SPL

Enable driver options for TPL/SPL in evb-rk3328_defconfig.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
[cherry picked from commit https://github.com/rockchip-linux/u-boot/commit/df4f40acb449815384e397dcaf5b618bbc6cd855 with minor modifications]
Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: Kconfig: enable TPL support for rk3328
Kever Yang [Fri, 2 Aug 2019 07:40:01 +0000 (10:40 +0300)]
rockchip: Kconfig: enable TPL support for rk3328

Enable TPL support and some related option in Kconfig.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
[cherry picked from commit https://github.com/rockchip-linux/u-boot/commit/430b01462bf3f24aaf7920ae2587a6943c39ab5d with minor modifications]
Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: dts: rk3328: update dmc node for driver
Kever Yang [Fri, 2 Aug 2019 07:40:00 +0000 (10:40 +0300)]
rockchip: dts: rk3328: update dmc node for driver

Update dmc node for full feature driver.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
[cherry picked from commit https://github.com/rockchip-linux/u-boot/commit/1e1495636574c78ea9d3af3e0aae95d5204612d6 with minor modifications]
Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: ram: add full feature rk3328 DRAM driver
Kever Yang [Fri, 2 Aug 2019 07:39:59 +0000 (10:39 +0300)]
rockchip: ram: add full feature rk3328 DRAM driver

This driver supports DDR3/LPDDR3/DDR4 SDRAM initialization.

Signed-off-by: YouMin Chen <cym@rock-chips.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
[cherry picked from commit https://github.com/rockchip-linux/u-boot/commit/9fb0777ec3cc6a89af9d2e0969c3bfe58306a88d with minor modifications]
Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: dts: rk3328: Add rk3328-evb-u-boot.dtsi
Matwey V. Kornilov [Fri, 2 Aug 2019 07:39:58 +0000 (10:39 +0300)]
rockchip: dts: rk3328: Add rk3328-evb-u-boot.dtsi

Split u-boot specific dts configuration to separate
rk3328-evb-u-boot.dtsi

Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agoarm: dts: ficus: Enable booting from eMMC when using SPL
Manivannan Sadhasivam [Mon, 29 Jul 2019 13:52:28 +0000 (19:22 +0530)]
arm: dts: ficus: Enable booting from eMMC when using SPL

This commits enables booting from eMMC when using SPL on 96Boards
Ficus board by adding SDHCI to boot order. Since the SDHCI driver
already has the reloc flag, this works straightaway. While we are at it,
let's also include the common u-boot dtsi for rk3399.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agoarm: dts: rock960: Enable booting from eMMC when using SPL
Manivannan Sadhasivam [Mon, 29 Jul 2019 13:52:27 +0000 (19:22 +0530)]
arm: dts: rock960: Enable booting from eMMC when using SPL

This commits enables booting from eMMC when using SPL on 96Boards
Rock960 board by adding SDHCI to boot order. Since the SDHCI driver
already has the reloc flag, this works straightaway. While we are at it,
let's also include the common u-boot dtsi for rk3399.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agoarm64: dts: rockchip: Add support for Khadas Edge-Captain
Nick Xie [Tue, 30 Jul 2019 03:51:16 +0000 (11:51 +0800)]
arm64: dts: rockchip: Add support for Khadas Edge-Captain

Add devicetree support for Khadas Edge-Captain.
Khadas Captain is the carrier board for Khadas Edge.

Specification
- Rockchip RK3399
- Dual-Channel 2GB/4GB LPDDR4
- SD card slot
- Onboard 16GB/32GB/128GB eMMC
- RTL8211FD 1Gbps
- AP6356S/AP6398S WiFI/BT
- HDMI Out, DP, MIPI DSI/CSI, eDP
- USB 3.0, 2.0
- USB Type C power and data
- GPIO expansion ports
- Full 4 Lane M.2 Socket
- 16MB SPI Flash
- IR
- Programmable MCU

Commit details of rk3399-khadas-edge-*.dts sync from Linux 5.3-rc2:
"arm64: dts: rockchip: Add support for Khadas Edge/Edge-V/Captain boards"
(sha1: c2aacceedc86af87428d998e23a1aca24fd8aa2e)

Signed-off-by: Nick Xie <nick@khadas.com>
Tested-by: Chris Webb <chris@arachsys.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agoarm64: dts: rockchip: Add support for Khadas Edge-V
Nick Xie [Tue, 30 Jul 2019 03:51:15 +0000 (11:51 +0800)]
arm64: dts: rockchip: Add support for Khadas Edge-V

Add devicetree support for Khadas Edge-V.
Khadas Edge-V is a Khadas VIM form factor Rockchip RK3399 board.

Specification
- Rockchip RK3399
- Dual-Channel 2GB/4GB LPDDR4
- SD card slot
- Onboard 16GB/32GB/128GB eMMC
- RTL8211FD 1Gbps
- AP6356S/AP6398S WiFI/BT
- HDMI Out, DP, MIPI DSI/CSI, eDP
- USB 3.0, 2.0
- USB Type C power and data
- GPIO expansion ports
- Full 4 Lane M.2 Socket
- 16MB SPI Flash
- IR
- Programmable MCU

Commit details of rk3399-khadas-edge-*.dts sync from Linux 5.3-rc2:
"arm64: dts: rockchip: Add support for Khadas Edge/Edge-V/Captain boards"
(sha1: c2aacceedc86af87428d998e23a1aca24fd8aa2e)

Signed-off-by: Nick Xie <nick@khadas.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agoarm64: dts: rockchip: Add support for Khadas Edge
Nick Xie [Tue, 30 Jul 2019 03:51:14 +0000 (11:51 +0800)]
arm64: dts: rockchip: Add support for Khadas Edge

Add devicetree support for Khadas Edge.
Khadas Edge is an expandable Rockchip RK3399 board with goldfinger.

Specification
- Rockchip RK3399
- Dual-Channel 2GB/4GB LPDDR4
- Onboard 16GB/32GB/128GB eMMC
- RTL8211FD 1Gbps
- AP6356S/AP6398S WiFI/BT
- HDMI Out, DP
- USB 3.0, 2.0
- USB Type C power and data
- 16MB SPI Flash
- Programmable MCU

Commit details of rk3399-khadas-edge-*.dts sync from Linux 5.3-rc2:
"arm64: dts: rockchip: Add support for Khadas Edge/Edge-V/Captain boards"
(sha1: c2aacceedc86af87428d998e23a1aca24fd8aa2e)

Signed-off-by: Nick Xie <nick@khadas.com>
Tested-by: Chris Webb <chris@arachsys.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: rk3328: enable DMA for MMCs at Rock64
Matwey V. Kornilov [Mon, 29 Jul 2019 09:18:19 +0000 (12:18 +0300)]
rockchip: rk3328: enable DMA for MMCs at Rock64

DMA for MMCs can be enabled, since the previous patch fixes
the following issue in SPL:

    Trying to boot from MMC1
    spl: mmc init failed with error: -110
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###

Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: rk3328: set DDR as non-secure in SPL
Kever Yang [Mon, 29 Jul 2019 09:18:18 +0000 (12:18 +0300)]
rockchip: rk3328: set DDR as non-secure in SPL

Set DDR as non-secure so that MMC DMA can access.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
[cherry picked from https://github.com/rockchip-linux/u-boot/commit/bfe741ab9eb4f97371a4e6c24185419d57a3a75f and https://github.com/rockchip-linux/u-boot/commit/73d952acc8cc1ddad6652ba71895d9fe928c1e4b with minor modifications]
Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agowatchdog: mtk_wdt: Cosmetic cleanup of latest changes
Stefan Roese [Wed, 3 Jul 2019 05:22:20 +0000 (07:22 +0200)]
watchdog: mtk_wdt: Cosmetic cleanup of latest changes

This patch cleans up some coding style related issues in the mtk_wtd
driver to make this driver comply again with the U-Boot coding style
standards.

The only minimal functional change is that the timeout parameter is now
passed in (u64) instead of (unsigned int) from mtk_wdt_start() to
mtk_wdt_set_timeout(), preserving the original value.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Shannon Barber <sbarber@dataspeedinc.com>
Cc: Ryder Lee <ryder.lee@mediatek.com>
Cc: Matthias Brugger <matthias.bgg@gmail.com>
Cc: Frank Wunderlich <frank-w@public-files.de>
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
4 years agowatchdog: bcm2835_wdt: Remove unused BCM283x watchdog driver and its references
Stefan Roese [Fri, 10 May 2019 12:26:57 +0000 (14:26 +0200)]
watchdog: bcm2835_wdt: Remove unused BCM283x watchdog driver and its references

The BCM2835/2836 watchdog is not used in mainline U-Boot at all. This
patch removes the driver and its references (CONFIG_BCM2835_WDT)
completely.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Paolo Pisati <p.pisati@gmail.com>
4 years agoMerge tag 'efi-2019-10-rc2' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Sun, 4 Aug 2019 23:39:54 +0000 (19:39 -0400)]
Merge tag 'efi-2019-10-rc2' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi

Pull request for UEFI sub-system for v2019.10-rc2

With this pull request a workaround for GRUB on 32bit ARM is re-enabled
and made customizable. Without the patch booting on ARM 32bit with GRUB
prior to version 2.04 or with a cache which is not managed via CP15
fails.

Further work will be needed to achieve a UEFI compliant cache handling.
According to the UEFI spec all caches except those that cannot be
managed via CP15 should be enabled.

An implementation of the ConvertPointer() runtime service is provided.

efi_crt0 is always rebuild to avoid having to call 'make mrproper' when
switching architectures.

4 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-clk
Tom Rini [Fri, 2 Aug 2019 17:29:46 +0000 (13:29 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-clk

- Port more CCF code to work with i.MX8 devices.

4 years agogitlab-ci: Add qemu-riscv64 testing
Tom Rini [Fri, 2 Aug 2019 15:32:37 +0000 (11:32 -0400)]
gitlab-ci: Add qemu-riscv64 testing

Mirror the qemu-riscv64 testing we do on Travis.  Update to a newer
Docker image that contains riscv64-softmmu for QEMU.

Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agogitlab-ci: Remove unused TOOLCHAIN environment variable
Tom Rini [Fri, 2 Aug 2019 15:31:42 +0000 (11:31 -0400)]
gitlab-ci: Remove unused TOOLCHAIN environment variable

As part of copying the logic from Travis to GitLab I kept the TOOLCHAIN
variable.  However we don't use that now as the Docker container already
has all toolchains so we don't need to do any downloading.  Remove this
variable.

Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agotravis.yml: run Python tests on qemu-riscv64_defconfig
Heinrich Schuchardt [Thu, 18 Jul 2019 04:33:58 +0000 (06:33 +0200)]
travis.yml: run Python tests on qemu-riscv64_defconfig

Run the Python tests on the RISC-V architecture too.

https://github.com/swarren/uboot-test-hooks has already been updated.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoMerge branch '2019-08-02-autoboot-cleanup'
Tom Rini [Fri, 2 Aug 2019 15:19:23 +0000 (11:19 -0400)]
Merge branch '2019-08-02-autoboot-cleanup'

- Merge Simon Glass's series to cleanup the autoboot code

4 years agoautoboot: Adjust the implementation in autoboot_command()
Simon Glass [Sun, 21 Jul 2019 02:51:28 +0000 (20:51 -0600)]
autoboot: Adjust the implementation in autoboot_command()

Avoid use of #ifdef and keep the common condion in a variable. This makes
the code easier to read.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agoautoboot: Move a few more options from #ifdef to if()
Simon Glass [Sun, 21 Jul 2019 02:51:27 +0000 (20:51 -0600)]
autoboot: Move a few more options from #ifdef to if()

Adjust some of the code which can be trivially moved to use IS_ENABLED()
instead of #ifdef.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agoautoboot: Add comments for menu_show()
Simon Glass [Sun, 21 Jul 2019 02:51:26 +0000 (20:51 -0600)]
autoboot: Add comments for menu_show()

Add comments for this function. Also remove the #ifdef around it so that
it can be called from 'if (IS_ENABLED(...))'.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agoConvert CONFIG_AUTOBOOT_MENU_SHOW to Kconfig
Simon Glass [Sun, 21 Jul 2019 02:51:25 +0000 (20:51 -0600)]
Convert CONFIG_AUTOBOOT_MENU_SHOW to Kconfig

This converts the following to Kconfig:
   CONFIG_AUTOBOOT_MENU_SHOW

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agoautoboot: Rename CONFIG_MENU_SHOW to include AUTOBOOT
Simon Glass [Sun, 21 Jul 2019 02:51:24 +0000 (20:51 -0600)]
autoboot: Rename CONFIG_MENU_SHOW to include AUTOBOOT

Rename this option to CONFIG_AUTOBOOT_MENU_SHOW this it relates to the
autoboot functionality.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agoautoboot: Tidy up use of menukey
Simon Glass [Sun, 21 Jul 2019 02:51:23 +0000 (20:51 -0600)]
autoboot: Tidy up use of menukey

Move the variable to the top of the file and adjust the code which uses it
to use if() rather than #ifdef, to make it easier to read.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agosnow: Define CONFIG_AUTOBOOT_MENUKEY
Simon Glass [Sun, 21 Jul 2019 02:51:22 +0000 (20:51 -0600)]
snow: Define CONFIG_AUTOBOOT_MENUKEY

This option is not used by any boards. To avoid needing to remove it as
dead code, add it to 'snow'.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agoautoboot: Rename CONFIG_MENUKEY to CONFIG_AUTOBOOT_MENUKEY
Simon Glass [Sun, 21 Jul 2019 02:51:21 +0000 (20:51 -0600)]
autoboot: Rename CONFIG_MENUKEY to CONFIG_AUTOBOOT_MENUKEY

Since this is part of the autoboot functionality, it makes sense to name
it with an AUTOBOOT prefix. No mainline boards use it so this should be
safe, and downstream boards will need to adjust.

Since this option is just an integer value, it really needs another option
to control whether the feature is enabled or not. Add a new
CONFIG_USE_AUTOBOOT_MENUKEY for that. This fits better with how things are
done with Kconfig, avoiding the need to use a specific value to disable
the feature.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agoautoboot: Drop unused CONFIG_MENUPROMPT
Simon Glass [Sun, 21 Jul 2019 02:51:20 +0000 (20:51 -0600)]
autoboot: Drop unused CONFIG_MENUPROMPT

This is not defined by any board. We could use CONFIG_AUTOBOOT_PROMPT
instead perhaps, but this depends on CONFIG_AUTOBOOT_KEYED which is not
used for the single-key case.

So let's just remove CONFIG_MENUPROMPT.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agoautoboot: Drop #ifdef CONFIG_AUTOBOOT_KEYED
Simon Glass [Sun, 21 Jul 2019 02:51:19 +0000 (20:51 -0600)]
autoboot: Drop #ifdef CONFIG_AUTOBOOT_KEYED

At present we have two functions named __autoboot() which do different
things. This is confusing. Fix it by using if() instead of #ifdef for
selecting the functions, and renaming them to meaningful names.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agoautoboot: Use if() for CONFIG_SILENT_CONSOLE
Simon Glass [Sun, 21 Jul 2019 02:51:18 +0000 (20:51 -0600)]
autoboot: Use if() for CONFIG_SILENT_CONSOLE

Avoid an #ifdef in this function, to improve readability.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 years agoautoboot: Improve docs for CONFIG_AUTOBOOT_ENCRYPTION
Simon Glass [Sun, 21 Jul 2019 02:51:17 +0000 (20:51 -0600)]
autoboot: Improve docs for CONFIG_AUTOBOOT_ENCRYPTION

This option is not documented properly at present. Fix it.

Signed-off-by: Simon Glass <sjg@chromium.org>