oweals/u-boot.git
5 years agoMerge branch '2019-08-11-master-imports'
Tom Rini [Mon, 12 Aug 2019 22:46:07 +0000 (18:46 -0400)]
Merge branch '2019-08-11-master-imports'

- environment cleanup
- HiKey 960 support
- Some PCI fixes

5 years agogitlab-ci: Consolidate some testsuite jobs
Tom Rini [Mon, 12 Aug 2019 14:09:08 +0000 (10:09 -0400)]
gitlab-ci: Consolidate some testsuite jobs

We do not need to split binman, buildman, dtoc and patman test suite
runs into 3 jobs.  Instead, run them as a single job.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agogitlab-ci: Add USER environment variable to buildman/patman tests
Tom Rini [Mon, 12 Aug 2019 14:02:18 +0000 (10:02 -0400)]
gitlab-ci: Add USER environment variable to buildman/patman tests

The way that some of the tests here are designed, they expect USER to be
set in the environment.  This is not the case in the docker images, so
set a reasonable value.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agocommon: Add a note about the effort to reduce common.h
Simon Glass [Fri, 2 Aug 2019 15:44:27 +0000 (09:44 -0600)]
common: Add a note about the effort to reduce common.h

This file has quite a lot of general definitions and include files. Add a
note about our intent to remove more of this.

The file should ultimately include the configuration and perhaps a very
other very common things used by most U-Boot files.

Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoDrop PCMCIA
Simon Glass [Thu, 1 Aug 2019 15:47:14 +0000 (09:47 -0600)]
Drop PCMCIA

This is no-longer used in U-Boot and has not been converted to driver
model. Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Rename environment.h to env_internal.h
Simon Glass [Fri, 2 Aug 2019 15:44:25 +0000 (09:44 -0600)]
env: Rename environment.h to env_internal.h

This file contains lots of internal details about the environment. Most
code can include env.h instead, calling the functions there as needed.

Rename this file and add a comment at the top to indicate its internal
nature.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
[trini: Fixup apalis-tk1.c]
Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoenv: Drop environment.h header file where not needed
Simon Glass [Thu, 1 Aug 2019 15:47:12 +0000 (09:47 -0600)]
env: Drop environment.h header file where not needed

This header file is now only used by files that access internal
environment features. Drop it from various places where it is not needed.

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Move TOTAL_MALLOC_LEN to environment.h
Simon Glass [Thu, 1 Aug 2019 15:47:11 +0000 (09:47 -0600)]
env: Move TOTAL_MALLOC_LEN to environment.h

This declaration is only used in three files. Although it relates to
malloc() it is actually only used during malloc() init. It uses CONFIG
options including CONFIG_ENV_ADDR which are defined only in environment.h
so this header must be included anyway, for TOTAL_MALLOC_LEN to be
correct.

Nove it to environment.h to simplify the common file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agoenv: Drop the double underscores in search.h
Simon Glass [Thu, 1 Aug 2019 15:47:10 +0000 (09:47 -0600)]
env: Drop the double underscores in search.h

There doesn't seem to be any good reason for using __ in the arguments in
this header file. A double underscore is usually reserved for compiler
features.

Drop these and remove the unnecessary 'extern' as well.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Drop the ACTION typedef
Simon Glass [Thu, 1 Aug 2019 15:47:09 +0000 (09:47 -0600)]
env: Drop the ACTION typedef

Avoid using a typedef here which is unnecessary. Add an 'env_' prefix to
both the enum and its members to make it clear that these are related to
the environment.

Add an ENV prefix to these two flags so that it is clear what they relate
to. Also move them to env.h since they are part of the public API. Use an
enum rather than a #define to tie them together.

Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Rename the redundancy flags
Simon Glass [Thu, 1 Aug 2019 15:47:08 +0000 (09:47 -0600)]
env: Rename the redundancy flags

Add an ENV prefix to these two flags so that it is clear what they relate
to. Also move them to env.h since they are part of the public API. Use an
enum rather than a #define to tie them together.

Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Drop _ENTRY
Simon Glass [Fri, 2 Aug 2019 15:44:19 +0000 (09:44 -0600)]
env: Drop _ENTRY

This typedef does not need to be defined in the search.h header since it
is only used in one file (hashtable.c). Remove it from the header and
change it to a struct.

Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Drop the ENTRY typedef
Simon Glass [Fri, 2 Aug 2019 15:44:18 +0000 (09:44 -0600)]
env: Drop the ENTRY typedef

U-Boot is not supposed to use typedef for structs anymore. Also this name
is the same as the ENTRY() macro used in assembler files, and 'entry'
itself is widely used in U-Boot (>8k matches).

Drop the typedef and rename the struct to env_entry to reduce confusion.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move callback definitions to env.h
Simon Glass [Thu, 1 Aug 2019 15:47:05 +0000 (09:47 -0600)]
env: Move callback definitions to env.h

These definitions are effectively part of the 'public' API of the
environment implementation since they do not require access to any
internal variables. Move them to the env.h header.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move env_valid to env.h
Simon Glass [Thu, 1 Aug 2019 15:47:04 +0000 (09:47 -0600)]
env: Move env_valid to env.h

This enum is somewhat widely used to determine if the environment is valid
or not. Move it to the common environment header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Rename environment to embedded_environment
Simon Glass [Thu, 1 Aug 2019 15:47:03 +0000 (09:47 -0600)]
env: Rename environment to embedded_environment

The name 'environment' is widely used in U-Boot so is not a very useful
name of a variable. Rename it to better indicate its purpose.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agoenv: Move env_reloc() to env.h
Simon Glass [Thu, 1 Aug 2019 15:47:02 +0000 (09:47 -0600)]
env: Move env_reloc() to env.h

Move env_reloc() over to the new header file.

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Move env_get_char() to env.h
Simon Glass [Thu, 1 Aug 2019 15:47:01 +0000 (09:47 -0600)]
env: Move env_get_char() to env.h

Move env_get_char() over to the new header file.

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Move get/set_default_env() to env.h
Simon Glass [Thu, 1 Aug 2019 15:47:00 +0000 (09:47 -0600)]
env: Move get/set_default_env() to env.h

Move these functions to the new header file and rename set_default_env()
to env_set_default() so that it has a consistent env_ prefix.

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Drop env_crc_update()
Simon Glass [Thu, 1 Aug 2019 15:46:59 +0000 (09:46 -0600)]
env: Drop env_crc_update()

This function is not defined or used in U-Boot. Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move env import/export functions to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:58 +0000 (09:46 -0600)]
env: Move env import/export functions to env.h

Move these functions to the new header file.

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Move env_load/save functions to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:57 +0000 (09:46 -0600)]
env: Move env_load/save functions to env.h

Move these function to the new header file.

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Move set_default_vars to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:56 +0000 (09:46 -0600)]
env: Move set_default_vars to env.h

Move this function to the new header file and rename it so it has an env_
prefix.

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Move env_fix_drivers() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:55 +0000 (09:46 -0600)]
env: Move env_fix_drivers() to env.h

Move this function over to the new header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: net: Move eth_parse_enetaddr() to net.c/h
Simon Glass [Thu, 1 Aug 2019 15:46:54 +0000 (09:46 -0600)]
env: net: Move eth_parse_enetaddr() to net.c/h

This function fits better with the network subsystem, so move it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Suggested-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move eth_env_get/set_enetaddr() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:53 +0000 (09:46 -0600)]
env: Move eth_env_get/set_enetaddr() to env.h

Move these two functions over to the new header file.

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Move env_get() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:52 +0000 (09:46 -0600)]
env: Move env_get() to env.h

Move env_get() over to the new header file.

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Move env_set() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:51 +0000 (09:46 -0600)]
env: Move env_set() to env.h

Move env_set() over to the new header file.

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agoenv: Move env_get_hex() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:50 +0000 (09:46 -0600)]
env: Move env_get_hex() to env.h

Move env_get_hex() over to the new header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move env_get_yesno() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:49 +0000 (09:46 -0600)]
env: Move env_get_yesno() to env.h

Move env_get_yesno() over to the new header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move env_get_ulong() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:48 +0000 (09:46 -0600)]
env: Move env_get_ulong() to env.h

Move env_get_ulong() over to the new header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move env_set_ulong() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:47 +0000 (09:46 -0600)]
env: Move env_set_ulong() to env.h

Move env_set_ulong() over to the new header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move env_set_hex() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:46 +0000 (09:46 -0600)]
env: Move env_set_hex() to env.h

Move env_set_hex() over to the new header file along with env_set_addr()
which uses it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move envmatch() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:45 +0000 (09:46 -0600)]
env: Move envmatch() to env.h

Move envmatch() over to the new header file. Also rename it to env_match()
to better line up with other functions.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move env_relocate() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:44 +0000 (09:46 -0600)]
env: Move env_relocate() to env.h

Move env_relocate() over to the new header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move env_init() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:43 +0000 (09:46 -0600)]
env: Move env_init() to env.h

Move env_init() over to the new header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move env_get_f() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:42 +0000 (09:46 -0600)]
env: Move env_get_f() to env.h

Move this function over to the new header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Move get_env_id() to env.h
Simon Glass [Thu, 1 Aug 2019 15:46:41 +0000 (09:46 -0600)]
env: Move get_env_id() to env.h

Move this function over to the new header file. Also rename it to have an
env_ prefix like the other functions.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoenv: Create a new file for environment functions
Simon Glass [Thu, 1 Aug 2019 15:46:40 +0000 (09:46 -0600)]
env: Create a new file for environment functions

At present we have environment.h but this file includes all the
environment-related header files as well as internals such as
default_environment.

It seems desirable to have a new header to hold the commonly used
environment functions, so that most files can avoid including all of this
unnecessary stuff.

Create a new env.h header and move one function over to it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agocommon: Remove video_setmem()
Simon Glass [Thu, 1 Aug 2019 15:46:39 +0000 (09:46 -0600)]
common: Remove video_setmem()

This function is no-longer defined in U-Boot. Drop the declaration from
common.h

Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agocommon: Move lcd_setmem() to lcd.h
Simon Glass [Thu, 1 Aug 2019 15:46:38 +0000 (09:46 -0600)]
common: Move lcd_setmem() to lcd.h

This function relates to lcd.h and is about to become obsolete with the
driver-model conversion. Move it out of common.h

Signed-off-by: Simon Glass <sjg@chromium.org>
5 years agocommon: Drop the dpram_... functions
Simon Glass [Thu, 1 Aug 2019 15:46:37 +0000 (09:46 -0600)]
common: Drop the dpram_... functions

These declarations are not used anymore, so drop them.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agocommon: Move gzip functions into a new gzip header
Simon Glass [Thu, 1 Aug 2019 15:46:36 +0000 (09:46 -0600)]
common: Move gzip functions into a new gzip header

As part of the effort to remove things from common.h, create a new header
for the gzip functions. Move the function declarations to it and add
missing documentation.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agoMAINTAINERS: Add entries for Android A/B and AVB
Igor Opaniuk [Thu, 8 Aug 2019 12:33:09 +0000 (15:33 +0300)]
MAINTAINERS: Add entries for Android A/B and AVB

1. Add myself as Android A/B and AVB maintainer
2. Add Sam Protsenko as Designated reviewer for A/B

Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
5 years agoMAINTAINERS: Add entry for HI3660 SoC
Manivannan Sadhasivam [Fri, 2 Aug 2019 15:10:11 +0000 (20:40 +0530)]
MAINTAINERS: Add entry for HI3660 SoC

Add MAINTAINERS entry for HI3660 SoC by adding the arch includes.
While doing so, adding myself as the co-maintainer for HISILICON
SoCs since I'm planning to maintain HI3660 SoC separately and considering
doing improvements to the existing HiSilicon SoC architecture.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
5 years agommc: Add support for HI3660 SoC reusing hi6220_dw_mmc driver
Manivannan Sadhasivam [Fri, 2 Aug 2019 15:10:10 +0000 (20:40 +0530)]
mmc: Add support for HI3660 SoC reusing hi6220_dw_mmc driver

This commit adds MMC driver support for HI3660 SoC reusing hi6220_dw_mmc
driver. Since HI3660 operates at different clock rate and uses fifo
mode now, let's introduce the platform data and utilize it for different
SoCs supported by this driver.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
5 years agoboard: hisilicon: Add support for Hikey960 board
Manivannan Sadhasivam [Fri, 2 Aug 2019 15:10:09 +0000 (20:40 +0530)]
board: hisilicon: Add support for Hikey960 board

This commit adds board support for Hikey960 board from Hisilicon. This
board is one of the Consumer Edition boards of the 96Boards family
powered by Kirin960 SoC.

More information about this board can be found in 96Boards website:
https://www.96boards.org/product/hikey960/

The initial supported/tested devices include:
 - Debug serial
 - SD

With these support, it's good enough for loading Linux Kernel from SD.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
5 years agoarm: dts: Add devicetree for Hikey960 board
Manivannan Sadhasivam [Fri, 2 Aug 2019 15:10:08 +0000 (20:40 +0530)]
arm: dts: Add devicetree for Hikey960 board

This commit adds devicetree for Hikey960 board. Most of the contents are
copied from Linux kernel with some modifications for u-boot. To be
more precise, SD card's speed related properties are removed due to a
bug in u-boot clock implementation. Hence forcing the SD controller to
work in standard speed.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
5 years agoarm: dts: Import HI3660 devicetree from Linux
Manivannan Sadhasivam [Fri, 2 Aug 2019 15:10:07 +0000 (20:40 +0530)]
arm: dts: Import HI3660 devicetree from Linux

This commit imports HI3660 SoC devicetree from Linux

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
5 years agospl: implement stack usage check
Simon Goldschmidt [Tue, 16 Jul 2019 20:30:36 +0000 (22:30 +0200)]
spl: implement stack usage check

This implements a stack usage check in SPL.

Many boards start up SPL to run code + data from one common, rather small
SRAM. To implement a sophisticated SPL binary size limit on such boards,
the stack size (as well as malloc size and global data size) must be
subtracted from this SRAM size.

However, to do that properly, the stack size first needs to be known.

This patch adds a new Kconfig option:
- SPL_SYS_REPORT_STACK_F_USAGE: memset(0xaa) the whole area of the stack
  very early and check stack usage based on this constant later before the
  stack is switched to DRAM

Initializing the stack and checking it is implemented in weak functions,
in case a board does not use the stack as saved in gd->start_addr_sp.

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agoserial_lpuart: Fix config check issue when using clk driver in SPL
Ye Li [Thu, 11 Jul 2019 03:33:34 +0000 (03:33 +0000)]
serial_lpuart: Fix config check issue when using clk driver in SPL

Should use CONFIG_IS_ENABLED not IS_ENABLED for CLK driver, so it will
check the CONFIG_SPL_CLK when building SPL

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
5 years agopci: intel: Fix configuration type based on secondary number
Ley Foon Tan [Fri, 24 May 2019 02:30:00 +0000 (10:30 +0800)]
pci: intel: Fix configuration type based on secondary number

This fix issue when access config from PCIe switch.

The PCIe controller need to send Type 0 config TLP if the targeting bus
matches with the secondary bus number, which is when the TLP is targeting
the immediate device on the link.

The PCIe controller send Type 1 config TLP if the targeting bus is
larger than the secondary bus, which is when the TLP is targeting the
device not immediate on the link.

Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
5 years agopci: intel: Fix error when enumerating multi-function PCIe device
Ley Foon Tan [Fri, 24 May 2019 02:29:59 +0000 (10:29 +0800)]
pci: intel: Fix error when enumerating multi-function PCIe device

Hardware return completion status non-zero when read from non exist
function in multi-function PCIe device. Return error will cause PCIe
enumeration fail.

Change it to return 0 and return value 0xffffffff when error.

Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
5 years agopci: intel: Increase TLP polling counter
Ley Foon Tan [Fri, 24 May 2019 02:29:58 +0000 (10:29 +0800)]
pci: intel: Increase TLP polling counter

Some PCIe devices require longer time to response.
Increase polling counter to 20000 (~100ms).

Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
5 years agoMerge branch 'master' of git://git.denx.de/u-boot-sh
Tom Rini [Sat, 10 Aug 2019 21:57:58 +0000 (17:57 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-sh

- R8A77980 V3H support

5 years agoMerge branch 'master' of git://git.denx.de/u-boot-usb
Tom Rini [Sat, 10 Aug 2019 16:21:27 +0000 (12:21 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-usb

- DaVinci USB updates
- Various OHCI fixes
- Gadget fixes

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

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

5 years agoARM: renesas: Add R8A77980 V3H Condor board code
Marek Vasut [Mon, 29 Jul 2019 17:59:44 +0000 (19:59 +0200)]
ARM: renesas: Add R8A77980 V3H Condor board code

Add board code for the R8A77980 V3H Condor board.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
5 years agoARM: renesas: Add R8A77980 V3H platform code
Marek Vasut [Mon, 29 Jul 2019 17:59:44 +0000 (19:59 +0200)]
ARM: renesas: Add R8A77980 V3H platform code

Add a few bits of platform code to support R8A77980 V3H SoC.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
5 years agoARM: dts: renesas: Add R8A77980 V3H DTs and headers
Marek Vasut [Mon, 29 Jul 2019 17:59:44 +0000 (19:59 +0200)]
ARM: dts: renesas: Add R8A77980 V3H DTs and headers

Import R8A77980 V3H DTs and headers from Linux 5.2.7 , commit 5697a9d3d55f.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
5 years agoclk: renesas: Add R8A77980 V3H clock tables
Marek Vasut [Mon, 29 Jul 2019 17:59:44 +0000 (19:59 +0200)]
clk: renesas: Add R8A77980 V3H clock tables

Import R8A77980 V3H clock tables from Linux 5.2.7 , commit 5697a9d3d55f.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
5 years agopinctrl: renesas: Add R8A77980 V3H PFC tables
Marek Vasut [Mon, 29 Jul 2019 17:59:44 +0000 (19:59 +0200)]
pinctrl: renesas: Add R8A77980 V3H PFC tables

Import R8A77980 V3H PFC tables from Linux 5.2.7 , commit 5697a9d3d55f.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
5 years agonet: sh_eth: Fix 64bit build warnings
Marek Vasut [Wed, 31 Jul 2019 12:48:17 +0000 (14:48 +0200)]
net: sh_eth: Fix 64bit build warnings

Fix various type warnings when building this driver for 64bit machine.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
5 years agonet: sh_eth: Add R8A77980 V3H gether support
Marek Vasut [Wed, 31 Jul 2019 10:58:06 +0000 (12:58 +0200)]
net: sh_eth: Add R8A77980 V3H gether support

The R8A77980 V3H gether needs a few minor adjustments to the sh_eth
driver, add them to support ethernet on R8A77980.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
5 years agoMerge branch 'master' of git://git.denx.de/u-boot-tegra
Tom Rini [Fri, 9 Aug 2019 17:21:53 +0000 (13:21 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-tegra

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

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

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

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

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

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

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

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

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

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

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

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

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

Display proper reset reason after the SoC info.

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

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

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

Disabling ASPM fixes incompatibilities with some PCIe cards

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

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

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

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

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

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

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

By keeping RESET_MOCI_CTRL low we avoid explicitly releasing
RESET_MOCI#.

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

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

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

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

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

This is a configuration option specific to the tegra controller.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Remove a stray break which suppresses some debug messages.

Indicated by cppcheck.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Enable SD slot on Intel Edison platform.

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

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>