platform/kernel/u-boot.git
5 years agoconfigs: tinker: Enable SDRAM, SPL stack
Jagan Teki [Tue, 17 Sep 2019 06:10:41 +0000 (11:40 +0530)]
configs: tinker: Enable SDRAM, SPL stack

SPL sets up SDRAM while in its board_init_f()
function, it is possible for the stack to move
there before board_init_r() is reached.

So it is required to reserve the stack for SDRAM,
with a proper location and size otherwise any
operations during SPL handoff would leads to failure.

On, this particular context tinker-rk3288 SPL is
failing to launch U-Boot proper on SDRAM due to
lack of stack.

 U-Boot SPL 2019.10-rc3-00297-g5ba8b12543 (Sep 12 2019 - 08:50:36 +0530)
 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 ###

So, enable SPL_STACK_R_ADDR and it's related-config
items for SDRAM, SPL stack to setup properly.

Reported-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang<kever.yang@rock-chips.com>
5 years agoconfigs: tinker: Drop explicit SPL_TEXT
Jagan Teki [Tue, 17 Sep 2019 06:10:40 +0000 (11:40 +0530)]
configs: tinker: Drop explicit SPL_TEXT

SPL_TEXT_BASE is 0x0 by default, based on the kconfig
definition move in below commit.

"configs: move CONFIG_SPL_TEXT_BASE to Kconfig"
(sha1: f89d6133eef2e068f9c33853b6584d7fcbfa9d2e)

So, don't define it explicitly.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang<kever.yang@rock-chips.com>
5 years agorockchip: spi-boot-order: Trival fix to newline missing
Jagan Teki [Tue, 17 Sep 2019 06:10:39 +0000 (11:40 +0530)]
rockchip: spi-boot-order: Trival fix to newline missing

newline \n was missed in fdt_path_offset, error loop.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang<kever.yang@rock-chips.com>
5 years agoram: rk3288: Initialize dram for TPL builds
Jagan Teki [Tue, 17 Sep 2019 06:10:38 +0000 (11:40 +0530)]
ram: rk3288: Initialize dram for TPL builds

Few of the rk3288 boards like tinker, vyasa are using
TPL, SPL bootchain so the dram initialization must needed
during TPL stage. So add proper ifconstruct to satisfy
both TPL, SPL and SPL-only bootchain boards.

This eventually fixing TPL to SPL handoff, otherwise missing
dram initilaztion at TPL stage would leads to SPL hang.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang<kever.yang@rock-chips.com>
5 years agoconfigs: vyasa-rk3288: Fix SPL_TEXT_BASE
Jagan Teki [Tue, 17 Sep 2019 06:10:37 +0000 (11:40 +0530)]
configs: vyasa-rk3288: Fix SPL_TEXT_BASE

The initial Vyasa-rk3288 TPL implementation is to reuse the
SPL_TEXT_BASE for TPL and SPL as 0x0 and 0xff704000 respectively.

But the below commit implements the reverse way of using TEXT_BASE's
like 0xff704000 for TPL and 0x0 for SPL and which indeed update
the SPL_TEXT_BASE for vyasa-rk3288 board.
"rockchip: Kconfig: enable TPL support for rk3328"
(sha1: 3f47db0275e0f1c1e89d8f13f8b4cdc86b1038ca)

So, fix by dropping the legacy SPL_TEXT_BASE and it will
reassign 0x0 by default based on Kconfig definition.

Reported-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang<kever.yang@rock-chips.com>
5 years agorockchip: rk3288: vyasa: Drop ROCKCHIP_BROM_HELPER selection
Jagan Teki [Tue, 17 Sep 2019 06:10:36 +0000 (11:40 +0530)]
rockchip: rk3288: vyasa: Drop ROCKCHIP_BROM_HELPER selection

ROCKCHIP_BROM_HELPER is selected as if TPL/SPL ROCKCHIP_BACK_TO_BROM
has been defined, so drop the explicit enablement for vyasa board.

This change is supposed to missed during config move to
other locations, and missed to drop the same.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang<kever.yang@rock-chips.com>
5 years agoconfigs: rockpro64-rk3399: Enable CONFIG_MISC_INIT_R and ROCKCHIP_EFUSE
Hugh Cole-Baker [Mon, 9 Sep 2019 20:48:17 +0000 (21:48 +0100)]
configs: rockpro64-rk3399: Enable CONFIG_MISC_INIT_R and ROCKCHIP_EFUSE

This enables reading the cpuid from e-fuse, and deriving a static
MAC address from it. Without this, the ethernet interface on the
rockpro64 can't be used to boot.

Signed-off-by: Hugh Cole-Baker <sigmaris@gmail.com>
Cc: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
5 years agoMerge https://gitlab.denx.de/u-boot/custodians/u-boot-fsl-qoriq
Tom Rini [Mon, 16 Sep 2019 17:13:45 +0000 (13:13 -0400)]
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-fsl-qoriq

- Add emmc hs200 support
- Few bug fixes related to serdes, I2C, ethernet, etc

5 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)

5 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>
5 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>
5 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>
5 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>
5 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>
5 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
5 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>
5 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>
5 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>
5 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

5 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

5 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.

5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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

5 years agolx2160: Correct serdes frequency print.
Meenakshi Aggarwal [Wed, 4 Sep 2019 11:09:56 +0000 (16:39 +0530)]
lx2160: Correct serdes frequency print.

Suffix serdes frequency print with MHz

Signed-off-by: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
5 years agoarmv8: ls1028a: Updated serdes configuration for 0x13BB
Hou Zhiqiang [Wed, 4 Sep 2019 06:25:44 +0000 (06:25 +0000)]
armv8: ls1028a: Updated serdes configuration for 0x13BB

In SerDes protocol 0x13BB, lane C was erroneously assigned
to PCIE1, this is now updated to PCIE2

Fixes: 36f50b75238e ("armv8: ls1028a: Add other serdes
     protocal support")

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
5 years agoarmv8: fsl-layerscape: Fix typo in Layerscape PCIe config entry
Hou Zhiqiang [Tue, 27 Aug 2019 03:30:03 +0000 (03:30 +0000)]
armv8: fsl-layerscape: Fix typo in Layerscape PCIe config entry

The correct config entry is CONFIG_PCIE_LAYERSCAPE and this
typo results in skipping the fixup of Linux PCIe DT nodes.

Also enable the fixup when Layerscape Gen4 controller driver
is enabled.

Fixes: 4da0e52c9dc0 (armv8: fsl-layerscape: fix config dependency
     for layerscape pci code)

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
5 years agoboard: lx2160aqds: add support for SerDes protocol 14
Florin Chiculita [Mon, 26 Aug 2019 07:48:20 +0000 (10:48 +0300)]
board: lx2160aqds: add support for SerDes protocol 14

Add SerDes1 protocol 14 in the list of supported protocols.
This configuration enables one high-speed 100G port and PCIe x4.

Signed-off-by: Florin Chiculita <florinlaurentiu.chiculita@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
5 years agoboard: lx2160aqds: fix ethernet-phy compatible property
Florin Chiculita [Mon, 19 Aug 2019 15:56:46 +0000 (18:56 +0300)]
board: lx2160aqds: fix ethernet-phy compatible property

The code that generates the compatible property concatenates the
ethernet phy id and clause-compatible information without
separating them with a comma, resulting into no ethernet phy driver
getting loaded by Linux kernel.
Suffix phy_id_compatible_str with comma to fix this

Signed-off-by: Florin Chiculita <florinlaurentiu.chiculita@nxp.com>
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
5 years agoboard: fsl: lx2160a: implement board_fix_fdt
Pankaj Bansal [Sat, 17 Aug 2019 01:07:32 +0000 (01:07 +0000)]
board: fsl: lx2160a: implement board_fix_fdt

lx2160a rev1 and rev2 SoC has different pcie controller.
The pcie controller device tree node fields "compatible"
and registers names needs to be updated accordingly

This change in device tree is handled as part of
fdt fixups. These changes would only be applied
if the soc revision is not rev1.

Signed-off-by: Pankaj Bansal <pankaj.bansal@nxp.com>
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
5 years agoarmv8: fsl-layerscape: Update I2C clock divider
Chuanhua Han [Thu, 8 Aug 2019 09:04:58 +0000 (17:04 +0800)]
armv8: fsl-layerscape: Update I2C clock divider

By default, i2c input clock is programmed at
platform clk / 2 in u-boot, but this is not
correct for all the platforms,
Update I2C clock divider's default values as per
SoC (LS1012A, LS1028A, LX2160A and LS1088A).

Signed-off-by: Chuanhua Han <chuanhua.han@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
5 years agowatchdog: sp805_wdt: add expire_now method
Thomas Schaefer [Thu, 8 Aug 2019 08:00:31 +0000 (16:00 +0800)]
watchdog: sp805_wdt: add expire_now method

Add sp805_wdt_expire_now function.
expire_now method is required by U_BOOT_DRIVER.

Signed-off-by: Thomas Schaefer <thomas.schaefer@kontron.com>
Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
5 years agoarmv8: ls1028a: configure PMU's PCTBENR to enable WDT
Thomas Schaefer [Thu, 8 Aug 2019 08:00:30 +0000 (16:00 +0800)]
armv8: ls1028a: configure PMU's PCTBENR to enable WDT

The SP805-WDT module on LS1028A requires configuration of PMU's
PCTBENR register to enable watchdog counter decrement and reset
signal generation. The watchdog clock needs to be enabled first.

Signed-off-by: Thomas Schaefer <thomas.schaefer@kontron.com>
Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
5 years agoarm: dts: ls1028a-qds: define the MDIO MUX
Alex Marginean [Wed, 7 Aug 2019 16:30:03 +0000 (19:30 +0300)]
arm: dts: ls1028a-qds: define the MDIO MUX

Add the device-tree structure describing the MUX in board dts.

QDS board has an on-board RGMII PHY and 4 slots for extension cards.
All these can be accessed over MDIO through a MDIO MUX controlled
over I2C.

Signed-off-by: Alex Marginean <alexm.osslist@gmail.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
5 years agoboard/lx2160a: Fix MC firmware loading for SD boot
Pankaj Bansal [Wed, 17 Jul 2019 10:33:54 +0000 (10:33 +0000)]
board/lx2160a: Fix MC firmware loading for SD boot

During boot, u-boot reads MC, DPL, DPC firmware from SD card
and copies to DDR. Update DDR addresses to which these firmwares
are copied as per memory map of these firmwares on SD-card
so that isolation between the regions of various firmwares
is maintained to avoid geting overwritten.

Signed-off-by: Pankaj Bansal <pankaj.bansal@nxp.com>
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
5 years agoconfigs/ls1012ardb,lx2160ardb,ls1028ardb: add esdhc hs200 config
Yinbo Zhu [Tue, 16 Jul 2019 07:09:12 +0000 (15:09 +0800)]
configs/ls1012ardb,lx2160ardb,ls1028ardb: add esdhc hs200 config

Enable CONFIG_FSL_ESDHC_USE_PERIPHERAL_CLK and
CONFIG_MMC_HS200_SUPPORT config for
ls1012ardb, ls1012ardb, lx2160ardb
in defconfig file

Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
5 years agommc: fsl_esdhc: Add emmc hs200 support
Yinbo Zhu [Tue, 16 Jul 2019 07:09:11 +0000 (15:09 +0800)]
mmc: fsl_esdhc: Add emmc hs200 support

Add eMMC hs200 mode for ls1028a, ls1012a, lx2160a.
This increases eMMC performance.
Tuning procedure is currently not supported.

Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
5 years agodts: armv8: add emmc hs200 support for ls1028ardb
Yinbo Zhu [Tue, 16 Jul 2019 07:09:10 +0000 (15:09 +0800)]
dts: armv8: add emmc hs200 support for ls1028ardb

Add emmc hs200 support for ls1028ardb

Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
5 years agodts: armv8: add emmc hs200 support for lx2160ardb
Yinbo Zhu [Tue, 16 Jul 2019 07:09:09 +0000 (15:09 +0800)]
dts: armv8: add emmc hs200 support for lx2160ardb

Add emmc hs200 support for lx2160ardb

Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
5 years agodts: armv8: add emmc hs200 support for ls1012ardb
Yinbo Zhu [Tue, 16 Jul 2019 07:09:08 +0000 (15:09 +0800)]
dts: armv8: add emmc hs200 support for ls1012ardb

Add emmc hs200 support for ls1012ardb

Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
5 years agommc: Kconfig: Add FSL_ESDHC_USE_PERIPHERAL_CLK option
Yinbo Zhu [Tue, 16 Jul 2019 07:09:07 +0000 (15:09 +0800)]
mmc: Kconfig: Add FSL_ESDHC_USE_PERIPHERAL_CLK option

NXP fsl_esdhc controller supports two reference clocks:
platform clock and peripheral clock
Peripheral clock can provide higher clock frequency
which is required to be used for tuning of SD UHS mode
and eMMC HS200/HS400 modes.

Peripheral clock is enabled by default by defining config
option FSL_ESDHC_USE_PERIPHERAL_CLK if eMMC HS200/HS400 modes
are supported.

Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
5 years agofsl-layerscape: Add fsl_esdhc peripheral clock support
Yinbo Zhu [Tue, 16 Jul 2019 07:09:06 +0000 (15:09 +0800)]
fsl-layerscape: Add fsl_esdhc peripheral clock support

Add esdhc peripheral clock support
for NXP layerscape platforms: LS1046ARDB, LS1043ARDB,
LS1012ARDB, LS1028ARDB, LS1088ARDB, LX2160ARDB

Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
5 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

5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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

5 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

5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>