project/bcm63xx/u-boot.git
7 years agorockchip: rk3368: grf: use shifted-constants
Philipp Tomsich [Tue, 25 Jul 2017 15:01:06 +0000 (17:01 +0200)]
rockchip: rk3368: grf: use shifted-constants

The RK3368 GRF header was still defines with a shifted-mask but with
non-shifted function selectors for the IOMUX defines.  As the RK3368
support is still fresh enough to allow a quick change, we do this now
before having more code use this.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agorockchip: rk3368: syscon: SGRF support for OF_PLATDATA
Philipp Tomsich [Fri, 28 Jul 2017 09:37:57 +0000 (11:37 +0200)]
rockchip: rk3368: syscon: SGRF support for OF_PLATDATA

In TPL we will need to configure security in the SGRF of the RK3368.
This change adds support for the SGRF as a syscon device, so we can
retrieve its address range through the syscon API in TPL (and can
avoid having to hard-code the address).

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agorockchip: rk3368: syscon: MSCH/PMUGRF/GRF support for OF_PLATDATA
Philipp Tomsich [Thu, 22 Jun 2017 21:25:57 +0000 (23:25 +0200)]
rockchip: rk3368: syscon: MSCH/PMUGRF/GRF support for OF_PLATDATA

The RK3368 has both a limited TPL size (just 0x7000 bytes) and the
added challenge of booting in AArch64, which increases the code size
for TPL (particularily when using the LP64 programming model).  For
this reason we expect the RK3368 to always use OF_PLATDATA for its
TPL stage.

This change adds support for the MSCH, PMUGRF and GRF register regions
in syscon, which are necessary for initialising the RK3368's DRAM
controller.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agorockchip: rk3368: spl: add memory layout for TPL and SPL
Philipp Tomsich [Fri, 14 Jul 2017 15:52:09 +0000 (17:52 +0200)]
rockchip: rk3368: spl: add memory layout for TPL and SPL

For the RK3368, we use a multi-stage boot-process consisting of the
following:
  1.  TPL: initalises DRAM, returns to boot-ROM (which then loads
           the next stage and transfers control to it)
  2.  SPL: a full-features SPL stage including OF_CONTROL and FIT
           image loading, which fetches the ATF, DTB and full U-Boot
   and then transfers control to the ATF (using the BL31
   parameter block to indicate the location of BL33/U-Boot)
  3.  ATF: sets up the secure world and exits to BL33 (i.e. a full
           U-Boot) in the normal world
  4.  full U-Boot

TPL/SPL and the full U-Boot are built from this tree and need to
run from distinct text addresses and with distinct initial stack
pointer addresses.

This commit sets up the configuration to run:
  -  TPL from the SRAM at 0xff8c0000 (note that the first 0x1000
       are reserved for use by the boot-ROM and contain the SP
 when the TPL is entered)
  -  SPL from DRAM at 0x0
  -  U-Boot from DRAM at 0x200000

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agorockchip: rk3368: spl: define COUNTER_FREQUENCY to 24MHz
Philipp Tomsich [Thu, 22 Jun 2017 21:31:55 +0000 (23:31 +0200)]
rockchip: rk3368: spl: define COUNTER_FREQUENCY to 24MHz

The BootROM of the RK3368 Boot ROM does not initialise cntfrq_el0.
This change defines COUNTER_FREQUENCY, which is used by the AArch64 init
code in arch/arm/cpu/armv8/start.S to set up cntfrq_el0.

If the counter-frequency is not correctly set up, the calculation of
delays using the ARMv8 generic timer can not work correctly.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agorockchip: rk3368: pmugrf: add definitions for os_reg[0..3]
Philipp Tomsich [Tue, 11 Jul 2017 11:42:55 +0000 (13:42 +0200)]
rockchip: rk3368: pmugrf: add definitions for os_reg[0..3]

On the RK3368 we use a TPL-stage similar to Rockchip's DDR init
(i.e. it initialises DRAM, leaves some info for the next stage and
returns to the BootROM).  To allow compatibility with Rockchip's DDR
init code, we use the same register os_reg2 in pmugrf for passing
this info (i.e. DRAM size and configuration) between stages.

This change adds the definitions for os_reg[0] through os_reg[3] to
the pmugrf structure for the RK3368.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agorockchip: rk3368: mkimage: add support for the RK3368
Philipp Tomsich [Wed, 12 Jul 2017 22:59:06 +0000 (00:59 +0200)]
rockchip: rk3368: mkimage: add support for the RK3368

This commit adds support for RK3368 SoC in mkimage.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agorockchip: rk3368: improve Kconfig text for the RK3368
Philipp Tomsich [Fri, 9 Jun 2017 22:47:53 +0000 (00:47 +0200)]
rockchip: rk3368: improve Kconfig text for the RK3368

The RK3368 option in Kconfig referred to the RK3328 (copy-and-paste)
and had a few typos and unnecessarily used UTF-8 characters.  While
fixing this, I also reformatted and further clarified the text
(e.g. made the grouping into a a big and little cluster of 4 cores
each explicit).

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agorockchip: Makefile: allow selective inclusion of sdram_common.o from TPL/SPL/U-Boot
Philipp Tomsich [Thu, 22 Jun 2017 23:04:47 +0000 (01:04 +0200)]
rockchip: Makefile: allow selective inclusion of sdram_common.o from TPL/SPL/U-Boot

The utility functions in sdram_common.c will be useful both for some
SPL implementations (and if unused, the linked will discard these
anyway) and for the full U-Boot stage.

This changes selects sdram_common.o through the $(SPL_TPL_) macro to
allow better control of its inclusion through the CONFIG_ROM,
CONFIG_SPL_RAM or CONFIG_TPL_RAM options.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agodrivers: spl: consistently use the $(SPL_TPL_) macro
Philipp Tomsich [Tue, 4 Jul 2017 09:29:55 +0000 (11:29 +0200)]
drivers: spl: consistently use the $(SPL_TPL_) macro

To simplify drivers/Makefile a bit when using TPL/SPL, we consistently
use the $(SPL_TPL_) macro to test for drivers that have separate
configuration symbols for the full U-boot, SPL and TPL stages.
Instead of explicitly repeating them in two separate if-guarded
sections of the Makefile, we can now simply list these options once.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agospl: add TPL_DRIVER_MISC_SUPPORT option
Philipp Tomsich [Tue, 4 Jul 2017 12:27:02 +0000 (14:27 +0200)]
spl: add TPL_DRIVER_MISC_SUPPORT option

This adds the TPL_DRIVER_MISC_SUPPORT option to allow activation of
DRIVER_MISC_SUPPORT for devices that need it in the TPL stage.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agospl: consistently use $(SPL_TPL_) to select features for SPL and TPL builds
Philipp Tomsich [Tue, 4 Jul 2017 09:16:47 +0000 (11:16 +0200)]
spl: consistently use $(SPL_TPL_) to select features for SPL and TPL builds

To allow for a finer-grained control of features for TPL and SPL
builds all modules/boot-methods/etc. need to be consistently selected
based on the $(SPL_TPL_) macros.

This allows splitting the associated config-options in Kconfig: we
don't split the Kconfig options here and now, as this should happen on
an as-needed basis, whenever someone needs a feature/boot-method/etc.
in their TPL.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agolib: spl: differentiate between TPL and SPL for libfdt/of_control/of_platdata
Philipp Tomsich [Tue, 4 Jul 2017 09:09:55 +0000 (11:09 +0200)]
lib: spl: differentiate between TPL and SPL for libfdt/of_control/of_platdata

This splits the compilation of code modules for TPL and SPL for
OF_CONTROL (and related) features between TPL and SPL.  The typical
use-case of this is a TPL stage that uses OF_PLATDATA at TPL and
provides full OF_CONTROL at SPL (e.g. on the RK3368).

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agospl: Kconfig: split SYS_MALLOC_SIMPLE for TPL and SPL
Philipp Tomsich [Fri, 30 Jun 2017 16:57:25 +0000 (18:57 +0200)]
spl: Kconfig: split SYS_MALLOC_SIMPLE for TPL and SPL

As include/malloc.h already checks for SYS_MALLOC_SIMPLE using the
CONFIG_IS_ENABLED macro, we need to move to having separate entries
as we switch to fully separate configuration for SPL and TPL.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agospl: allow a separate TEXT_BASE, LDSCRIPT and MAX_SIZE for TPL
Philipp Tomsich [Tue, 4 Jul 2017 12:47:46 +0000 (14:47 +0200)]
spl: allow a separate TEXT_BASE, LDSCRIPT and MAX_SIZE for TPL

For the bringup of the RK3368, we need to support TPL and SPL running
from different addresses... which requires both stages to use a
distinct TEXT_BASE.

This commit adds support for having a separate LDSCRIPT for TPL (which
is expected to make use of the TPL_MAX_SIZE define) and for having a
the option of defining TPL_TEXT_BASE and having the TPL stage linked
against this address.

Note that the handling of the TEXT_BASE is designed to not interfere
with the previous assumption that SPL_TEXT_BASE should be used for TPL
as well, unless TPL_TEXT_BASE is defined.  For this reason, the test
in Makefile.spl uses the following (seemingly redundant checks):
 1. looks for $(SPL_TPL_)TEXT_BASE
 2. looks for SPL_TEXT_BASE (even when building in TPL)

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agoarmv8: spl: Support separate stack for TPL
Philipp Tomsich [Tue, 4 Jul 2017 09:02:14 +0000 (11:02 +0200)]
armv8: spl: Support separate stack for TPL

To allow a TPL and SPL to run from different addresses/memories, we
need to split setup of the TPL and SPL stacks.  To do so, we introduce
CONFIG_TPL_STACK (not listed in Kconfig) which can be used to override
the initial stack pointer for TPL.

To provide backward compatibility for existing boards, this is added
as an optional configuration item and the normal search order (i.e.
SPL_STACK, then SYS_STACK) apply if not defined.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoarmv8: move low-level assembly functions into function-sections
Philipp Tomsich [Tue, 4 Jul 2017 08:04:54 +0000 (10:04 +0200)]
armv8: move low-level assembly functions into function-sections

TPL builds today don't need to call into firmware or set up the MMU
(if this changes, it should be controlled through a config option
whether to include this or not), but include the needed support code
for this anyway.  By moving these unused low-level functions into
seperate function-sections, the linker can garbage-collect the unused
sections.

Note that (if DM support is enabled), there will be a call to the
cache-flushing code from alloc_priv(...) in drivers/core/device.c.
This then add 52 bytes of binary size (an increase from 20589 to 20641
bytes) compared to completely removing this code.

Even for a feature-rich TPL (including DM support as for the RK3368),
this equates to a size difference of significantly more than 10% in
TPL binary size.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agospl: dm: use CONFIG_IS_ENABLED to test for the DM option
Philipp Tomsich [Fri, 30 Jun 2017 17:02:53 +0000 (19:02 +0200)]
spl: dm: use CONFIG_IS_ENABLED to test for the DM option

Even though there's now a TPL_DM configuration option, the spl logic
still checks for SPL_DM and thus does not pick up the proper config
option.

This introduces the use of CONFIG_IS_ENABLED(DM) in spl.c to always
pick up the desired configuration option instead of having a
hard-coded check for the SPL variant.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agospl: dm: Kconfig: split OF_CONTROL and OF_PLATDATA between SPL and TPL
Philipp Tomsich [Thu, 29 Jun 2017 09:11:21 +0000 (11:11 +0200)]
spl: dm: Kconfig: split OF_CONTROL and OF_PLATDATA between SPL and TPL

For the RK3368, we want to use OF_PLATDATA in TPL, but full OF_CONTROL
in SPL: this requires the introduction of a new family of
configuration options to decouple SPL_OF_CONTROL and SPL_OF_PLATDATA
from TPL.

Consequently, Makefile.spl needs to be adjusted to test for these
configuration items through the $(SPL_TPL_) macro instead of
hard-coding the SPL variant.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agospl: dm: Kconfig: split CLK support for SPL and TPL
Philipp Tomsich [Wed, 28 Jun 2017 23:45:01 +0000 (01:45 +0200)]
spl: dm: Kconfig: split CLK support for SPL and TPL

Introduce TPL_CLK to allow finer-grained selection of TPL features
for feature-rich (i.e. DM-based) TPL stages.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agospl: dm: Kconfig: SPL_CLK depends on SPL_DM
Philipp Tomsich [Wed, 28 Jun 2017 23:44:07 +0000 (01:44 +0200)]
spl: dm: Kconfig: SPL_CLK depends on SPL_DM

SPL_CLK should also depend on SPL_DM (and not just on CLK).
Add the additional dependency.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agospl: dm: Kconfig: introduce TPL_RAM (in analogy to SPL_RAM)
Philipp Tomsich [Wed, 28 Jun 2017 23:42:40 +0000 (01:42 +0200)]
spl: dm: Kconfig: introduce TPL_RAM (in analogy to SPL_RAM)

To allow finer grained selection of features for TPL, we introduce
TPL_RAM (in analogy to SPL_RAM).

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agospl: dm: Kconfig: SPL_RAM depends on SPL_DM
Philipp Tomsich [Wed, 28 Jun 2017 23:41:52 +0000 (01:41 +0200)]
spl: dm: Kconfig: SPL_RAM depends on SPL_DM

This commit models the dependency from SPL_RAM to SPL_DM in Kconfig.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agospl: dm: Kconfig: split REGMAP/SYSCON support for TPL from SPL
Philipp Tomsich [Wed, 28 Jun 2017 23:38:49 +0000 (01:38 +0200)]
spl: dm: Kconfig: split REGMAP/SYSCON support for TPL from SPL

This change introduces TPL variants of the REGMAP and SYSCON config
options (i.e. TPL_REGMAP and TPL_SYSCON in analogy to SPL_REGMAP and
SPL_SYSCON) in preparation of a finer-grained feature selection for
building feature-rich TPL variants.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agospl: dm: Kconfig: use more specific prereqs for SPL_REGMAP and SPL_SYSCON
Philipp Tomsich [Wed, 28 Jun 2017 23:37:10 +0000 (01:37 +0200)]
spl: dm: Kconfig: use more specific prereqs for SPL_REGMAP and SPL_SYSCON

SPL_REGMAP and SPL_SYSCON were marked as depending on DM, when a
stricter dependency of SPL_DM was possible.  This commit makes the
prereq more specific.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agospl: dm: Kconfig: fix help text for SPL/TPL confusion
Philipp Tomsich [Fri, 28 Jul 2017 15:03:03 +0000 (17:03 +0200)]
spl: dm: Kconfig: fix help text for SPL/TPL confusion

TPL_NAND_SUPPORT, TPL_SERIAL_SUPPORT, TPL_SPI_FLASH_SUPPORT and
TPL_SPI_SUPPORT refer to SPL in their help text.  This fixes up
the description to correctly reference TPL.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agospl: use TPL_SYS_MALLOC_F_LEN for TPL
Philipp Tomsich [Fri, 28 Jul 2017 09:06:03 +0000 (11:06 +0200)]
spl: use TPL_SYS_MALLOC_F_LEN for TPL

The (upstream) changes to break up SYS_MALLOC_F_LEN for the full
U-Boot and the SPL stage, break TPL (if simple malloc is enabled in
TPL).

This adds support for a TPL-variant of SYS_MALLOC_F_LEN:
- adds TPL_SYS_MALLOC_F_LEN
- rewrites a test for CONFIG_SPL_SYS_MALLOC_F_LEN to access
  CONFIG_VAL(SYS_MALLOC_F_LEN)

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agorockchip: back-to-bootrom: simplify the #ifdef-check for LIBCOMMON in TPL/SPL
Philipp Tomsich [Thu, 29 Jun 2017 09:28:15 +0000 (11:28 +0200)]
rockchip: back-to-bootrom: simplify the #ifdef-check for LIBCOMMON in TPL/SPL

With the finer-grained control over LIBCOMMON_SUPPORT for TPL/SPL (i.e.
with the newly introduced distinction between TPL_LIBCOMMON_SUPPORT and
SPL_LIBCOMMON_SUPPORT), we can simplify the #ifdef-check to simply use
CONFIG_IS_ENABELD.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
[fixed up to use 'puts' and LIBCOMMON:]
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agorockchip: back-to-bootrom: split BACK_TO_BOOTROM for TPL/SPL
Philipp Tomsich [Thu, 29 Jun 2017 09:21:15 +0000 (11:21 +0200)]
rockchip: back-to-bootrom: split BACK_TO_BOOTROM for TPL/SPL

The back-to-bootrom option is rather unfortunately named
  CONFIG_ROCKCHIP_SPL_BACK_TO_BOOTROM
instead of
  CONFIG_SPL_ROCKCHIP_BACK_TO_BOOTROM

To make is selectable through CONFIG_IS_ENABLED(ROCKCHIP_BACK_TO_BOOTROM),
we need to rename it.  At the same time, we introduce a TPL_ variant of
the option to give us finer-grained control over when it should be used.

This change is motivated by our RK3368 boot process, which returns to
the boot ROM only from the TPL stage, but not from the SPL stage.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
[added fix-up for evb-rk3229_defconfig and phycore-rk3288_defconfig:]
[fixed inverted CONFIG_IS_ENABLED test for rk3288:]
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
include/configs/rock.h: undef

7 years agorockchip: back-to-bootrom: add 'back-to-bootrom' support for AArch64
Philipp Tomsich [Thu, 22 Jun 2017 22:05:38 +0000 (00:05 +0200)]
rockchip: back-to-bootrom: add 'back-to-bootrom' support for AArch64

The back-to-bootrom support for Rockchip is equivalent to an
(assembly) implementation of setjmp/longjmp (i.e. it saves the
stack-pointer, link-register and callee-saved registers). Up until
now, this had only been implemented for AArch32 (i.e. ARMv7 or older),
which puts the new ARMv8 devices (which boot in AArch64 mode) at a
slight disadvantage.

To allow use of the 'back-to-bootrom' feature on new devices (e.g. the
RK3368), this commit adds an implementation for AArch64.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agospl: configure 'return to bootrom' separately for SPL and TPL
Philipp Tomsich [Tue, 4 Jul 2017 12:24:53 +0000 (14:24 +0200)]
spl: configure 'return to bootrom' separately for SPL and TPL

On the RK3368, we want our TPL to use the 'return to bootrom' boot
method (to have the bootrom load up the SPL stage) and then continue
with different boot methods (MMC, SPI, etc.) from SPL.

This adds the config option needed to control the availabily of the
'return to bootrom' boot-method separately for the TPL stage.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agospl: add a 'return to bootrom' boot method
Philipp Tomsich [Thu, 22 Jun 2017 21:38:36 +0000 (23:38 +0200)]
spl: add a 'return to bootrom' boot method

Some devices (e.g. the RK3368) have only limited SRAM, but provide
support for loading the next boot stage after our SPL performs basic
setup (e.g. DRAM).

For target systems like these, we add a boot device BOOTROM that will
invoke a board-specific hook to return to the bootrom (if supported).

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agoarm: omap: Fix 'get_device_type()' for OMAP34XX
Derald D. Woods [Mon, 31 Jul 2017 12:41:40 +0000 (07:41 -0500)]
arm: omap: Fix 'get_device_type()' for OMAP34XX

Fixes: 00bbe96ebabb ("arm: omap: Unify get_device_type() function")
The control status register value is embedded in a structure somewhere
in SRAM, with the last refactoring effort. This patch allows OMAP3 EVM
(TMDSEVM3530) to boot again using the known control register base and
offset for 'readl', for the OMAP34XX case.

Signed-off-by: Derald D. Woods <woods.technical@gmail.com>
[trini: Change to if/else, add comment about it.]
Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agoConvert CONFIG_NAND to Kconfig
Adam Ford [Mon, 7 Aug 2017 21:37:18 +0000 (17:37 -0400)]
Convert CONFIG_NAND to Kconfig

This converts the following to Kconfig:
   CONFIG_NAND

Signed-off-by: Adam Ford <aford173@gmail.com>
[trini: Sync up a few more, add imply's]
Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agoomap3: evm: Update board, defconfig, and maintainer file
Derald D. Woods [Sun, 6 Aug 2017 05:00:21 +0000 (00:00 -0500)]
omap3: evm: Update board, defconfig, and maintainer file

This patch brings the OMAP3 EVM to a bootable state, on master, as of
v2017.09-rc1.

Signed-off-by: Derald D. Woods <woods.technical@gmail.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoREADME: Drop information about commands
Simon Glass [Fri, 4 Aug 2017 22:35:06 +0000 (16:35 -0600)]
README: Drop information about commands

Most of this is duplicated in Kconfig help. Add some of that which is not,
and remove the help from the README.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoDrop config_cmd_all.h
Simon Glass [Fri, 4 Aug 2017 22:35:05 +0000 (16:35 -0600)]
Drop config_cmd_all.h

This file does not include all commands and has not for a while. Let's
drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_ZFS to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:35:04 +0000 (16:35 -0600)]
Convert CONFIG_CMD_ZFS to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_ZFS

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_ZBOOT to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:35:03 +0000 (16:35 -0600)]
Convert CONFIG_CMD_ZBOOT to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_ZBOOT

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_UUID to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:35:02 +0000 (16:35 -0600)]
Convert CONFIG_CMD_UUID to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_UUID

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_UNIVERSE to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:35:01 +0000 (16:35 -0600)]
Convert CONFIG_CMD_UNIVERSE to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_UNIVERSE

Since no board uses this, perhaps we should drop this command?

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_TSI148 to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:35:00 +0000 (16:35 -0600)]
Convert CONFIG_CMD_TSI148 to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_TSI148

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_TRACE to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:59 +0000 (16:34 -0600)]
Convert CONFIG_CMD_TRACE to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_TRACE

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_YAFFS2 to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:58 +0000 (16:34 -0600)]
Convert CONFIG_CMD_YAFFS2 to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_YAFFS2

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_THOR_DOWNLOAD to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:57 +0000 (16:34 -0600)]
Convert CONFIG_CMD_THOR_DOWNLOAD to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_THOR_DOWNLOAD

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoKconfig: Drop CONFIG_CMD_TFTP
Simon Glass [Fri, 4 Aug 2017 22:34:56 +0000 (16:34 -0600)]
Kconfig: Drop CONFIG_CMD_TFTP

This is not a valid CONFIG option. Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_TERMINAL to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:55 +0000 (16:34 -0600)]
Convert CONFIG_CMD_TERMINAL to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_TERMINAL

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_TCA642X to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:54 +0000 (16:34 -0600)]
Convert CONFIG_CMD_TCA642X to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_TCA642X

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agogpio: Drop sx151x driver
Simon Glass [Fri, 4 Aug 2017 22:34:53 +0000 (16:34 -0600)]
gpio: Drop sx151x driver

This driver is not used in U-Boot. Drop it and its associated CONFIG
options.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_STRINGS to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:52 +0000 (16:34 -0600)]
Convert CONFIG_CMD_STRINGS to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_STRINGS

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoKconfig: Sort the memory commands
Simon Glass [Fri, 4 Aug 2017 22:34:51 +0000 (16:34 -0600)]
Kconfig: Sort the memory commands

These are currently not quite in alphabetical order. Before adding more,
sort them. Not all options have a CMD_ prefix, so ignore that when
sorting.

Signed-off-by: Simon Glass <sjg@chromium.org>
Suggested-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_SPL_WRITE_SIZE to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:50 +0000 (16:34 -0600)]
Convert CONFIG_CMD_SPL_WRITE_SIZE to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_SPL_WRITE_SIZE

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_SPL_NAND_OFS to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:49 +0000 (16:34 -0600)]
Convert CONFIG_CMD_SPL_NAND_OFS to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_SPL_NAND_OFS

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_SPL to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:48 +0000 (16:34 -0600)]
Convert CONFIG_CMD_SPL to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_SPL

Note that trats does not actually use SPL, so this option can no-longer be
set.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_SH_ZIMAGEBOOT to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:47 +0000 (16:34 -0600)]
Convert CONFIG_CMD_SH_ZIMAGEBOOT to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_SH_ZIMAGEBOOT

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_SF_TEST to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:46 +0000 (16:34 -0600)]
Convert CONFIG_CMD_SF_TEST to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_SF_TEST

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_SDRAM to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:45 +0000 (16:34 -0600)]
Convert CONFIG_CMD_SDRAM to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_SDRAM

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_SCSI to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:44 +0000 (16:34 -0600)]
Convert CONFIG_CMD_SCSI to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_SCSI

Also update the Makefile to use CONFIG_CMD_SCSI instead of CONFIG_SCSI to
enable the command, fixing an earlier error.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
[trini: Rework to default y if SCSI, drop cl-som-am57x which did not use
CMD_SCSI for real]
Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agoConvert CONFIG_CMD_SAVES to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:43 +0000 (16:34 -0600)]
Convert CONFIG_CMD_SAVES to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_SAVES

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoKconfig: sandbox: Drop CONFIG_CMD_SANDBOX option
Simon Glass [Fri, 4 Aug 2017 22:34:42 +0000 (16:34 -0600)]
Kconfig: sandbox: Drop CONFIG_CMD_SANDBOX option

This is no-longer used. Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_REISER to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:41 +0000 (16:34 -0600)]
Convert CONFIG_CMD_REISER to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_REISER

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_REGINFO to Kconfig
Christophe Leroy [Fri, 4 Aug 2017 22:34:40 +0000 (16:34 -0600)]
Convert CONFIG_CMD_REGINFO to Kconfig

This patch converts CONFIG_CMD_REGINFO to Kconfig

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoKconfig: Convert CMD_READ to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:39 +0000 (16:34 -0600)]
Kconfig: Convert CMD_READ to Kconfig

Convert this option and enable it in sandbox. Also correct a bug which
was introduced with the block-device driver model conversion.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoKconfig: Drop CONFIG_CMD_PORTIO and associated command
Simon Glass [Fri, 4 Aug 2017 22:34:38 +0000 (16:34 -0600)]
Kconfig: Drop CONFIG_CMD_PORTIO and associated command

This command is not used by any board. It also looks quite similar to the
'iod' and 'iow' commands which use the correct I/O macros.

Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_PCMCIA to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:37 +0000 (16:34 -0600)]
Convert CONFIG_CMD_PCMCIA to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_PCMCIA

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoKconfig; Drop CONFIG_IDE_TI_CARDBUS and associated driver
Simon Glass [Fri, 4 Aug 2017 22:34:36 +0000 (16:34 -0600)]
Kconfig; Drop CONFIG_IDE_TI_CARDBUS and associated driver

This driver is not used by any board. Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoKconfig: Drop CONFIG_CMD_PCI_ENUM
Simon Glass [Fri, 4 Aug 2017 22:34:35 +0000 (16:34 -0600)]
Kconfig: Drop CONFIG_CMD_PCI_ENUM

This option enables the 'pci enum' command. It is only enabled by a few
board and these have not yet been converted to driver model, which always
enables this command. It seems easiest to just remove this option.

The affected boards can be converted to use driver model for PCI if
needed.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_PCI to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:34 +0000 (16:34 -0600)]
Convert CONFIG_CMD_PCI to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_PCI

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoKconfig: Drop CONFIG_CMD_PCA953X_INFO
Simon Glass [Fri, 4 Aug 2017 22:34:33 +0000 (16:34 -0600)]
Kconfig: Drop CONFIG_CMD_PCA953X_INFO

It does not seem worth having an option to enable another sub-command in
this legacy driver. Drop this option so that the sub-command is always
available.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_PCA953X to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:32 +0000 (16:34 -0600)]
Convert CONFIG_CMD_PCA953X to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_PCA953X

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_ONENAND to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:31 +0000 (16:34 -0600)]
Convert CONFIG_CMD_ONENAND to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_ONENAND

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_MTDPARTS_SPREAD to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:30 +0000 (16:34 -0600)]
Convert CONFIG_CMD_MTDPARTS_SPREAD to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_MTDPARTS_SPREAD

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
[trini: Make this a bool not a string]
Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agoConvert CONFIG_CMD_MMC_SPI to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:29 +0000 (16:34 -0600)]
Convert CONFIG_CMD_MMC_SPI to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_MMC_SPI

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoKconfig: Sort the device-access commands
Simon Glass [Fri, 4 Aug 2017 22:34:28 +0000 (16:34 -0600)]
Kconfig: Sort the device-access commands

These are currently not quite in alphabetical order. Before adding more,
sort them.

Signed-off-by: Simon Glass <sjg@chromium.org>
Suggested-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoKconfig: Drop CONFIG_CMD_MEM
Simon Glass [Fri, 4 Aug 2017 22:34:27 +0000 (16:34 -0600)]
Kconfig: Drop CONFIG_CMD_MEM

This is not actually used in U-Boot. Most likely it means
CONFIG_CMD_MEMORY so change all occurences to that.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoConvert CONFIG_CMD_MAX6957 to Kconfig
Simon Glass [Fri, 4 Aug 2017 22:34:26 +0000 (16:34 -0600)]
Convert CONFIG_CMD_MAX6957 to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_MAX6957

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agoboard: ks2: README: Update NAND wording
Cooper Jr., Franklin [Thu, 10 Aug 2017 02:29:22 +0000 (21:29 -0500)]
board: ks2: README: Update NAND wording

Traditional KS2 devices supported NAND via the AEMIF peripheral. However,
66AK2G doesn't use the AEMIF but rather the GPMC for NAND. Therefore,
clarify some statements to indicate only certain devices have AEMIF and
in other places just say NAND instead of AEMIF NAND

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Acked-by: Roger Quadros <rogerq@ti.com>
7 years agoat91, smartweb: use SPL_SYS_MALLOC_F_LEN
Heiko Schocher [Tue, 8 Aug 2017 13:10:24 +0000 (15:10 +0200)]
at91, smartweb: use SPL_SYS_MALLOC_F_LEN

commit f1896c45cb2f: spl: make SPL and normal u-boot stage use independent SYS_MALLOC_F_LEN
introduced independent SYS_MALLOC_F_LEN for SPL and U-Boot.

Use it on the smartweb board, as above commit broke
the smartweb board.

Signed-off-by: Heiko Schocher <hs@denx.de>
7 years agoOMAP3: omap3logic: Fix DDR Pin Mux
Adam Ford [Tue, 8 Aug 2017 14:00:27 +0000 (09:00 -0500)]
OMAP3: omap3logic: Fix DDR Pin Mux

The 512 MB DDR version of SOM's use CS0 and CS1.  CS1 is not correctly
setup in the pin muxing.  This causes erratic behavior on suspend/resume

This fix has been tested on both 256 and 512 MB DDR versions.

Signed-off-by: Adam Ford <aford173@gmail.com>
7 years agotravis-ci: Emulate 'make tests'
Tom Rini [Mon, 7 Aug 2017 19:24:50 +0000 (15:24 -0400)]
travis-ci: Emulate 'make tests'

The 'tests' target will run sandbox, sandbox_spl and sandbox_flattree in
test.py and in the case of sandbox_spl ensure that we just run the
specific tests for that build.  Update our matrix to perform similar
test.py runs.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agoconfigs: Resync with savedefconfig
Tom Rini [Fri, 11 Aug 2017 15:20:19 +0000 (11:20 -0400)]
configs: Resync with savedefconfig

Rsync all defconfig files using moveconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agoMerge git://git.denx.de/u-boot-fsl-qoriq
Tom Rini [Fri, 11 Aug 2017 11:10:18 +0000 (07:10 -0400)]
Merge git://git.denx.de/u-boot-fsl-qoriq

7 years agoMerge git://git.denx.de/u-boot-i2c
Tom Rini [Thu, 10 Aug 2017 11:22:59 +0000 (07:22 -0400)]
Merge git://git.denx.de/u-boot-i2c

7 years agoMerge git://www.denx.de/git/u-boot-marvell
Tom Rini [Thu, 10 Aug 2017 11:22:56 +0000 (07:22 -0400)]
Merge git://www.denx.de/git/u-boot-marvell

7 years agoi2c: designware: Allow sending restart conditions
Marek Vasut [Mon, 7 Aug 2017 18:45:31 +0000 (20:45 +0200)]
i2c: designware: Allow sending restart conditions

Allow sending restart conditions upon direction change as this is
required by some chips.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefan Roese <sr@denx.de>
Cc: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Heiko Schocher <hs@denx.de>
Reviewed-by: Heiko Schocher <hs@denxx.de>
7 years agoConvert CONFIG_SYS_I2C_OMAP24XX to Kconfig
Adam Ford [Mon, 7 Aug 2017 18:11:34 +0000 (13:11 -0500)]
Convert CONFIG_SYS_I2C_OMAP24XX to Kconfig

This converts the following to Kconfig:
   CONFIG_SYS_I2C_OMAP24XX

Signed-off-by: Adam Ford <aford173@gmail.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
7 years agonet: mvpp2x: Set BM poll size once during priv probe
Stefan Chulski [Wed, 9 Aug 2017 07:37:52 +0000 (10:37 +0300)]
net: mvpp2x: Set BM poll size once during priv probe

Set BM poll size once during priv probe and do not
overwrite it during port probe procedure. Pool is common for
all CP ports.

Signed-off-by: Stefan Chulski <stefanc@marvell.com>
Tested-by: iSoC Platform CI <ykjenk@marvell.com>
Reviewed-by: Nadav Haklai <nadavh@marvell.com>
Reviewed-by: Igal Liberman <igall@marvell.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Stefan Roese <sr@denx.de>
7 years agonet: mvpp2x: remove TX drain from transmit routine
Stefan Chulski [Wed, 9 Aug 2017 07:37:51 +0000 (10:37 +0300)]
net: mvpp2x: remove TX drain from transmit routine

TX drain in transmit procedure could cause issues due
to race between drain procedure and transmition of descriptor
between AGGR TXQ and physical TXQ.
TXQ will be cleared before moving to Linux by stop procedure.

Signed-off-by: Stefan Chulski <stefanc@marvell.com>
Tested-by: iSoC Platform CI <ykjenk@marvell.com>
Reviewed-by: Nadav Haklai <nadavh@marvell.com>
Reviewed-by: Igal Liberman <igall@marvell.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Stefan Roese <sr@denx.de>
7 years agonet: mvpp2x: Set BM pool high address
Stefan Chulski [Wed, 9 Aug 2017 07:37:50 +0000 (10:37 +0300)]
net: mvpp2x: Set BM pool high address

MVPP22 driver support 64 Bit arch and require BM pool
high address configuration.

Signed-off-by: Stefan Chulski <stefanc@marvell.com>
Tested-by: iSoC Platform CI <ykjenk@marvell.com>
Reviewed-by: Nadav Haklai <nadavh@marvell.com>
Reviewed-by: Igal Liberman <igall@marvell.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Stefan Roese <sr@denx.de>
7 years agonet: mvpp2x: Remove IRQ configuration from U-Boot
Stefan Chulski [Wed, 9 Aug 2017 07:37:49 +0000 (10:37 +0300)]
net: mvpp2x: Remove IRQ configuration from U-Boot

Remove IRQ configuration from U-Boot PP driver.
U-Boot don't use interrupts and configuration of IRQ in U-Boot
caused crashes in Linux shared interrupt mode.
Also interrupt use is redundant in RX routine since a single RX
queue is used.

Signed-off-by: Stefan Chulski <stefanc@marvell.com>
Tested-by: iSoC Platform CI <ykjenk@marvell.com>
Reviewed-by: Nadav Haklai <nadavh@marvell.com>
Reviewed-by: Igal Liberman <igall@marvell.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Stefan Roese <sr@denx.de>
7 years agonet: mvpp2x: remove MBUS configurations from MvPP22 driver
Stefan Chulski [Wed, 9 Aug 2017 07:37:48 +0000 (10:37 +0300)]
net: mvpp2x: remove MBUS configurations from MvPP22 driver

MBUS driver were replaced by AXI in PPv22 and relevant
only for PPv21.

Signed-off-by: Stefan Chulski <stefanc@marvell.com>
Tested-by: iSoC Platform CI <ykjenk@marvell.com>
Reviewed-by: Nadav Haklai <nadavh@marvell.com>
Reviewed-by: Igal Liberman <igall@marvell.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Stefan Roese <sr@denx.de>
7 years agonet: mvpp2x: decrease size of AGGR_TXQ and CPU_DESC_CHUNK
Stefan Chulski [Wed, 9 Aug 2017 07:37:47 +0000 (10:37 +0300)]
net: mvpp2x: decrease size of AGGR_TXQ and CPU_DESC_CHUNK

U-boot use single physical tx queue with size 16 descriptors.
So aggregated tx queue size should be equal to physical tx queue
and cpu descriptor chunk(number of descriptors delivered from
physical tx queue to aggregated tx queue by one chunk) shouldn't be
larger than physical tx queue.

Fix:
Set AGGR_TXQ and CPU_DESC_CHUNK to be 16 descriptors, same as
physical TXQ.

Signed-off-by: Stefan Chulski <stefanc@marvell.com>
Tested-by: iSoC Platform CI <ykjenk@marvell.com>
Reviewed-by: Nadav Haklai <nadavh@marvell.com>
Reviewed-by: Igal Liberman <igall@marvell.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Stefan Roese <sr@denx.de>
7 years agonet: mvpp2x: fix BM configuration overrun issue
Stefan Chulski [Wed, 9 Aug 2017 07:37:46 +0000 (10:37 +0300)]
net: mvpp2x: fix BM configuration overrun issue

Issue:
BM counters were overrun by probe that called per Network interface and
caused release of wrong number of buffers during remove procedure.

Fix:
Use probe_done and num_ports to call init and remove procedure
once per communication controller.

Signed-off-by: Stefan Chulski <stefanc@marvell.com>
Tested-by: iSoC Platform CI <ykjenk@marvell.com>
Reviewed-by: Igal Liberman <igall@marvell.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Stefan Roese <sr@denx.de>
7 years agonet: mvpp2x: Enable GoP packet padding in TX
Stefan Chulski [Wed, 9 Aug 2017 07:37:45 +0000 (10:37 +0300)]
net: mvpp2x: Enable GoP packet padding in TX

This patch enables padding of packets shorter than 64B in TX(set by default).
Disabling of padding causes crashes on MACCIATO board.

Signed-off-by: Stefan Chulski <stefanc@marvell.com>
Tested-by: iSoC Platform CI <ykjenk@marvell.com>
Reviewed-by: Igal Liberman <igall@marvell.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Stefan Roese <sr@denx.de>
7 years agonet: mvpp2x: fix phy connected to wrong mdio issue
Stefan Chulski [Wed, 9 Aug 2017 07:37:44 +0000 (10:37 +0300)]
net: mvpp2x: fix phy connected to wrong mdio issue

A8K marvell SoC has two South Bridge communication controllers(CP0 and CP1).
Each communication controller has packet processor ports and MDIO.
On MACHIATOBin board ports from CP1 are connected to mdio on CP0.

Issue:
Wrong base address is assigned to MDIO interface during probe.

Fix:
Get MDIO address from PHY handler parent base address.

This should be refined in the future when MDIO driver is implemented.

Signed-off-by: Stefan Chulski <stefanc@marvell.com>
Tested-by: iSoC Platform CI <ykjenk@marvell.com>
Reviewed-by: Igal Liberman <igall@marvell.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Stefan Roese <sr@denx.de>
7 years agonet: mvpp2x: Add GPIO configuration support
Stefan Chulski [Wed, 9 Aug 2017 07:37:43 +0000 (10:37 +0300)]
net: mvpp2x: Add GPIO configuration support

This patch add GPIO configuration support in mvpp2x driver.
Driver will handle 10G SFP gpio reset and SFP TX disable. GPIO pins should
be set in device tree.

Signed-off-by: Stefan Chulski <stefanc@marvell.com>
Tested-by: iSoC Platform CI <ykjenk@marvell.com>
Reviewed-by: Kostya Porotchkin <kostap@marvell.com>
Reviewed-by: Igal Liberman <igall@marvell.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Stefan Roese <sr@denx.de>
7 years agoarmv8: ls2080a: Increase env sector size for qspi boot
Santan Kumar [Wed, 9 Aug 2017 05:05:45 +0000 (10:35 +0530)]
armv8: ls2080a: Increase env sector size for qspi boot

Increase env sector size from 64kb to 256kb for qspi boot.

Signed-off-by: Santan Kumar <santan.kumar@nxp.com>
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
7 years agofsl-lsch2: csu: correct the workaround A-010315
Hou Zhiqiang [Mon, 3 Jul 2017 09:51:10 +0000 (17:51 +0800)]
fsl-lsch2: csu: correct the workaround A-010315

The implementation of function set_pcie_ns_access() uses a wrong
argument. The structure array ns_dev has a member 'ind' which is
initialized by CSU_CSLX_*. It should use the 'ind' directly to
address the PCIe's CSL register (CSL_base + CSU_CSLX_PCIE*).

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
[YS: Revise commit message]
Reviewed-by: York Sun <york.sun@nxp.com>
7 years agodriver: net: fsl-mc: fsl_mc_ldpaa_exit exit earlier if dpl applied
Santan Kumar [Thu, 29 Jun 2017 05:49:34 +0000 (11:19 +0530)]
driver: net: fsl-mc: fsl_mc_ldpaa_exit exit earlier if dpl applied

In fsl_mc_ldpaa_exit(), in case of mc is booted and dpl is applied,
it should return earlier without executing dpbp_exit().

Signed-off-by: Santan Kumar <santan.kumar@nxp.com>
Acked-by: Priyanka Jain <priyanka.jain@nxp.com>
Acked-by: Yogesh Narayan Gaur <yogeshnarayan.gaur@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
7 years agoboard: ls2080ardb: Add fsl_fdt_fixup_flash
Santan Kumar [Wed, 5 Jul 2017 12:35:08 +0000 (18:05 +0530)]
board: ls2080ardb: Add fsl_fdt_fixup_flash

IFC and QSPI are muxed on board. Add fsl_fdt_fixup_flash() to disable
IFC node in dts if QSPI is enabled, or disable QSPI node in dts if
otherwise.

Signed-off-by: Santan Kumar <santan.kumar@nxp.com>
Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
[YS: Revise commit message]
Reviewed-by: York Sun <york.sun@nxp.com>