oweals/u-boot.git
4 years agoMerge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-spi
Tom Rini [Mon, 16 Sep 2019 17:13:12 +0000 (13:13 -0400)]
Merge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-spi

- fix mvebu_a3700_spi clock prescale (Marek Behún)
- unmark MXS_SPI, DEPRECATED (Lukasz)
- add spi_write_then_read (Jagan)
- fix SST26* flash ICs (Eugeniy)
- fix soft_spi data abort (Christophe)

4 years agodoc: driver-model: Update SPI migration status
Jagan Teki [Fri, 13 Sep 2019 02:25:42 +0000 (07:55 +0530)]
doc: driver-model: Update SPI migration status

Update SPI drivers, driver model conversion status for
v2019.10 release.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agomtd: spi-nor: enable protection ops for SST26 flash series
Eugeniy Paltsev [Mon, 9 Sep 2019 19:33:15 +0000 (22:33 +0300)]
mtd: spi-nor: enable protection ops for SST26 flash series

Commit c4e8862308d4 (mtd: spi: Switch to new SPI NOR framework)
performs switch from previous 'spi_flash' infrastructure without
proper testing/investigations which results in a regressions for
SST26 flash series.

Enable protection ops for SST26 flash series which were
previously enabled by
Commit 3d4fed87a5fa (mtd: sf: Add support of sst26wf* flash ICs
protection ops)

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agomtd: spi-nor: add missing SST26* flash IC protection ops
Eugeniy Paltsev [Mon, 9 Sep 2019 19:33:14 +0000 (22:33 +0300)]
mtd: spi-nor: add missing SST26* flash IC protection ops

Commit c4e8862308d4 (mtd: spi: Switch to new SPI NOR framework)
performs switch from previous 'spi_flash' infrastructure without
proper testing/investigations which results in a regressions for
SST26 flash series.

Add missing SST26* flash IC protection ops which were introduced
previously by
Commit 3d4fed87a5fa (mtd: sf: Add support of sst26wf* flash ICs
protection ops)

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agomtd: spi: Drop sf.c
Jagan Teki [Mon, 22 Jul 2019 11:52:58 +0000 (17:22 +0530)]
mtd: spi: Drop sf.c

spi_write_then_read, will manage to do the respective
spi_xfer based on the tx_buf, rx_buf so drop the
legacy spi_flash_read/write/cm code.

Tested-by: Adam Ford <aford173@gmail.com> #da850-evm
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agomtd: spi_dataflash: Use spi read then write
Jagan Teki [Mon, 22 Jul 2019 11:52:57 +0000 (17:22 +0530)]
mtd: spi_dataflash: Use spi read then write

Now, we have spi_write_then_read routine that would handle
spi_xfer handling based on the tx_buf and rx_buf parameters.

So, replace individual flash read/write/cmd transfer call
with spi_write_then_read.

Cc: Egnite GmbH <info@egnite.de>
Cc: Daniel Gorsulowski <daniel.gorsulowski@esd.eu>
Cc: Ilko Iliev <iliev@ronetix.at>
Cc: Marek Vasut <marex@denx.de>
Cc: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
Cc: Alison Wang <alison.wang@nxp.com>
Tested-by: Adam Ford <aford173@gmail.com> #da850-evm
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agospi: Add spi_write_then_read
Jagan Teki [Mon, 22 Jul 2019 11:52:56 +0000 (17:22 +0530)]
spi: Add spi_write_then_read

Add support for SPI synchronous write followed by read,
this is common interface call from spi-nor to spi drivers.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Tested-by: Adam Ford <aford173@gmail.com> #da850-evm
4 years agospi: Kconfig: Unmark DEPRECATED for MXS_SPI
Lukasz Majewski [Thu, 1 Aug 2019 15:56:44 +0000 (17:56 +0200)]
spi: Kconfig: Unmark DEPRECATED for MXS_SPI

MXS_SPI driver now partially converted into driver-model,
so unmark the DEPRECATED option for the same.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
[jagan: update the commit message]
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agospi: soft_spi: Fix data abort if slave is not probed
Christophe Kerello [Fri, 2 Aug 2019 13:46:29 +0000 (15:46 +0200)]
spi: soft_spi: Fix data abort if slave is not probed

In case spi_get_bus_and_cs callback is used, spi bus is first probed
then slave devices are probed. To avoid a data abort in soft_spi probe
function, we need to check that (slave != NULL).

If slave is NULL, cs_flags and clk_flags will be initialized with
respectively GPIOD_ACTIVE_LOW and 0.

Signed-off-by: Christophe Kerello <christophe.kerello@st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agospi: mvebu_a3700_spi: Fix clock prescale computation
Marek Behún [Tue, 23 Jul 2019 14:49:32 +0000 (16:49 +0200)]
spi: mvebu_a3700_spi: Fix clock prescale computation

The prescaler value computation can yield wrong result if given 0x1f at
the beginning: the value is computed to be 0x20, but the maximum value
the register can hold 0x1f, so the actual stored value in this case is
0, which is obviously wrong.
Set the upper bound of the value to 0x1f with the min macro.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
4 years agoMerge branch 'master' of git://git.denx.de/u-boot-sh
Tom Rini [Mon, 16 Sep 2019 01:14:26 +0000 (21:14 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-sh

4 years agoMerge branch 'master' of git://git.denx.de/u-boot-usb
Tom Rini [Sat, 14 Sep 2019 23:56:09 +0000 (19:56 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-usb

- Assorted bugfixes

4 years agoMerge branch '2019-09-13-ti-imports'
Tom Rini [Sat, 14 Sep 2019 23:53:24 +0000 (19:53 -0400)]
Merge branch '2019-09-13-ti-imports'

- Assorted K3 bugfixes.
- Assorted DM enablements, dead code removal.

4 years agosh: r2dplus: Enable DHCP command
Marek Vasut [Sat, 14 Sep 2019 17:22:09 +0000 (19:22 +0200)]
sh: r2dplus: Enable DHCP command

Enable the "dhcp" command as a minor convenience.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
4 years agosh: r2dplus: Fix missing PCI range
Marek Vasut [Sat, 14 Sep 2019 19:18:09 +0000 (21:18 +0200)]
sh: r2dplus: Fix missing PCI range

Add missing PCI range for translating DRAM to bus addresses.
This fixes e.g. PCI NIC interface and allows network to work
in QEMU.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
4 years agosh: Fix SH4 build with GCC versions without -m4-nofpu
Marek Vasut [Sat, 14 Sep 2019 17:05:38 +0000 (19:05 +0200)]
sh: Fix SH4 build with GCC versions without -m4-nofpu

Pass -m4 instead of -m4-nofpu to GCC versions which do not support
the -m4-nofpu option.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
4 years agosh: Fix incorrect linking with new binutils
Marek Vasut [Sat, 14 Sep 2019 17:03:32 +0000 (19:03 +0200)]
sh: Fix incorrect linking with new binutils

Since binutils 2.30 , the resulting U-Boot binary was incorrectly linked
against address 0 instead of text base, fix it.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
4 years agoconfigs: am65x_hs_evm: Use FIT images when booting HS devices
Andrew F. Davis [Mon, 26 Aug 2019 21:51:01 +0000 (17:51 -0400)]
configs: am65x_hs_evm: Use FIT images when booting HS devices

HS devices use the FIT post processing step to authenticate boot images.
Set the configured boot command to load FIT by default.

Signed-off-by: Andrew F. Davis <afd@ti.com>
4 years agoconfigs: ti: Add environment support commands for FIT loading
Andrew F. Davis [Mon, 26 Aug 2019 21:51:00 +0000 (17:51 -0400)]
configs: ti: Add environment support commands for FIT loading

Some parts of these commands can be reused, add them to common files.

Signed-off-by: Andrew F. Davis <afd@ti.com>
4 years agoARM: dts: dra74x: Fix iodelay configuration for mmc3
Faiz Abbas [Tue, 27 Aug 2019 08:11:23 +0000 (13:41 +0530)]
ARM: dts: dra74x: Fix iodelay configuration for mmc3

According to the latest am572x[1] and dra74x[2] data manuals, mmc3
default, hs, sdr12 and sdr25 modes use iodelay values given in
MMC3_MANUAL1. Set the MODE_SELECT bit for these so that manual mode is
selected and correct iodelay values are configured.

[1] http://www.ti.com/lit/ds/symlink/am5728.pdf
[2] http://www.ti.com/lit/ds/symlink/dra746.pdf

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
4 years agoarm: k3: Use get_ti_sci_handle() where ever possible
Lokesh Vutla [Mon, 9 Sep 2019 07:17:38 +0000 (12:47 +0530)]
arm: k3: Use get_ti_sci_handle() where ever possible

Instead of calling uclass apis everywhere, use get_ti_sci_handle()
when ever ti_sci is needed.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agoarm: k3: Fix getting ti_sci handle
Lokesh Vutla [Mon, 9 Sep 2019 07:17:37 +0000 (12:47 +0530)]
arm: k3: Fix getting ti_sci handle

API get_ti_sci_handle() is relying on the device-tree node name
to be "dmsc" for probing the ti_sci device. But with the introduction
of debug messages for dmsc, the node name changed to dmsc@44083000.
Because of this ti_sci is never probed cause a boot failure. Instead
of relying on device-tree node name, use the first available firmware
node for probing ti_sci.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
4 years agoARM: omapl138_lcdk: Enable Pinctrl
Adam Ford [Mon, 2 Sep 2019 11:52:04 +0000 (06:52 -0500)]
ARM: omapl138_lcdk: Enable Pinctrl

The single pinctrl supports the da8xx, so this patch enables
pinctrl in U-Boot.

Signed-off-by: Adam Ford <aford173@gmail.com>
4 years agoARM: omapl138_lcdk: Enable DM_GPIO and DM and GPIO Commands
Adam Ford [Mon, 2 Sep 2019 11:52:03 +0000 (06:52 -0500)]
ARM: omapl138_lcdk: Enable DM_GPIO and DM and GPIO Commands

The da8xx GPIO driver is available with DM_GPIO support.  This
patch enables the CMD_GPIO, CMD_DM, and DM_GPIO and DA8XX_GPIO.

Signed-off-by: Adam Ford <aford173@gmail.com>
4 years agoARM: omapl138_lcdk: Disable SPL_DM_USB
Adam Ford [Mon, 2 Sep 2019 11:52:02 +0000 (06:52 -0500)]
ARM: omapl138_lcdk: Disable SPL_DM_USB

The USB was just recently enabled, so it is unlikely anyone is
using it in SPL, so this patch removes it from SPL to further
reduce the SPL code size.

Signed-off-by: Adam Ford <aford173@gmail.com>
4 years agoARM: omapl138_lcdk: Remove dead code
Adam Ford [Mon, 2 Sep 2019 11:52:01 +0000 (06:52 -0500)]
ARM: omapl138_lcdk: Remove dead code

The header it littered with #ifdefs and #defines and that appear
to be legacy associations to the older da850-evm and in some cases
obsolete with either Kconfig or DM migrations.  This patch removes
these legacy references.

Signed-off-by: Adam Ford <aford173@gmail.com>
4 years agoarm: am437x: cm-t43: Enable DM for MMC, USB, SPI, SPI_FLASH, enable BLK
Suniel Mahesh [Fri, 30 Aug 2019 20:06:13 +0000 (01:36 +0530)]
arm: am437x: cm-t43: Enable DM for MMC, USB, SPI, SPI_FLASH, enable BLK

Enable driver model for USB, MMC, SPI and SPI_FLASH. Also enable BLK.
This will remove the following compile warnings:

===================== WARNING ======================
This board does not use CONFIG_DM_MMC. Please update
the board to use CONFIG_DM_MMC before the v2019.04 release.
====================================================
===================== WARNING ======================
This board does not use CONFIG_DM_USB. Please update
the board to use CONFIG_DM_USB before the v2019.07 release.
====================================================
===================== WARNING ======================
This board does not use CONFIG_DM_SPI_FLASH. Please update
the board to use CONFIG_SPI_FLASH before the v2019.07 release.
====================================================
Target was compile tested, build was clean.

Signed-off-by: Suniel Mahesh <sunil.m@techveda.org>
4 years agoarm: am437x: cm-t43: Add device tree, enable OF_CONTROL
Suniel Mahesh [Fri, 30 Aug 2019 20:04:59 +0000 (01:34 +0530)]
arm: am437x: cm-t43: Add device tree, enable OF_CONTROL

Add device tree from Linux for driver model conversion
and enable OF_CONTROL. This will remove the following compile
warning:
==================================================
Device Tree Source is not correctly specified.
Please define 'CONFIG_DEFAULT_DEVICE_TREE'
or build with 'DEVICE_TREE=<device_tree>' argument
===================================================
Target was compile tested, build was clean.

Signed-off-by: Suniel Mahesh <sunil.m@techveda.org>
4 years agosoc: ti: k3-navss-ringacc: fix k3_nav_ringacc_ring_reset_dma
Vignesh Raghavendra [Fri, 30 Aug 2019 05:32:24 +0000 (11:02 +0530)]
soc: ti: k3-navss-ringacc: fix k3_nav_ringacc_ring_reset_dma

In case dma_ring_reset_quirk is not set the k3_ringacc_ring_reset_dma will
just exit without ring reset. Fix it, by adding ring reset call in case
dma_ring_reset_quirk is not.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
4 years agoMAINTAINERS: Change fsl-qoriq, mpc86xx, mpc85xx maintainers
Priyanka Jain [Mon, 9 Sep 2019 11:25:08 +0000 (16:55 +0530)]
MAINTAINERS: Change fsl-qoriq, mpc86xx, mpc85xx maintainers

Change maintainers to Priyanka Jain for fsl-qoriq, mpc85xx

Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
Acked-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
4 years agoMerge tag 'efi-2019-10-rc4-4' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Thu, 12 Sep 2019 14:35:46 +0000 (10:35 -0400)]
Merge tag 'efi-2019-10-rc4-4' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi

Pull request for UEFI sub-system for v2019.10-rc4 (4)

Fixes for the EFI_FILE_PROTOCOL:

* correctly iterate over directories
* correct Unicode conversion of file names
* parameter checks

4 years agoMerge tag 'u-boot-rockchip-20190912' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Thu, 12 Sep 2019 03:08:34 +0000 (23:08 -0400)]
Merge tag 'u-boot-rockchip-20190912' of https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip

- add idbloader.img target for rockchip tpl+spl;
- usb ehci/ohci: go on process if clock driver don't have clk_enable();
- remove clk_enable() for rockchip clock drivers;
- add boot order for rockpro64

4 years agoefi_loader: parameter checks EFI_FILE_PROTOCOL.SetInfo()
Heinrich Schuchardt [Sun, 8 Sep 2019 09:37:07 +0000 (11:37 +0200)]
efi_loader: parameter checks EFI_FILE_PROTOCOL.SetInfo()

We do not support volume label changes. No parameter checks are needed
here.

When the info for as file is changed the buffer must always contain a file
name.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agodoc: lion_rk3368: use idbloader.img for rk3368
Matwey V. Kornilov [Tue, 3 Sep 2019 16:29:03 +0000 (19:29 +0300)]
doc: lion_rk3368: use idbloader.img for rk3368

Makefile now produces ready-to-deploy idbloader.img file.

Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Kever Yang<kever.yang@rock-chips.com>
4 years agodoc: rockchip: use idbloader.img for rk3288, rk3328, rk3399
Matwey V. Kornilov [Tue, 3 Sep 2019 16:29:02 +0000 (19:29 +0300)]
doc: rockchip: use idbloader.img for rk3288, rk3328, rk3399

Makefile now produces ready-to-deploy idbloader.img file.

Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Kever Yang<kever.yang@rock-chips.com>
4 years agorockchip, Makefile: add idbloader.img target
Matwey V. Kornilov [Tue, 3 Sep 2019 16:29:01 +0000 (19:29 +0300)]
rockchip, Makefile: add idbloader.img target

Many Rockchip platforms require the same u-boot deploy procedure
when TPL and SPL both enabled.

The following examples are taken from doc/README.rockchip
and board/theobroma-systems/lion_rk3368/README:

RK3288:

  ./tools/mkimage -n rk3288 -T rksd -d ./tpl/u-boot-tpl.bin out
  cat ./spl/u-boot-spl-dtb.bin >> out
  sudo dd if=out of=/dev/mmcblk0 seek=64

RK3328:

  ./tools/mkimage -n rk3328 -T rksd -d ./tpl/u-boot-tpl.bin idbloader.img
  cat ./spl/u-boot-spl.bin >> idbloader.img
  sudo dd if=idbloader.img of=/dev/mmcblk0 seek=64

RK3368:

  ./tools/mkimage -n rk3368 -T rksd -d tpl/u-boot-tpl.bin spl-3368.img
  cat spl/u-boot-spl-dtb.bin >> spl-3368.img
  dd if=spl-3368.img of=/dev/sdb seek=64

RK3399:

  ./tools/mkimage -n rk3399 -T rksd -d ./tpl/u-boot-tpl-dtb.bin out
  cat ./spl/u-boot-spl-dtb.bin >> out
  sudo dd if=out of=/dev/sdc seek=64

Here, we introduce generic idbloader.img target
which is the TPL image followed by the SPL binary.

Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: clean makefile for misc.c
Kever Yang [Mon, 2 Sep 2019 07:59:04 +0000 (15:59 +0800)]
rockchip: clean makefile for misc.c

Use obj-$(config) instead of #ifdef $config to make the code looks
clean, and move the misc_init for U-Boot proper only.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: not depends on TPL_BUILD for rk3188 makefile including
Kever Yang [Mon, 2 Sep 2019 07:59:03 +0000 (15:59 +0800)]
rockchip: not depends on TPL_BUILD for rk3188 makefile including

The rk3188/Makefile already depends on !TPL_BUILD, so no need to add
this again in parent Makefile, remove it.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: clk: rk3399: remove clk_enable()
Kever Yang [Wed, 28 Aug 2019 08:23:51 +0000 (16:23 +0800)]
rockchip: clk: rk3399: remove clk_enable()

There is no real driver for clk enable/disable now, and we actually
don't need it now, remove it so that not waste CPU cycles and code size.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: clk: rk3368: remove clk_enable()
Kever Yang [Wed, 28 Aug 2019 08:23:50 +0000 (16:23 +0800)]
rockchip: clk: rk3368: remove clk_enable()

There is no real driver for clk enable/disable now, and we actually
don't need it now, remove it so that not waste CPU cycles and code size.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: clk: rk3328: remove clk_enable()
Kever Yang [Wed, 28 Aug 2019 08:23:49 +0000 (16:23 +0800)]
rockchip: clk: rk3328: remove clk_enable()

There is no real driver for clk enable/disable now, and we actually
don't need it now, remove it so that not waste CPU cycles and code size.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
4 years agorockchip: clk: rk3288: remove clk_enable()
Kever Yang [Wed, 28 Aug 2019 08:23:48 +0000 (16:23 +0800)]
rockchip: clk: rk3288: remove clk_enable()

There is no real driver for clk enable/disable now, and we actually
don't need it now, remove it so that not waste CPU cycles and code size.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
4 years agousb: ohci-generic: don't probe fail if there is no clk_enable() ops
Kever Yang [Wed, 28 Aug 2019 08:23:47 +0000 (16:23 +0800)]
usb: ohci-generic: don't probe fail if there is no clk_enable() ops

Some clock driver do not have a clk_enable() call back, and we should not
treat this as fail in ehci probe like other modules, eg. clk_enabl_bulk()
do not return fail if ret value is '-ENOSYS'

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
4 years agousb: ehci-generic: don't probe fail if there is no clk_enable() ops
Kever Yang [Wed, 28 Aug 2019 08:23:46 +0000 (16:23 +0800)]
usb: ehci-generic: don't probe fail if there is no clk_enable() ops

Some clock driver do not have a clk_enable() call back, and we should not
treat this as fail in ehci probe like other modules, eg. clk_enabl_bulk()
do not return fail if ret value is '-ENOSYS'

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
4 years agorockchip: rk3399: dts: add boot order for rockpro64
Kever Yang [Tue, 27 Aug 2019 03:43:32 +0000 (11:43 +0800)]
rockchip: rk3399: dts: add boot order for rockpro64

The rk3399 rockpro64 board can boot from emmc and sdcard.
TODO: add spiflash as boot device.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
4 years agousb: musb_hcd: fix compilation error
Jean-Jacques Hiblot [Wed, 11 Sep 2019 07:44:10 +0000 (09:44 +0200)]
usb: musb_hcd: fix compilation error

commit 65c1f9820c8f79f "usb: Add nonblock argument to submit_int_msg"
breaks the musb_hcd driver.
Fixing it by adding the missing argument

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
4 years agodwc2: use the nonblock argument in submit_int_msg
Michal Suchanek [Sun, 18 Aug 2019 08:55:28 +0000 (10:55 +0200)]
dwc2: use the nonblock argument in submit_int_msg

An USB 1.1 keyboard connected to dwc2 through a high-speed hub does not
report status until it changes. With this patch you can enable keyboard
by pressing a key while USB devices are probed. Without a keypress no
state is reported and the probe times out. We don't want to wait for a
keypress or timeout while polling for keypresses so implement an int_msg
nonblock variant that exits early on error.

Signed-off-by: Michal Suchanek <msuchanek@suse.de>
4 years agousb: Add nonblock argument to submit_int_msg
Michal Suchanek [Sun, 18 Aug 2019 08:55:27 +0000 (10:55 +0200)]
usb: Add nonblock argument to submit_int_msg

This will be used to implement non-blocking keyboard polling in case of
errors.

Signed-off-by: Michal Suchanek <msuchanek@suse.de>
4 years agousb: storage: submit_int_msg -> usb_int_msg
Michal Suchanek [Sun, 18 Aug 2019 08:55:26 +0000 (10:55 +0200)]
usb: storage: submit_int_msg -> usb_int_msg

Use the wrapper as other callers do.

Signed-off-by: Michal Suchanek <msuchanek@suse.de>
4 years agousb: usb_submit_int_msg -> usb_int_msg
Michal Suchanek [Sun, 18 Aug 2019 08:55:25 +0000 (10:55 +0200)]
usb: usb_submit_int_msg -> usb_int_msg

This aligns naming with usb_bulk_msg and usb_control_msg.

Signed-off-by: Michal Suchanek <msuchanek@suse.de>
4 years agousb_kdb: only process events successfully received
Michal Suchanek [Sun, 18 Aug 2019 08:55:24 +0000 (10:55 +0200)]
usb_kdb: only process events successfully received

Causes unbound key repeat on error otherwise.

Signed-off-by: Michal Suchanek <msuchanek@suse.de>
4 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-x86
Tom Rini [Tue, 10 Sep 2019 12:52:00 +0000 (08:52 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86

- Tangier ACPI table fixes
- Support getting high memory size on QEMU x86
- Show UEFI images involved in crash for x86
- EFI loader conventional memory map fix

4 years agoMerge tag 'u-boot-amlogic-20190910' of https://gitlab.denx.de/u-boot/custodians/u...
Tom Rini [Tue, 10 Sep 2019 12:51:17 +0000 (08:51 -0400)]
Merge tag 'u-boot-amlogic-20190910' of https://gitlab.denx.de/u-boot/custodians/u-boot-amlogic

- Add support for dis_u2_susphy_quirk in the xhci-dwc3 driver to fix boot when
a device is plugged only in the OTG capable port for libretech-ac and libretech-cc

4 years agox86: tangier: Use spaces over TABs in ASL code
Andy Shevchenko [Thu, 29 Aug 2019 14:04:21 +0000 (17:04 +0300)]
x86: tangier: Use spaces over TABs in ASL code

For sake of consistency use spaces over TABs in ASL code.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: tangier: Fix off-by-one error when preparing CSRT
Andy Shevchenko [Thu, 29 Aug 2019 14:04:20 +0000 (17:04 +0300)]
x86: tangier: Fix off-by-one error when preparing CSRT

Intel iDMA 32-bit controller has 17 bits for the maximum block size value.
Due to nature of the binary number representation the maximum value is
2^17 - 1. The original code misses the latter part in equation.

Fixes: 5e99fde34a77 ("x86: tangier: Populate CSRT for shared DMA controller")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: tangier: Reserve PCI ECAM in motherboard resources
Andy Shevchenko [Thu, 29 Aug 2019 14:04:19 +0000 (17:04 +0300)]
x86: tangier: Reserve PCI ECAM in motherboard resources

Per PCI firmware specification the ACPI has to reserve the memory
which is defined as PCI ECAM.

Fixes: 39665beed6f7 ("x86: tangier: Enable ACPI support for Intel Tangier")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: acpi: Annotate struct acpi_table_header with __packed
Andy Shevchenko [Thu, 29 Aug 2019 14:04:18 +0000 (17:04 +0300)]
x86: acpi: Annotate struct acpi_table_header with __packed

GCC 9.2 starts complaining about possible pointer misalignment of
pointers to the unpacked (alignment=4) structures in the packed
(alignment=1) ones:

  CC      arch/x86/cpu/tangier/acpi.o
arch/x86/cpu/tangier/acpi.c: In function ‘acpi_create_fadt’:
arch/x86/cpu/tangier/acpi.c:22:37: warning: taking address of packed
member of ‘struct acpi_fadt’ may result in an unaligned pointer value
[-Waddress-of-packed-member]
  22 |  struct acpi_table_header *header = &(fadt->header);

  CC      arch/x86/lib/acpi_table.o
arch/x86/lib/acpi_table.c: In function ‘acpi_create_spcr’:
arch/x86/lib/acpi_table.c:366:37: warning: taking address of packed
member of ‘struct acpi_spcr’ may result in an unaligned pointer value
[-Waddress-of-packed-member]
  366 |  struct acpi_table_header *header = &(spcr->header);

Fix the potential issues by annotating embedded structures with
__packed even though they are packed naturally.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: add GCC version number in the commit message]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
4 years agousb: xhci-dwc3: Add support for dis_u2_susphy_quirk
Neil Armstrong [Mon, 9 Sep 2019 18:52:39 +0000 (18:52 +0000)]
usb: xhci-dwc3: Add support for dis_u2_susphy_quirk

This quirk is necessary for the Amlogic GXL SoCs otherwise the
Port 2 PHY doesn't get out of suspend and U-Boot resets the board after:

XHCI timeout on event type 33... cannot recover.
BUG: failure at drivers/usb/host/xhci-ring.c:474/xhci_wait_for_event()!
BUG!

This quirk is also handled in the dwc3 core code, but until the
xhci-dwc3 driver uses the dwc3 core, the quirk must be handled here
to fix USB support on the Amlogic libretech-cc and libretech-ac board
when a device is only plugged in the OTG port.

Cc: Yuri Frolov <crashing.kernel@gmail.com>
Cc: Bin Meng <bmeng.cn@gmail.com>
Fixes: dc9cdf859e ("usb: dwc3: Add DWC3 controller driver support")
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: efi_loader: Use efi_add_conventional_memory_map()
Park, Aiden [Tue, 3 Sep 2019 17:43:46 +0000 (17:43 +0000)]
x86: efi_loader: Use efi_add_conventional_memory_map()

Use efi_add_conventional_memory_map() to configure EFI conventional memory
properly with ram_top value. This will give 32-bit mode U-Boot proper
conventional memory regions even if e820 has an entry which is greater than
32-bit address space.

Signed-off-by: Aiden Park <aiden.park@intel.com>
Tested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
[bmeng: fixed some typos in the commit message]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
4 years agox86: show UEFI images involved in crash
Heinrich Schuchardt [Sun, 25 Aug 2019 17:55:12 +0000 (19:55 +0200)]
x86: show UEFI images involved in crash

If a crash occurs, show the loaded UEFI images to facilitate analysis.

This is an example output:

=> bootefi 0x1000000
Found 0 disks
Hello world of bugs!
Invalid Opcode (Undefined Opcode)
EIP: 0010:[<06ceb06e>] EFLAGS: 00010206
Original EIP :[<fec9906e>]
EAX: 00000000 EBX: 06cec000 ECX: 00000fd0 EDX: 00000001
ESI: 06ced18a EDI: 07d0fe10 EBP: 07fe27a0 ESP: 07d0fde0
 DS: 0018 ES: 0018 FS: 0020 GS: 0018 SS: 0018
CR0: 00000033 CR2: 00000000 CR3: 00000000 CR4: 00000000
DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
DR6: ffff0ff0 DR7: 00000400
Stack:
    0x07d0fde8 : 0x00000000
    0x07d0fde4 : 0x06ced040
--->0x07d0fde0 : 0x07fe27a0
    0x07d0fddc : 0x00010206
    0x07d0fdd8 : 0x00000010
    0x07d0fdd4 : 0x06ceb06e
UEFI image [0x06cea000:0x06cf0fff] pc=0x106e '/bug-i386.efi'
### ERROR ### Please RESET the board ###

With the additional information provided by this patch we know that the
problem occurred 0x106e after the load address of bug-i386.efi.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
4 years agodoc: slimbootloader: Update Linux booting steps on QEMU
Park, Aiden [Thu, 22 Aug 2019 21:31:31 +0000 (21:31 +0000)]
doc: slimbootloader: Update Linux booting steps on QEMU

Add steps to test Linux booting on QEMU with Yocto image.

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: qemu: Report high memory in the E820 table
Bin Meng [Thu, 29 Aug 2019 09:53:06 +0000 (02:53 -0700)]
x86: qemu: Report high memory in the E820 table

Now that we are able to get the size of high memory from QEMU,
report its memory range as usable ram.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Aiden Park <aiden.park@intel.com>
4 years agox86: qemu: Support getting high memory size
Bin Meng [Thu, 29 Aug 2019 09:53:05 +0000 (02:53 -0700)]
x86: qemu: Support getting high memory size

At present only size of memory that is below 4GiB is retrieved from
QEMU. Add a function that gets size of memory that is above 4GiB.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Aiden Park <aiden.park@intel.com>
4 years agox86: qemu: Extract getting memory size to a separate routine
Bin Meng [Thu, 29 Aug 2019 09:53:04 +0000 (02:53 -0700)]
x86: qemu: Extract getting memory size to a separate routine

This extracts getting memory size logic in dram_init() to a separate
routine qemu_get_low_memory_size(). No functional changes.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Aiden Park <aiden.park@intel.com>
4 years agox86: Drop weak version board_get_usable_ram_top()
Bin Meng [Thu, 29 Aug 2019 09:53:03 +0000 (02:53 -0700)]
x86: Drop weak version board_get_usable_ram_top()

Every x86 platform provides board_get_usable_ram_top(), hence there
is no need to provide a weak version board_get_usable_ram_top(), not
to mention there is another weak version board_get_usable_ram_top()
in common/board_f.c.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Aiden Park <aiden.park@intel.com>
4 years agox86: acpi: Slightly reduce binary size of ACPI tables for Tangier
Andy Shevchenko [Mon, 26 Aug 2019 01:48:15 +0000 (09:48 +0800)]
x86: acpi: Slightly reduce binary size of ACPI tables for Tangier

Using ACPI predefined macros, such as Zero or One, will reduce a binary
size of resulting ACPI tables.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: manually fixed the conflicts when applying]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
4 years agotools: Add ifwitool to .gitignore
Andy Shevchenko [Mon, 19 Aug 2019 09:09:37 +0000 (12:09 +0300)]
tools: Add ifwitool to .gitignore

Follow up fix to the commit

56bf4f863075 ("x86: Add ifwitool for Intel Integrated Firmware Image")

in order to ignore created binary.

Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agoarm: ti: Add missing "=" from previous fix
Tom Rini [Mon, 9 Sep 2019 14:55:45 +0000 (10:55 -0400)]
arm: ti: Add missing "=" from previous fix

While the original patch to fix a regression in distro boot for mmc on
these platforms had the correct syntax, I broke the change while
applying.  Add back in the missing "=" here so that the syntax is
correct.

Reported-by: Andre Heider <a.heider@gmail.com>
Fixes: 27e0f3bcf075 ("arm: ti: Fix regression in distro boot for mmc")
Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agoefi_loader: check parameters EFI_FILE_PROTOCOL.GetInfo()
Heinrich Schuchardt [Sun, 8 Sep 2019 08:45:31 +0000 (10:45 +0200)]
efi_loader: check parameters EFI_FILE_PROTOCOL.GetInfo()

Check the parameters of EFI_FILE_PROTOCOL.GetInfo() to avoid possible NULL
dereference.

Check the buffer size for EFI_FILE_SYSTEM_INFO.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoefi_loader: volume name in EFI_FILE_PROTOCOL.GetInfo()
Heinrich Schuchardt [Sun, 8 Sep 2019 08:32:54 +0000 (10:32 +0200)]
efi_loader: volume name in EFI_FILE_PROTOCOL.GetInfo()

We cannot determine the volume name in U-Boot. Instead of providing a dummy
volume name in case of EFI_FILE_SYSTEM_INFO and EFI_UNSUPPORTED in case of
EFI_FILE_SYSTEM_VOLUME_LABEL consistently return an empty string.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoefi_loader: EFI_FILE_PROTOCOL rev 2 stub
Heinrich Schuchardt [Sun, 8 Sep 2019 07:35:32 +0000 (09:35 +0200)]
efi_loader: EFI_FILE_PROTOCOL rev 2 stub

The UEFI specification requires to implement version 2 of the
EFI_FILE_PROTOCOL. Provide the missing functions as stubs.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoefi_loader: file size checks
Heinrich Schuchardt [Sat, 7 Sep 2019 21:28:04 +0000 (23:28 +0200)]
efi_loader: file size checks

The file size has to be determined in multiple places. Factor out a common
function.

If on entry into EFI_FILE_PROTOCOL.Read() the current position is beyond
the end of the file, return EFI_DEVICE_ERROR.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoefi_loader: correct reading of directories
Heinrich Schuchardt [Sat, 7 Sep 2019 20:34:07 +0000 (22:34 +0200)]
efi_loader: correct reading of directories

EFI_FILE_PROTOCOL.Read() is used both to read files and directories.

When reaching the end of a directory we always have to return buffer size
zero irrespective of the incoming buffer size. (The described scenario for
a Shim quirk cannot arise because every directory has at least '.' and '..'
as entries.)

Even when the buffer_size is too small multiple times we have to keep a
reference to our last read directory entry.

When we return to the start of the directory via SetPosition() we must
remove the reference to a previously kept directory entry.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoefi_loader: eliminate inline function ascii2unicode()
Heinrich Schuchardt [Sat, 7 Sep 2019 19:05:45 +0000 (21:05 +0200)]
efi_loader: eliminate inline function ascii2unicode()

ascii2unicode() can only convert characters 0x00-0x7f from UTF-8 to UTF-16.
Use utf8_utf16_strcpy() instead.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoefi_loader: EFI_FILE_PROTOCOL.Write() check args
Heinrich Schuchardt [Fri, 6 Sep 2019 19:37:21 +0000 (21:37 +0200)]
efi_loader: EFI_FILE_PROTOCOL.Write() check args

Check the parameters passed to Write():

* cannot write to directories (UEFI SCT 2017, 5.7.3.5.15)
* cannot write to file opened read only (UEFI SCT 2017, 5.7.3.5.16)

Add missing comments.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoMerge tag 'mmc-9-6-2019' of https://gitlab.denx.de/u-boot/custodians/u-boot-mmc
Tom Rini [Mon, 9 Sep 2019 01:14:22 +0000 (21:14 -0400)]
Merge tag 'mmc-9-6-2019' of https://gitlab.denx.de/u-boot/custodians/u-boot-mmc

Bug fixes to mmc_spi
Add Aspeed SD driver
Fix dw_mmc timeout calculation
Fix timeout values passed to mmc_wait_dat0
sdhci dt caps/mask update

[trini: Fix evb-ast2500_defconfig CONFIG_MMC line]
Signed-off-by: Tom Rini <trini@konsulko.com>
4 years agoMerge branch 'master' of git://git.denx.de/u-boot-sh
Tom Rini [Sat, 7 Sep 2019 17:49:39 +0000 (13:49 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-sh

- Initial DM conversion

4 years agoMerge tag 'rpi-next-2019.10' of https://github.com/mbgg/u-boot
Tom Rini [Fri, 6 Sep 2019 23:49:51 +0000 (19:49 -0400)]
Merge tag 'rpi-next-2019.10' of https://github.com/mbgg/u-boot

- fix mailbox status register used for polling
- fix bcm2835_sdhost to wait long enough for a transfer to complete
- increase kernel image size from 8 MB to 64 MB on arm64
- add support for RPi4
- add prefixes for raspberry pi related stuff to git-mailrc

4 years agogit-mailrc: Add rpi and bcm283x maintainer
Andrei Gherzan [Wed, 24 Jul 2019 14:39:11 +0000 (15:39 +0100)]
git-mailrc: Add rpi and bcm283x maintainer

Add entries for bcm283x and rpi prefix.

Signed-off-by: Andrei Gherzan <andrei@balena.io>
[mb: add commit message]
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
4 years agoRPI: Add memory map for bcm2711
Andrei Gherzan [Wed, 24 Jul 2019 14:39:10 +0000 (15:39 +0100)]
RPI: Add memory map for bcm2711

Define the memory map for the BCM2711 based on the dt configuration
available in the Raspberry Pi kernel fork.

Signed-off-by: Andrei Gherzan <andrei@balena.io>
[mb: BCM2838 -> BCM2711]
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
4 years agommc: bcm283x: Add support for bcm2711 device in bcm2835_sdhci
Matthias Brugger [Wed, 24 Jul 2019 14:39:09 +0000 (15:39 +0100)]
mmc: bcm283x: Add support for bcm2711 device in bcm2835_sdhci

The bcm2711 has two emmc controllers. The difference is the clocks
they use. Add support for the second emmc controller.

Signed-off-by: Matthias Brugger <mbrugger@suse.com>
Signed-off-by: Andrei Gherzan <andrei@balena.io>
4 years agoARM: bcm283x: Include definition for additional emmc clock
Andrei Gherzan [Wed, 24 Jul 2019 14:39:08 +0000 (15:39 +0100)]
ARM: bcm283x: Include definition for additional emmc clock

This clock has a different mbox ID so have this included in the relevant
header file.

Signed-off-by: Andrei Gherzan <andrei@balena.io>
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
4 years agoRPI: Add entry for Raspberry Pi 4 model B
Andrei Gherzan [Wed, 24 Jul 2019 14:39:07 +0000 (15:39 +0100)]
RPI: Add entry for Raspberry Pi 4 model B

The Raspebrry Pi 4 uses the new revision code scheme as documented by
the foundation. This change adds an entry for this board as well.

Signed-off-by: Andrei Gherzan <andrei@balena.io>
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
4 years agoARM: bcm283x: Define configs for RaspberryPi 4
Andrei Gherzan [Wed, 24 Jul 2019 14:39:06 +0000 (15:39 +0100)]
ARM: bcm283x: Define configs for RaspberryPi 4

Define two target configs for Raspberry Pi 4 (32 and 64bit) and the
corresponding BCM2838* configs.

Be aware of the current limitation in firmware which requires an
explicit configuration to force the arm in 64bit mode when the
respective target is used.

Signed-off-by: Andrei Gherzan <andrei@balena.io>
[mb: rename BCM2838 -> BCM2711]
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
4 years agoARM: bcm283x: Add BCM283x_BASE define
Matthias Brugger [Wed, 24 Jul 2019 14:39:05 +0000 (15:39 +0100)]
ARM: bcm283x: Add BCM283x_BASE define

Devices of bcm283x have different base address, depending if they are on
bcm2835 or bcm2836/7. Use BCM283x_BASE depending on the SoC you want to
build and only add the offset in the header files.

Signed-off-by: Matthias Brugger <mbrugger@suse.com>
Signed-off-by: Andrei Gherzan <andrei@balena.io>
4 years agoRPI: Add defconfigs for rpi4 (32/64)
Andrei Gherzan [Wed, 24 Jul 2019 14:39:04 +0000 (15:39 +0100)]
RPI: Add defconfigs for rpi4 (32/64)

This defines a minimum defconfig for each of the two Raspberry Pi 4
variants. One notable difference is that we don't have a embedded dt for
this board given that the fw supplies us with one which we can reuse.
Furthermore, the ram size is not queryable through mbox interface as the
maximum reported size is 1G. The fw patches the dt with the right
memory configuration and uboot uses it as it is. We avoid u-boot
touching this configuration by making sure CONFIG_ARCH_FIXUP_FDT_MEMORY
is deactivated.

Signed-off-by: Andrei Gherzan <andrei@balena.io>
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
4 years agorpi: increase SYS_BOOTM_LEN to 64M on ARM64
Bonnans, Laurent [Wed, 31 Jul 2019 11:59:41 +0000 (11:59 +0000)]
rpi: increase SYS_BOOTM_LEN to 64M on ARM64

On AArch64, kernel images are not self-decompressing and easily exceed
the 8MB limit.

Signed-off-by: Laurent Bonnans <laurent.bonnans@here.com>
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
4 years agommc: bcm2835-host: Fix wait_transfer_complete
Raul Benet [Thu, 13 Jun 2019 13:59:57 +0000 (14:59 +0100)]
mmc: bcm2835-host: Fix wait_transfer_complete

Function bcm_2835_wait_transfer_complete() is not waiting long enough.
The previous code was claiming to wait for ~1 seconds, but as it depends
on register reads it's time actually varies.
Some cards require wait times of up to ~56 ms to perform
the command 'saveenv' on an EXT4 partition.

Re-implement the loop exit condition to use get_timer() which allows
to specify the wait time in more reliable manner. Set the maximum wait
time to the originally intended 1 second.

Signed-off by: Raul Benet <raul.benet_at_kaptivo.com>
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
4 years agoARM: bcm283x mbox: Fix send status register
Fabian Vogt [Tue, 16 Jul 2019 11:09:47 +0000 (13:09 +0200)]
ARM: bcm283x mbox: Fix send status register

Before we can send a message to the mailbox we have to check that there
is space to do so. Therefore we poll the status register. But up to now
the wrong status register, the one of mailbox 0, was checked. Fix this
by polling the status regiser of mailbox 1.

Signed-off-by: Fabian Vogt <fvogt@suse.com>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
[mb: rename registers and update commit message]
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
4 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-samsung
Tom Rini [Fri, 6 Sep 2019 12:04:28 +0000 (08:04 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-samsung

- ARM: exynos5: Try to boot on mmc2 before mmc0/1

4 years agoMerge tag 'efi-2019-10-rc4-3' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Fri, 6 Sep 2019 12:04:08 +0000 (08:04 -0400)]
Merge tag 'efi-2019-10-rc4-3' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi

Pull request for UEFI sub-system for v2019.10-rc4 (3)

This includes the patches from
Pull request for UEFI sub-system for v2019.10-rc4 (2)

Fix UEFI specification compliance issues in the simple network protocol:

* Correctly set and reset the interrupt status.
* Support filling the header in the Transmit() service.
* Correct the checking and setting of the network state.
* Implement the MCastIPtoMAC() service.
* Adjust the simple network protocol unit test.

Fix UEFI specification compliance issues in the protocol.

Fix UEFI specification compliance issues in the simple text output protocol:
* Avoid out of bounds cursor position.
* Do not set illegal screen mode.

Fix UEFI specification compliance issues in the  block IO protocol:
* Check parameters.
* Return correct status code if buffer is unaligned.

Refactor initialization of EFI memory in preparation of support for
> 3GB memory on x86.

4 years agommc: sdhci: Add support for dt caps & caps mask
T Karthik Reddy [Mon, 2 Sep 2019 14:34:31 +0000 (16:34 +0200)]
mmc: sdhci: Add support for dt caps & caps mask

The sdhci capabilities registers can be incorrect. The
sdhci-caps-mask and sdhci-caps dt properties specify which bits of
the registers are incorrect and what their values should be. This
patch makes the sdhci driver use those properties to correct the caps.
Also use "dev_read_u64_default" instead of "dev_read_u32_array" for
caps mask.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
4 years agodm: core: Add functions to read 64-bit dt properties
T Karthik Reddy [Mon, 2 Sep 2019 14:34:30 +0000 (16:34 +0200)]
dm: core: Add functions to read 64-bit dt properties

This patch adds functions dev_read_u64_default & dev_read_u64
to read unsigned 64-bit values from devicetree.

Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
4 years agodoc: UEFI API documentation
Heinrich Schuchardt [Thu, 5 Sep 2019 18:37:13 +0000 (20:37 +0200)]
doc: UEFI API documentation

Add some more files to the UEFI API documentation.

Correct some Sphinx comments.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoefi_loader: EFI_BLOCK_IO_PROTOCOL.Reset()
Heinrich Schuchardt [Thu, 5 Sep 2019 18:13:46 +0000 (20:13 +0200)]
efi_loader: EFI_BLOCK_IO_PROTOCOL.Reset()

We cannot do anything in EFI_BLOCK_IO_PROTOCOL.Reset() but this does not
justify to return an error.

Let EFI_BLOCK_IO_PROTOCOL.Reset() return EFI_SUCCESS.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoefi_loader: use EFI_PRINT() instead of debug()
Heinrich Schuchardt [Thu, 5 Sep 2019 17:43:17 +0000 (19:43 +0200)]
efi_loader: use EFI_PRINT() instead of debug()

EFI_PRINT() offers indention of debug messages. Adjust the debug messages
of the BLOCK_IO_PROTOCOL.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoefi_loader: parameter checks BLOCK_IO_PROTOCOL
Heinrich Schuchardt [Thu, 5 Sep 2019 17:31:23 +0000 (19:31 +0200)]
efi_loader: parameter checks BLOCK_IO_PROTOCOL

Check parameters of ReadBlocks() and WriteBlocks().

If the buffer size is not a multiple of the block size, we have to return
EFI_BAD_BUFFER_SIZE.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoefi_loader: do not set invalid screen mode
Heinrich Schuchardt [Wed, 4 Sep 2019 20:46:13 +0000 (22:46 +0200)]
efi_loader: do not set invalid screen mode

EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.SetMode() should return EFI_UNDEFINED if a
screen mode is not available.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Alexander Graf <agraf@csgraf.de>
4 years agoefi_loader: cursor positioning
Heinrich Schuchardt [Wed, 4 Sep 2019 19:13:45 +0000 (21:13 +0200)]
efi_loader: cursor positioning

When backspacing in column 0 do no set the column index to ULONG_MAX.
Ensure that the row number is not set to ULONG_MAX even if the row count is
advertised as 0.
Ignore control characters other the 0x08, 0x0a, 0x0d when updating the
column.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 years agoefi_loader: correctly render UsbClass DP nodes as text
Heinrich Schuchardt [Wed, 4 Sep 2019 12:30:41 +0000 (14:30 +0200)]
efi_loader: correctly render UsbClass DP nodes as text

Correct the text representation of UsbClass device path nodes.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>