oweals/u-boot.git
7 years agoodroid-c2: enable GPIO
Beniamino Galvani [Sun, 9 Jul 2017 22:30:05 +0000 (00:30 +0200)]
odroid-c2: enable GPIO

GPIOs are now supported on Meson GXBB, enable driver and command in
the config.

Signed-off-by: Beniamino Galvani <b.galvani@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agopinctrl: meson: add GPIO support
Beniamino Galvani [Sun, 9 Jul 2017 22:30:04 +0000 (00:30 +0200)]
pinctrl: meson: add GPIO support

This commit adds GPIO support to the Amlogic Meson pin controller
driver, based on code from Linux kernel.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Beniamino Galvani <b.galvani@gmail.com>
7 years agoarm: dts: meson: import dts files from Linux 4.12
Beniamino Galvani [Sun, 9 Jul 2017 22:30:03 +0000 (00:30 +0200)]
arm: dts: meson: import dts files from Linux 4.12

Import Amlogic Meson DTS files from Linux kernel version 4.12

Signed-off-by: Beniamino Galvani <b.galvani@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agoConvert CONFIG_ENV_IS_IN_ONENAND to Kconfig
Simon Glass [Mon, 24 Jul 2017 03:19:48 +0000 (21:19 -0600)]
Convert CONFIG_ENV_IS_IN_ONENAND to Kconfig

This converts the following to Kconfig:
   CONFIG_ENV_IS_IN_ONENAND

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agoConvert CONFIG_ENV_IS_IN_FAT to Kconfig
Simon Glass [Mon, 24 Jul 2017 03:19:47 +0000 (21:19 -0600)]
Convert CONFIG_ENV_IS_IN_FAT to Kconfig

This converts the following to Kconfig:
   CONFIG_ENV_IS_IN_FAT

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agoConvert CONFIG_ENV_IS_IN_REMOTE to Kconfig
Simon Glass [Mon, 24 Jul 2017 03:19:46 +0000 (21:19 -0600)]
Convert CONFIG_ENV_IS_IN_REMOTE to Kconfig

This converts the following to Kconfig:
   CONFIG_ENV_IS_IN_REMOTE

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agoConvert CONFIG_ENV_IS_IN_SPI_FLASH to Kconfig
Simon Glass [Mon, 24 Jul 2017 03:19:45 +0000 (21:19 -0600)]
Convert CONFIG_ENV_IS_IN_SPI_FLASH to Kconfig

This converts the following to Kconfig:
   CONFIG_ENV_IS_IN_SPI_FLASH

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agoConvert CONFIG_ENV_IS_IN_DATAFLASH to Kconfig
Simon Glass [Mon, 24 Jul 2017 03:19:44 +0000 (21:19 -0600)]
Convert CONFIG_ENV_IS_IN_DATAFLASH to Kconfig

This converts the following to Kconfig:
   CONFIG_ENV_IS_IN_DATAFLASH

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agoConvert CONFIG_ENV_IS_IN_EEPROM to Kconfig
Simon Glass [Mon, 24 Jul 2017 03:19:43 +0000 (21:19 -0600)]
Convert CONFIG_ENV_IS_IN_EEPROM to Kconfig

This converts the following to Kconfig:
   CONFIG_ENV_IS_IN_EEPROM

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agoConvert CONFIG_ENV_IS_IN_NVRAM to Kconfig
Simon Glass [Mon, 24 Jul 2017 03:19:42 +0000 (21:19 -0600)]
Convert CONFIG_ENV_IS_IN_NVRAM to Kconfig

This converts the following to Kconfig:
   CONFIG_ENV_IS_IN_NVRAM

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agoConvert CONFIG_ENV_IS_IN_FLASH to Kconfig
Simon Glass [Mon, 24 Jul 2017 03:19:41 +0000 (21:19 -0600)]
Convert CONFIG_ENV_IS_IN_FLASH to Kconfig

This converts the following to Kconfig:
   CONFIG_ENV_IS_IN_FLASH

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agoenv: Move help from README to Kconfig
Simon Glass [Mon, 24 Jul 2017 03:19:40 +0000 (21:19 -0600)]
env: Move help from README to Kconfig

The CONFIG_ENV_IS_IN_... options which have already been converted to
Kconfig only have a small amount of help. Move the rest of it over from
the README.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agoConvert CONFIG_ENV_IS_IN_MMC/NAND/UBI and NOWHERE to Kconfig
Simon Glass [Mon, 24 Jul 2017 03:19:39 +0000 (21:19 -0600)]
Convert CONFIG_ENV_IS_IN_MMC/NAND/UBI and NOWHERE to Kconfig

This converts the following to Kconfig:
   CONFIG_ENV_IS_IN_MMC
   CONFIG_ENV_IS_IN_NAND
   CONFIG_ENV_IS_IN_UBI
   CONFIG_ENV_IS_NOWHERE

In fact this already exists for sunxi as a 'choice' config. However not
all the choices are available in Kconfig yet so we cannot use that. It
would lead to more than one option being set.

In addition, one purpose of this series is to allow the environment to be
stored in more than one place. So the existing choice is converted to a
normal config allowing each option to be set independently.

There are not many opportunities for Kconfig updates to reduce the size of
this patch. This was tested with

   ./tools/moveconfig.py -i CONFIG_ENV_IS_IN_MMC

And then manual updates.  This is because for CHAIN_OF_TRUST boards they
can only have ENV_IS_NOWHERE set, so we enforce that via Kconfig logic
now.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agoconfigs: Resync with savedefconfig
Tom Rini [Tue, 25 Jul 2017 01:10:06 +0000 (21:10 -0400)]
configs: Resync with savedefconfig

Rsync all defconfig files using moveconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agoconfigs: Migrate RBTREE, LZO, CMD_MTDPARTS, CMD_UBI and CMD_UBIFS
Tom Rini [Sat, 22 Jul 2017 22:36:16 +0000 (18:36 -0400)]
configs: Migrate RBTREE, LZO, CMD_MTDPARTS, CMD_UBI and CMD_UBIFS

The above CONFIG options are in Kconfig, and now have correct depends and
inter-dependencies.  Migrate these to configs/ from include/configs/.  In the
case of CMD_UBIFS also change it to be a default y if CMD_UBI.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agocmd: Kconfig: Fix CMD_UBIFS dependencies
Karl Beldan [Wed, 12 Jul 2017 16:11:47 +0000 (16:11 +0000)]
cmd: Kconfig: Fix CMD_UBIFS dependencies

Remove the ARCH_SUNXI and RBTREE dependencies.
CMD_UBIFS already gets RBTREE from CMD_UBI (from MTD_UBI), and should
the first become independant from the latter, there would likely be a
dependency on MTD_UBI anyway.

Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: Jagan Teki <jagan@openedev.com>
Signed-off-by: Karl Beldan <karl.beldan-ext@sagemcom.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agocmd: Kconfig: Make CMD_UBI select CMD_MTDPARTS
Karl Beldan [Wed, 12 Jul 2017 16:11:46 +0000 (16:11 +0000)]
cmd: Kconfig: Make CMD_UBI select CMD_MTDPARTS

Many configs still define CMD_MTDPARTS in their non-Kconfig but
CMD_MTDPARTS has now moved to Kconfig.

Signed-off-by: Karl Beldan <karl.beldan-ext@sagemcom.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoubi: Kconfig: Make MTD_UBI select MTD_PARTITIONS
Karl Beldan [Wed, 12 Jul 2017 16:11:45 +0000 (16:11 +0000)]
ubi: Kconfig: Make MTD_UBI select MTD_PARTITIONS

This missing dependency has probably remained under the radar because
MTD_PARTITIONS is still whitelisted.

Signed-off-by: Karl Beldan <karl.beldan-ext@sagemcom.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agocmd: Kconfig: Fix a dependency of CMD_MTDPARTS
Karl Beldan [Wed, 12 Jul 2017 16:11:44 +0000 (16:11 +0000)]
cmd: Kconfig: Fix a dependency of CMD_MTDPARTS

Remove the ARCH_SUNXI dependency.

Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Jagan Teki <jagan@openedev.com>
Signed-off-by: Karl Beldan <karl.beldan-ext@sagemcom.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoubi: Kconfig: Fix MTD_UBI selection dependency
Karl Beldan [Wed, 12 Jul 2017 16:11:43 +0000 (16:11 +0000)]
ubi: Kconfig: Fix MTD_UBI selection dependency

Remove the ARCH_SUNXI dependency on selection of RBTREE.

Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Jagan Teki <jagan@openedev.com>
Signed-off-by: Karl Beldan <karl.beldan-ext@sagemcom.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoxilinx-ppc.h: Drop
Tom Rini [Sun, 23 Jul 2017 13:25:07 +0000 (09:25 -0400)]
xilinx-ppc.h: Drop

With PowerPC 4xx support removed, we have removed xilinx-ppc support as
well, remove this file now.

Fixes 98f705c9cefd ("powerpc: remove 4xx support")
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agoserial: ns16550: Add RX interrupt buffer support
Stefan Roese [Fri, 14 Jul 2017 15:25:54 +0000 (17:25 +0200)]
serial: ns16550: Add RX interrupt buffer support

Pasting longer lines into the U-Boot console prompt sometimes leads to
characters missing. One problem here is the small 16-byte FIFO of the
legacy NS16550 UART, e.g. on x86 platforms.

This patch now introduces a Kconfig option to enable RX interrupt
buffer support for NS16550 style UARTs. With this option enabled, I was
able paste really long lines into the U-Boot console, without any
characters missing.

Signed-off-by: Stefan Roese <sr@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Cc: Bin Meng <bmeng.cn@gmail.com>
[trini: Guard ns16550_serial_remove with
CONFIG_IS_ENABLED(SERIAL_PRESENT) to match struct assignment]
Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agoarm: omap3: Detect boot mode very early
Adam Ford [Fri, 14 Jul 2017 13:53:20 +0000 (08:53 -0500)]
arm: omap3: Detect boot mode very early

Fixes 4bd754d8abef ("arm: omap: Detect boot mode very early") where
the intent was to store the boot params information in a known
location and pass it to SPL very early. Unfortunately it didn't
account for OMAP3 boards.

This patch adds adds this functionality back into OMAP3 boards.

Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Adam Ford <aford173@gmail.com>
7 years agopowerpc: Remove 8260 remainders
Christophe Leroy [Thu, 13 Jul 2017 13:10:10 +0000 (15:10 +0200)]
powerpc: Remove 8260 remainders

commit 2eb48ff7a210d ("powerpc, 8260: remove support for mpc8260")
removed support for 8260 CPU.

This patch remove some remainders.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
7 years agopowerpc, 8xx: fix missing function declarations.
Christophe Leroy [Thu, 13 Jul 2017 13:10:08 +0000 (15:10 +0200)]
powerpc, 8xx: fix missing function declarations.

Add missing .h and add missing declarations in .h
Declare local functions as static.  Make interrupt_init_cpu function
signatures consistent with how decrementer_count is declared.

Based on warnings reported by 'make C=2'

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
[trini: drop cpu_init_f as 8xx/83xx are different from the rest, rework
interrupt_init_cpu/decrementer_count]
Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agopowerpc: move get_pvr() and get_svr() into C
Christophe Leroy [Thu, 13 Jul 2017 13:10:06 +0000 (15:10 +0200)]
powerpc: move get_pvr() and get_svr() into C

Avoid unnecessary assembly functions when they can easily be written
in C.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
7 years agopowerpc, 8xx: move cache helper into C
Christophe Leroy [Thu, 13 Jul 2017 13:10:04 +0000 (15:10 +0200)]
powerpc, 8xx: move cache helper into C

Avoid unnecessary assembly functions when they can easily be written
in C.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
7 years agopowerpc, 8xx: move get_immr() into C
Christophe Leroy [Thu, 13 Jul 2017 13:10:02 +0000 (15:10 +0200)]
powerpc, 8xx: move get_immr() into C

Avoid unnecessary assembly functions when they can easily be written
in C.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
7 years agopowerpc, 8xx: Move cache function into C files
Christophe Leroy [Thu, 13 Jul 2017 13:10:00 +0000 (15:10 +0200)]
powerpc, 8xx: Move cache function into C files

Avoid unnecessary assembly functions when they can easily be written
in C.

Also remove dc_read() as it is nowhere referenced

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
7 years agopowerpc, 8xx: Simplifying check_CPU()
Christophe Leroy [Thu, 13 Jul 2017 13:09:58 +0000 (15:09 +0200)]
powerpc, 8xx: Simplifying check_CPU()

All complex case have been removed and we now only support
MPC866 and MPC885 families.

So check_CPU() can be made a lot simpler.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
7 years agopowerpc: Remove unneccessary #ifdefs in reginfo
Christophe Leroy [Thu, 13 Jul 2017 13:09:54 +0000 (15:09 +0200)]
powerpc: Remove unneccessary #ifdefs in reginfo

reginfo command is calling mpc8xx_reginfo(), mpc85xx_reginfo()
or mpc86xx_reginfo() based on CONFIG_ symbol.
As those 3 functions can't me defined at the same time, let's
rename them print_reginfo() to avoid the #ifdefs
The name is kept generic as it is not at all dependent on
powerpc arch and any other arch could want to also print
such information.

In addition, as the Makefile compiles cmd/reginfo.c only when
CONFIG_CMD_REGINFO is set, there is no need to enclose the U_BOOT_CMD
definition inside a #ifdef CONFIG_CMD_REGINFO

Lets all remove the #ifdefs around the U_BOOT_CMD as this
file is only compiled when CONFIG_CMD_REGINFO is defined

Finally, this is a PowerPC-only command, disable it on a number of
non-PowerPC platforms.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agopowerpc: move set_msr() and get_msr() into .h
Christophe Leroy [Thu, 13 Jul 2017 13:09:52 +0000 (15:09 +0200)]
powerpc: move set_msr() and get_msr() into .h

set_msr() and get_msr() are defined and used twice.
This patch moves them into ppc.h

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
7 years agopower, timer: reset TBL before TBU
Christophe Leroy [Thu, 13 Jul 2017 13:09:50 +0000 (15:09 +0200)]
power, timer: reset TBL before TBU

In order to avoid TBU increment due to TBL reaching its max
and wrapping, reset TBL before resetting TBU

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
7 years agopowerpc, timer: Does 8xx specific actions in 8xx cpu_init
Christophe Leroy [Thu, 13 Jul 2017 13:09:48 +0000 (15:09 +0200)]
powerpc, timer: Does 8xx specific actions in 8xx cpu_init

The actions inside #ifdef CONFIG_8xx in arch/powerpc/lib/time.c
can be performed before, in a 8xx dedicated function.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
7 years agopowerpc: get rid of addr_probe()
Christophe Leroy [Thu, 13 Jul 2017 13:09:46 +0000 (15:09 +0200)]
powerpc: get rid of addr_probe()

This function has never been used, at least since the beginning
of the git repository

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
7 years agopowerpc, 8xx: Simplify brgclk calculation and remove get_brgclk()
Christophe Leroy [Thu, 13 Jul 2017 13:09:44 +0000 (15:09 +0200)]
powerpc, 8xx: Simplify brgclk calculation and remove get_brgclk()

divider is calculated based on SCCR_DFBRG, with:
SCCR_DFBRG 00 => divider 1  = 1 << 0
SCCR_DFBRG 01 => divider 4  = 1 << 2
SCCR_DFBRG 10 => divider 16 = 1 << 4
SCCR_DFBRG 11 => divider 64 = 1 << 6

This can be easily converted to a single shift operation:
divider = 1 << (SCCR_DFBRG * 2)

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
7 years agokm/ivm: allow to set locally administred MAC addresses
Holger Brunck [Thu, 13 Jul 2017 09:15:41 +0000 (11:15 +0200)]
km/ivm: allow to set locally administred MAC addresses

It is possible to flag MAC addresses as locally administred. In this
case they don't need to be unique. This is only allowed for interfaces
which have no connection to the outside. For the TEGR1 board we use
this feature.

Cc: Heiko Schocher <hs@denx.de>
Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
7 years agokm/ivm: always set ethaddr after reading IVM
Holger Brunck [Thu, 13 Jul 2017 09:15:40 +0000 (11:15 +0200)]
km/ivm: always set ethaddr after reading IVM

If we rebrand the IVM and ethaddr was set previously we need to change
ethaddr. Otherwise we end up with a wrong MAC adress for the ethernet
interface.

Cc: Heiko Schocher <hs@denx.de>
Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
7 years agoRFC: moveconfig: Use toolchains from buildman
Simon Glass [Mon, 10 Jul 2017 20:47:47 +0000 (14:47 -0600)]
RFC: moveconfig: Use toolchains from buildman

It is annoying to have to set up and maintain two sets of toolchains, one
for buildman and one for moveconfig.

Adjust moveconfig to make use to buildman's toolchains. This should make
things easier.

One missing feature is the ability to specify the toolchain on the command
line with a special environment variable, e.g. CROSS_COMPILE_ARM. I'm not
sure if that is useful, but if it is it could be implemented in buildman.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Tested-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
7 years agomoveconfig: Tidy up imply flag parsing
Simon Glass [Mon, 10 Jul 2017 20:47:46 +0000 (14:47 -0600)]
moveconfig: Tidy up imply flag parsing

Add an option to specify 'all' to enable all flags. Also print an error
if an unrecognised flag is used. At present it just prints usage
information which is not very helpful.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agoboard: ti: am43xx: Add FDT fixup for HS devices
Andrew F. Davis [Mon, 10 Jul 2017 19:45:54 +0000 (14:45 -0500)]
board: ti: am43xx: Add FDT fixup for HS devices

Disable RNG and add TEE to FDT used on HS devices.

Signed-off-by: Andrew F. Davis <afd@ti.com>
7 years agoboard: ti: am43xx: Add TEE loading and firewall setup
Andrew F. Davis [Mon, 10 Jul 2017 19:45:53 +0000 (14:45 -0500)]
board: ti: am43xx: Add TEE loading and firewall setup

Add support for loading a TEE and setting up firewalled regions to
AM43xx HS boards.

Signed-off-by: Andrew F. Davis <afd@ti.com>
7 years agoarm: mach-omap2: am33xx: Add FDT fixup suport for AM33xx/AM43xx boards
Andrew F. Davis [Mon, 10 Jul 2017 19:45:52 +0000 (14:45 -0500)]
arm: mach-omap2: am33xx: Add FDT fixup suport for AM33xx/AM43xx boards

Similar to what is done with OMAP5 class boards we need to
perform fixups common to this SoC class, add support for this here
and add HS fixups.

Signed-off-by: Andrew F. Davis <afd@ti.com>
7 years agoarm: mach-omap2: fdt-common: Add OP-TEE node when firmware node is defined
Andrew F. Davis [Mon, 10 Jul 2017 19:45:51 +0000 (14:45 -0500)]
arm: mach-omap2: fdt-common: Add OP-TEE node when firmware node is defined

If a firmware node is already present in the FDT we will fail to create
one and so fail to add our OP-TEE node, make this fixup first check for
a firmware node and then only try to add one if it is not found.

Signed-off-by: Andrew F. Davis <afd@ti.com>
7 years agoarm: mach-omap2: Factor out common FDT fixup suport
Andrew F. Davis [Mon, 10 Jul 2017 19:45:50 +0000 (14:45 -0500)]
arm: mach-omap2: Factor out common FDT fixup suport

Some of the fixups currently done for OMAP5 class boards are common to
other OMAP family devices, move these to fdt-common.c.

Signed-off-by: Andrew F. Davis <afd@ti.com>
7 years agoarm: mach-omap2: Move omap5/sec-fxns.c into sec-common.c
Andrew F. Davis [Mon, 10 Jul 2017 19:45:49 +0000 (14:45 -0500)]
arm: mach-omap2: Move omap5/sec-fxns.c into sec-common.c

TEE loading and firewall setup are common to all omap2 devices, move
these function out of omap5 and into mach-omap2. This allows us
to use these functions from other omap class devices.

Signed-off-by: Andrew F. Davis <afd@ti.com>
7 years agoMakefile: add dependencies to regenerate u-boot.cfg when lost
Philipp Tomsich [Wed, 5 Jul 2017 15:30:40 +0000 (17:30 +0200)]
Makefile: add dependencies to regenerate u-boot.cfg when lost

When running a 'make clean' or carelessly removing u-boot.cfg, all
future make invocations (until autoconf is regenerated) will print
an error for a missing u-boot.cfg due to missing rules and dependencies.

This commit adds (i) an explicit rule dependency from all (which will
invokes the configuration checker) to cfg, and (b) adds a rule to
invoke scripts/Makefile.autoconf to regenerate u-boot.cfg.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
7 years agodtc: mkimage: Add the possibility to specify DTC
Emmanuel Vadot [Sun, 25 Jun 2017 07:43:33 +0000 (09:43 +0200)]
dtc: mkimage: Add the possibility to specify DTC

FreeBSD recently switch to it's BSDL dtc. While it support most of the
features of the GPL one it still lacks the incbin directive.
Add the possibility to specify which dtc we want to use for compiling dts
and generating fit image.

Signed-off-by: Emmanuel Vadot <manu@bidouilliste.com>
Acked-by: Simon Glass <sjg@chromium.org>
7 years agomeson-gx: reserved memory regions
xypron.glpk@gmx.de [Fri, 9 Jun 2017 20:13:59 +0000 (22:13 +0200)]
meson-gx: reserved memory regions

The Odroid C2 has two GiB of memory with two reserved regions.
reg = <0x0 0x0 0x0 0x1000000>;
reg = <0x0 0x10000000 0x0 0x200000>;

Patch
bfcef28ae4cf (arm: add initial support for Amlogic Meson and
ODROID-C2) provided function dram_init_banksize to reserve the
first 16 MiB of RAM for firmware in function dram_init_banksize
in arch/arm/mach-meson/board.c and defined
CONFIG_NR_DRAM_BANKS = 1.

With this patch dram_init_banksize is changed to additionally
reserve the 2MiB region for the ARM Trusted Firmware (BL31).
CONFIG_NR_DRAM_BANKS is set to 2.

Cc: Andreas Färber <afaerber@suse.de>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
7 years agoenv: Switch env_nand, env_mmc and env_ubi to env_import_redund
Fiach Antaw [Wed, 25 Jan 2017 08:53:12 +0000 (18:53 +1000)]
env: Switch env_nand, env_mmc and env_ubi to env_import_redund

The env_nand, env_mmc and env_ubi implementations all implement
redundancy using an identical serial-number scheme. This commit
migrates them to use the implementation in env_common, which is
functionally identical.

Signed-off-by: Fiach Antaw <fiach.antaw@uqconnect.edu.au>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoenv: Add generic redundant environment implementation
Fiach Antaw [Wed, 25 Jan 2017 08:53:11 +0000 (18:53 +1000)]
env: Add generic redundant environment implementation

All current environments that implement redundancy use almost
identical implementations. This patch implements the env_nand
implementation as a function in env_common, and updates the
env_export function to export an env_nand-style 'flags' field by
default.

Signed-off-by: Fiach Antaw <fiach.antaw@uqconnect.edu.au>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agotests: test_dfu.py: Add example udev rule for host_usb_dev_node
Tom Rini [Mon, 29 Aug 2016 13:57:01 +0000 (09:57 -0400)]
tests: test_dfu.py: Add example udev rule for host_usb_dev_node

If one does not already have a rule to create a custom device node when
a given device enumerates it can be useful to have udev create a
bus path based node to the entry in /dev/bus/usb that was just
enumerated.  Given that DFU itself does not require a /dev entry it is a
good idea to provide a rule that will generate one.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agotools/fw_env: use fsync to ensure that data is physically stored
Michael Heimpold [Mon, 20 May 2013 19:34:42 +0000 (21:34 +0200)]
tools/fw_env: use fsync to ensure that data is physically stored

Closing a file descriptor does not guarantee that the data has been
successfully saved to disk, as the kernel might defer the write.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
7 years agommc: cadence: use fdt32_t for DT property value to fix sparse warning
Masahiro Yamada [Thu, 22 Jun 2017 08:58:09 +0000 (17:58 +0900)]
mmc: cadence: use fdt32_t for DT property value to fix sparse warning

DTB is encoded in big endian.  When we retrieve property values,
we need to use fdt32_to_cpu (aka be32_to_cpu) for endian conversion.
This is a bit error-prone, but sparse is useful to detect endian
mismatch.

We need to use (fdt32_t *) instead of (u32 *) for a pointer of a
property value.  Otherwise sparse warns "cast to restricted __be32".

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
7 years agommc: add static to spl_mmc_get_device_index()
Masahiro Yamada [Thu, 22 Jun 2017 07:52:36 +0000 (16:52 +0900)]
mmc: add static to spl_mmc_get_device_index()

This function is only used in common/spl/spl_mmc.c[

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
7 years agopower: regulator: lp87565: get_enable should return integer
Keerthy [Tue, 13 Jun 2017 04:23:56 +0000 (09:53 +0530)]
power: regulator: lp87565: get_enable should return integer

get_enable should be able to return error values. Hence change
the return type to integer.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agopower: regulator: lp873x: get_enable should return integer
Keerthy [Tue, 13 Jun 2017 04:23:55 +0000 (09:53 +0530)]
power: regulator: lp873x: get_enable should return integer

get_enable should be able to return error values. Hence change
the return type to integer.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agopower: regulator: s5m8767: get_enable should return integer
Keerthy [Tue, 13 Jun 2017 04:23:54 +0000 (09:53 +0530)]
power: regulator: s5m8767: get_enable should return integer

get_enable should be able to return error values. Hence change
the return type to integer.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agopower: sandbox: fixed: get_enable should return integer
Keerthy [Tue, 13 Jun 2017 04:23:53 +0000 (09:53 +0530)]
power: sandbox: fixed: get_enable should return integer

get_enable should be able to return error values. Hence change
the return type to integer.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agopower: regulator: rk8xx: get_enable should return integer
Keerthy [Tue, 13 Jun 2017 04:23:52 +0000 (09:53 +0530)]
power: regulator: rk8xx: get_enable should return integer

get_enable should be able to return error values. Hence change
the return type to integer.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agopower: regulator: tps65090: get_enable should return integer
Keerthy [Tue, 13 Jun 2017 04:23:51 +0000 (09:53 +0530)]
power: regulator: tps65090: get_enable should return integer

get_enable should be able to return error values. Hence change
the return type to integer.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agopower: regulator: pfuze100: get_enable should return integer
Keerthy [Tue, 13 Jun 2017 04:23:50 +0000 (09:53 +0530)]
power: regulator: pfuze100: get_enable should return integer

get_enable should be able to return error values. Hence change
the return type to integer.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agopower: regulator: palmas: get_enable should return integer
Keerthy [Tue, 13 Jun 2017 04:23:49 +0000 (09:53 +0530)]
power: regulator: palmas: get_enable should return integer

get_enable should be able to return error values. Hence change
the return type to integer.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agopower: regulator: max77686: get_enable should return integer
Keerthy [Tue, 13 Jun 2017 04:23:48 +0000 (09:53 +0530)]
power: regulator: max77686: get_enable should return integer

get_enable should be able to return error values. Hence change
the return type to integer.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agopower: regulator: act8846: get_enable should return integer
Keerthy [Tue, 13 Jun 2017 04:23:47 +0000 (09:53 +0530)]
power: regulator: act8846: get_enable should return integer

get_enable should be able to return error values. Hence change
the return type to integer.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agopower: regulator: fixed: get_enable should return integer
Keerthy [Tue, 13 Jun 2017 04:23:46 +0000 (09:53 +0530)]
power: regulator: fixed: get_enable should return integer

get_enable should be able to return error values. Hence change
the return type to integer.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agoregulator: Change get_enable return type to integer from bool
Keerthy [Tue, 13 Jun 2017 04:23:45 +0000 (09:53 +0530)]
regulator: Change get_enable return type to integer from bool

Change get_enable return type to int so errors can be returned.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agommc: rpmb: update size format for write_counter
Kever Yang [Thu, 8 Jun 2017 01:20:04 +0000 (09:20 +0800)]
mmc: rpmb: update size format for write_counter

According to MMC spec, the write_counter is 4-byte length,
use 'int' instead of 'long' type for the 'long' is not 4-byte
in 64 bit CPU.

Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
7 years agommc: use new hwpart API when CONFIG_BLK enabled
Kever Yang [Thu, 8 Jun 2017 01:20:03 +0000 (09:20 +0800)]
mmc: use new hwpart API when CONFIG_BLK enabled

When CONFIG_BLK is enabled, the hwpart id is different with legacy
interface, update it to kame driver work with CONFIG_BLK.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
7 years agoARM: Mark AE boards orphan
Marek Vasut [Tue, 18 Jul 2017 16:05:05 +0000 (18:05 +0200)]
ARM: Mark AE boards orphan

I no longer have any of these boards, mark boards orphan.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Tom Rini <trini@konsulko.com>
7 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-imx
Tom Rini [Tue, 18 Jul 2017 12:42:48 +0000 (08:42 -0400)]
Merge branch 'master' of git://denx.de/git/u-boot-imx

7 years agomx6cuboxi: Move CONFIG_CMD_SATA to Kconfig
Fabio Estevam [Thu, 13 Jul 2017 18:22:50 +0000 (15:22 -0300)]
mx6cuboxi: Move CONFIG_CMD_SATA to Kconfig

Move CONFIG_CMD_SATA option to Kconfig to fix the following build
error:

In file included from include/configs/mx6cuboxi.h:137:0,
                 from include/config.h:7,
                 from include/common.h:21,
                 from common/env_common.c:11:
include/config_distro_bootcmd.h:161:2: error: expected '}' before 'BOOT_TARGET_DEVICES_references_SATA_without_CONFIG_SATA'
  BOOT_TARGET_DEVICES_references_SATA_without_CONFIG_SATA

Reported-by: Stefano Babic <sbabic@denx.de>
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
7 years agomx6sabreauto: Make Ethernet functional again
Fabio Estevam [Wed, 12 Jul 2017 21:31:45 +0000 (18:31 -0300)]
mx6sabreauto: Make Ethernet functional again

Since commit ce412b79e7255770 ("drivers: net: phy: atheros: add separate
config for AR8031") Ethernet does not work on mx6sabreauto.

This commit correctly assigns ar8031_config() as the configuration
function for AR8031 in the same way as done in the Linux kernel.

However, on mx6sabreauto design we need some additional configurations,
such as enabling the 125 MHz AR8031 output and setting the TX clock
delay that need to be done in the board file.

This is the equivalent fix from commit 4b6035da482c ("mx6sabresd: Make
Ethernet functional again").

Reported-by: Miquel RAYNAL <miquel.raynal@free-electrons.com>
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
7 years agoMerge git://www.denx.de/git/u-boot-marvell
Tom Rini [Wed, 12 Jul 2017 12:16:41 +0000 (08:16 -0400)]
Merge git://www.denx.de/git/u-boot-marvell

7 years agoimx: cx9020: try pxe boot, if no vmlinuz on mmc
Patrick Bruenn [Tue, 11 Jul 2017 09:23:21 +0000 (11:23 +0200)]
imx: cx9020: try pxe boot, if no vmlinuz on mmc

If no vmlinuz is found on mmc, try to boot from pxe.

Signed-off-by: Patrick Bruenn <p.bruenn@beckhoff.com>
7 years agoimx: cx9020: use fdt_addr_r and ramdisk_addr_r
Patrick Bruenn [Tue, 11 Jul 2017 09:23:20 +0000 (11:23 +0200)]
imx: cx9020: use fdt_addr_r and ramdisk_addr_r

Replace fdtaddr and rdaddr variable names with u-boot standard names
fdt_addr_r and ramdisk_addr_r.
This will make the use of pxe boot more easy.

Signed-off-by: Patrick Bruenn <p.bruenn@beckhoff.com>
7 years agomx6sabreauto: Add Falcon mode support
Diego Dorta [Fri, 7 Jul 2017 18:38:34 +0000 (15:38 -0300)]
mx6sabreauto: Add Falcon mode support

Add support for Falcon mode and explain in the README the steps to
boot the kernel directly without loading the full U-Boot.

Signed-off-by: Diego Dorta <diego.dorta@nxp.com>
Acked-by: Fabio Estevam <fabio.estevam@nxp.com>
7 years agowarp: Use PARTUUID to specify the rootfs location
Fabio Estevam [Tue, 11 Jul 2017 17:24:29 +0000 (14:24 -0300)]
warp: Use PARTUUID to specify the rootfs location

warp can run different kernel versions, such as NXP 4.1 or
mainline.

Currently the rootfs location is passed via mmcblk number and the
problem with this approach is that the mmcblk number for the eMMC
changes depending on the kernel version.

In order to avoid such issue, use UUID method to specify the rootfs
location.

Succesfully tested booting a NXP 4.1 and also a mainline 4.12 kernel.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
7 years agoembestmx6boards: Use PARTUUID to specify the rootfs location
Fabio Berton [Mon, 10 Jul 2017 20:04:11 +0000 (17:04 -0300)]
embestmx6boards: Use PARTUUID to specify the rootfs location

Currently the rootfs location is passed via mmcblk number and the
problem with this approach is that the mmcblk number for the eMMC
changes depending on the kernel version.

In order to avoid such issue, use UUID method to specify the rootfs
location.

Also add CONFIG_BOOTCOMMAND to run finduuid function and distro_bootcmd.

This change was made based on U-Boot commit:

  - ca4f338e2efece5196eb2178e5f7d07be828da6e

Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
7 years agomx6cuboxi: Use PARTUUID to specify the rootfs location
Fabio Berton [Mon, 10 Jul 2017 20:04:10 +0000 (17:04 -0300)]
mx6cuboxi: Use PARTUUID to specify the rootfs location

Currently the rootfs location is passed via mmcblk number and the
problem with this approach is that the mmcblk number for the eMMC
changes depending on the kernel version.

In order to avoid such issue, use UUID method to specify the rootfs
location.

This change was made based on U-Boot commit:

  - ca4f338e2efece5196eb2178e5f7d07be828da6e

Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
7 years agowandboard: Use PARTUUID to specify the rootfs location
Fabio Berton [Mon, 10 Jul 2017 20:04:09 +0000 (17:04 -0300)]
wandboard: Use PARTUUID to specify the rootfs location

Currently the rootfs location is passed via mmcblk number and the
problem with this approach is that the mmcblk number for the eMMC
changes depending on the kernel version.

In order to avoid such issue, use UUID method to specify the rootfs
location.

This change was made based on U-Boot commit:

  - ca4f338e2efece5196eb2178e5f7d07be828da6e

Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
7 years agomx6sabre: Use PARTUUID to specify the rootfs location
Fabio Estevam [Mon, 10 Jul 2017 18:59:12 +0000 (15:59 -0300)]
mx6sabre: Use PARTUUID to specify the rootfs location

mx6sabre boards can run different kernel versions, such as NXP 4.1 or
mainline.

Currently the rootfs location is passed via mmcblk number and the
problem with this approach is that the mmcblk number for the eMMC
changes depending on the kernel version.

In order to avoid such issue, use UUID method to specify the rootfs
location.

Succesfully tested booting a NXP 4.1 and also a mainline kernel on a
mx6qsabresd and mx6dlsabreauto.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
7 years agomx6sabreauto: Do not enable WEIM by default
Fabio Estevam [Mon, 10 Jul 2017 18:59:11 +0000 (15:59 -0300)]
mx6sabreauto: Do not enable WEIM by default

WEIM cannot be used when I2C3 is enabled due to pin conflict, so keep
WEIM disabled by default.

I2C3 controls GPIO I2C expander (USB host and OTG have VBUS controlled by
the GPIO I2C expander), magnetometer, accelerometer.

Not disabling WEIM in U-Boot causes I2C3 to behave badly when booting
a NXP 4.1 kernel, which leads to probe failure on several devices,
including the lack of USB:

imx_usb 2184000.usb: Can't register ci_hdrc platform device, err=-517

By keeping WEIM disabled in U-Boot these kernel issues are gone.

Reported-by: Takashi Matsuzawa <tmatsuzawa@xevo.com>
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
7 years agoimx: reorganize IMX code as other SOCs
Stefano Babic [Thu, 29 Jun 2017 08:16:06 +0000 (10:16 +0200)]
imx: reorganize IMX code as other SOCs

Change is consistent with other SOCs and it is in preparation
for adding SOMs. SOC's related files are moved from cpu/ to
mach-imx/<SOC>.

This change is also coherent with the structure in kernel.

Signed-off-by: Stefano Babic <sbabic@denx.de>
CC: Fabio Estevam <fabio.estevam@nxp.com>
CC: Akshay Bhat <akshaybhat@timesys.com>
CC: Ken Lin <Ken.Lin@advantech.com.tw>
CC: Marek Vasut <marek.vasut@gmail.com>
CC: Heiko Schocher <hs@denx.de>
CC: "Sébastien Szymanski" <sebastien.szymanski@armadeus.com>
CC: Christian Gmeiner <christian.gmeiner@gmail.com>
CC: Stefan Roese <sr@denx.de>
CC: Patrick Bruenn <p.bruenn@beckhoff.com>
CC: Troy Kisky <troy.kisky@boundarydevices.com>
CC: Nikita Kiryanov <nikita@compulab.co.il>
CC: Otavio Salvador <otavio@ossystems.com.br>
CC: "Eric Bénard" <eric@eukrea.com>
CC: Jagan Teki <jagan@amarulasolutions.com>
CC: Ye Li <ye.li@nxp.com>
CC: Peng Fan <peng.fan@nxp.com>
CC: Adrian Alonso <adrian.alonso@nxp.com>
CC: Alison Wang <b18965@freescale.com>
CC: Tim Harvey <tharvey@gateworks.com>
CC: Martin Donnelly <martin.donnelly@ge.com>
CC: Marcin Niestroj <m.niestroj@grinn-global.com>
CC: Lukasz Majewski <lukma@denx.de>
CC: Adam Ford <aford173@gmail.com>
CC: "Albert ARIBAUD (3ADEV)" <albert.aribaud@3adev.fr>
CC: Boris Brezillon <boris.brezillon@free-electrons.com>
CC: Soeren Moch <smoch@web.de>
CC: Richard Hu <richard.hu@technexion.com>
CC: Wig Cheng <wig.cheng@technexion.com>
CC: Vanessa Maegima <vanessa.maegima@nxp.com>
CC: Max Krummenacher <max.krummenacher@toradex.com>
CC: Stefan Agner <stefan.agner@toradex.com>
CC: Markus Niebel <Markus.Niebel@tq-group.com>
CC: Breno Lima <breno.lima@nxp.com>
CC: Francesco Montefoschi <francesco.montefoschi@udoo.org>
CC: Jaehoon Chung <jh80.chung@samsung.com>
CC: Scott Wood <oss@buserror.net>
CC: Joe Hershberger <joe.hershberger@ni.com>
CC: Anatolij Gustschin <agust@denx.de>
CC: Simon Glass <sjg@chromium.org>
CC: "Andrew F. Davis" <afd@ti.com>
CC: "Łukasz Majewski" <l.majewski@samsung.com>
CC: Patrice Chotard <patrice.chotard@st.com>
CC: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
CC: Hans de Goede <hdegoede@redhat.com>
CC: Masahiro Yamada <yamada.masahiro@socionext.com>
CC: Stephen Warren <swarren@nvidia.com>
CC: Andre Przywara <andre.przywara@arm.com>
CC: "Álvaro Fernández Rojas" <noltari@gmail.com>
CC: York Sun <york.sun@nxp.com>
CC: Xiaoliang Yang <xiaoliang.yang@nxp.com>
CC: Chen-Yu Tsai <wens@csie.org>
CC: George McCollister <george.mccollister@gmail.com>
CC: Sven Ebenfeld <sven.ebenfeld@gmail.com>
CC: Filip Brozovic <fbrozovic@gmail.com>
CC: Petr Kulhavy <brain@jikos.cz>
CC: Eric Nelson <eric@nelint.com>
CC: Bai Ping <ping.bai@nxp.com>
CC: Anson Huang <Anson.Huang@nxp.com>
CC: Sanchayan Maity <maitysanchayan@gmail.com>
CC: Lokesh Vutla <lokeshvutla@ti.com>
CC: Patrick Delaunay <patrick.delaunay@st.com>
CC: Gary Bisson <gary.bisson@boundarydevices.com>
CC: Alexander Graf <agraf@suse.de>
CC: u-boot@lists.denx.de
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
7 years agommc: fsl_esdhc: drop CONFIG_SYS_FSL_ESDHC_FORCE_VSELECT
Peng Fan [Mon, 12 Jun 2017 09:50:55 +0000 (17:50 +0800)]
mmc: fsl_esdhc: drop CONFIG_SYS_FSL_ESDHC_FORCE_VSELECT

CONFIG_SYS_FSL_ESDHC_FORCE_VSELECT is not the correct method
to set I/O to 1.8. To boards that does not support vqmmc-supply,
use vs18_enable in fsl_esdhc_cfg. If regulator is supported,
use fixed 1.8V regulator for vqmmc-supply.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Cc: York Sun <york.sun@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
7 years agodm: mmc: fsl_esdhc: handle vqmmc supply
Peng Fan [Mon, 12 Jun 2017 09:50:54 +0000 (17:50 +0800)]
dm: mmc: fsl_esdhc: handle vqmmc supply

Handle vqmmc supply. Some boards have a fixed I/O voltage
at 1.8V for emmc, so the usdhc also needs to be configured
as 1.8V by setting VSELECT bit. The vs18_enable is the one
that used to checking whether setting VSELECT or not in
the driver. So if vqmmc supply is 1.8V, set vs18_enable,
the driver will set VSELECT.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Cc: York Sun <york.sun@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
7 years agommc: fsl_esdhc: introduce vs18_enable for 1.8V fix I/O
Peng Fan [Mon, 12 Jun 2017 09:50:53 +0000 (17:50 +0800)]
mmc: fsl_esdhc: introduce vs18_enable for 1.8V fix I/O

When using eMMC with 1.8V I/O, the VSELECT bit need to be set in
the USDHC controller when init.

This patch adds a parameter "vs18_enable" in fsl_esdhc_cfg
structure and priv data, so each controller can have different
settings.

We could not use CONFIG_SYS_FSL_ESDHC_FORCE_VSELECT, it has problem
that it will apply to all USDHC controllers and it only set the 1.8V
at init phase. So if user does not select to the eMMC device,
the voltage on the I/O pins are not correct.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Cc: York Sun <york.sun@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
7 years agommc: fsl_esdhc: correct type of wp_enable
Peng Fan [Mon, 12 Jun 2017 09:50:52 +0000 (17:50 +0800)]
mmc: fsl_esdhc: correct type of wp_enable

The type should be int, not u8. cfg->wp_enable will finally be
assigned to priv->wp_enable whose type is int.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 years agoimx6_spl: Add u-boot-dtb.img for SPL payload
Jagan Teki [Thu, 1 Jun 2017 17:28:34 +0000 (22:58 +0530)]
imx6_spl: Add u-boot-dtb.img for SPL payload

Add u-boot-dtb.img for SPL_FS_LOAD_PAYLOAD_NAME when
OF_CONTROL used.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
7 years agomx6sabreauto: Update to SPL only mode
Vanessa Maegima [Thu, 29 Jun 2017 12:33:46 +0000 (09:33 -0300)]
mx6sabreauto: Update to SPL only mode

As mx6sabreauto supports SPL now, all variants can boot using the same
defconfig.

This patch:
- Removes non-SPL targets.
- Renames target to mx6sabreauto_defconfig.
- Renames folder and board files to mx6sabreauto.
- Updates MAINTAINERS, Makefile and Kconfig accordingly.
- Removes .cfg files.
- Adds a README with instructions to build and flash SPL and u-boot.img.

Signed-off-by: Vanessa Maegima <vanessa.maegima@nxp.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
7 years agomx6qsabreauto: Add SPL support
Vanessa Maegima [Thu, 29 Jun 2017 12:33:45 +0000 (09:33 -0300)]
mx6qsabreauto: Add SPL support

Add support for mx6q, mx6dl and mx6qp sabreauto boards in SPL.

Retrieved the mx6q DCD table from:
board/freescale/mx6qsabreauto/imximage.cfg

Retrieved the mx6dl DCD table from:
board/freescale/mx6qsabreauto/mx6dl.cfg

Retrieved the mx6qp DCD table from:
board/freescale/mx6qsabreauto/mx6qp.cfg

Flashed SPL and u-boot.img to an SD card and could successfully boot it
on mx6q, mx6qp and mx6dl sabreauto boards.

Signed-off-by: Vanessa Maegima <vanessa.maegima@nxp.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
7 years agomx6cuboxi: Add support for sata
Peter Robinson [Sat, 1 Jul 2017 17:44:03 +0000 (18:44 +0100)]
mx6cuboxi: Add support for sata

The Cubox-i and Hummingboard series of devices have an option of
SATA on board, and depending on how the fuses are blown even the
option to boot SPL from SATA. So enable support for it so it can
be used to boot the OS from if people desire.

Cc: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Acked-by: Fabio Estevam <fabio.estevam@nxp.com>
7 years agomx7dsabresd: Set VLD04 output to 2.8V in PMIC initialization.
Gautam Bhat [Sun, 2 Jul 2017 19:20:32 +0000 (00:50 +0530)]
mx7dsabresd: Set VLD04 output to 2.8V in PMIC initialization.

This change sets the VLDO4 settings output to 2.8V in PMIC
initialization so that the MIPI DSI/CSI input voltage is 2.8V
as per the schematics. The original code provides an output of
3.3V which violates the voltage mentioned in the schematics.

Signed-off-by: Gautam Bhat <mindentropy@gmail.com>
Acked-by: Fabio Estevam <fabio.estevam@nxp.com>
7 years agomx6: soc: Move mxs_dma_init() into the mxs nand driver
Fabio Estevam [Thu, 29 Jun 2017 12:33:44 +0000 (09:33 -0300)]
mx6: soc: Move mxs_dma_init() into the mxs nand driver

Currently the following build error is seen when a board using MMC SPL
is built and the MXS nand driver is also selected:

arch/arm/cpu/armv7/built-in.o: In function `arch_cpu_init':
arch/arm/cpu/armv7/mx6/soc.c:432: undefined reference to 'mxs_dma_init'

On mx6 the only user of mxs_dma_init() is the mxs nand driver, so
move it there.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
7 years agonet: fec_mxc: fix PHY initialization bug with CONFIG_DM_ETH
Lothar Waßmann [Tue, 27 Jun 2017 13:23:16 +0000 (15:23 +0200)]
net: fec_mxc: fix PHY initialization bug with CONFIG_DM_ETH

When CONFIG_DM_ETH is set, the FEC ethernet controller is reset after
the PHY has been set up and initialzed. This breaks the communication
with the PHY and results in an inoperable ethernet interface.

Do the initialization with CONFIG_DM_ETH in the same order as with
legacy ETH support to fix this.

Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
7 years agoicorem6_rqs: Rename icorem6_rqs config file
Jagan Teki [Tue, 13 Jun 2017 10:00:37 +0000 (15:30 +0530)]
icorem6_rqs: Rename icorem6_rqs config file

imx6qdl_icore_mmc_defconfig => imx6qdl_icore_rqs_defconfig
Since icorem6_rqs support MMC/eMMC boot, so doesn't need
to name it explicitly.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
7 years agodt-bindings: Document the Broadcom STB wake-up timer node
Florian Fainelli [Mon, 26 Jun 2017 21:15:02 +0000 (14:15 -0700)]
dt-bindings: Document the Broadcom STB wake-up timer node

Document the binding for the Broadcom STB SoCs wake-up timer node
allowing the system to generate alarms and exit low power states.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
7 years agoserial: mxc: Add debug uart support
Jagan Teki [Tue, 6 Jun 2017 05:31:51 +0000 (05:31 +0000)]
serial: mxc: Add debug uart support

Add support for the debug UART to assist with early debugging.
Enable it for i.CoreM6 as an example.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agoserial: mxc: Code cleanup
Jagan Teki [Tue, 6 Jun 2017 05:31:50 +0000 (05:31 +0000)]
serial: mxc: Code cleanup

- Remove space between #define to macro
- Add tab between macro and value

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agoserial: mxc: Move common baud gen into _mxc_serial_setbrg
Jagan Teki [Tue, 6 Jun 2017 05:31:49 +0000 (05:31 +0000)]
serial: mxc: Move common baud gen into _mxc_serial_setbrg

Move the common baud generation code into _mxc_serial_setbrg
so-that dm and non-dm can call this func.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Simon Glass <sjg@chromium.org>