platform/kernel/u-boot.git
7 years agoimx: nitrogen6x: fix USB host initialization
Gary Bisson [Thu, 12 Jan 2017 11:18:44 +0000 (12:18 +0100)]
imx: nitrogen6x: fix USB host initialization

USB Host scanning has been broken since v2016.05.

This is due to all the USB changes that happened between v2016.03
and v2016.05, especially:
2ef117fe4f usb: Remove 200 ms delay in usb_hub_port_connect_change()
a22a264ec3 usb: Change power-on / scanning timeout handling

So we need to increase the init delay to 2s using the usb_pgood_delay
environment variable.

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
7 years agoREADME: mxc_hab: Adapt the CONFIG_SECURE_BOOT text to Kconfig
Fabio Estevam [Thu, 5 Jan 2017 23:33:08 +0000 (21:33 -0200)]
README: mxc_hab: Adapt the CONFIG_SECURE_BOOT text to Kconfig

Commit 6e1f4d2652e79 ("arm: imx-common: add SECURE_BOOT option to
Kconfig") moved the CONFIG_SECURE_BOOT option to Kconfig, so update
the mxc_hab README file to reflect that.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Gary Bisson <gary.bisson@boundarydevices.com>
7 years agomx6qsabreauto: Pass the correct parallel NOR width
Fabio Estevam [Thu, 15 Dec 2016 18:00:11 +0000 (16:00 -0200)]
mx6qsabreauto: Pass the correct parallel NOR width

On mx6qsabreauto the parallel NOR width is 16 bits, so pass configure
CONFIG_SYS_FLASH_CFI_WIDTH correctly so that the CFI driver does not
use 8 bits by default.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
7 years agotools: imximage: refactor header length calculations for imximage v1
Martin Kaiser [Mon, 2 Jan 2017 21:24:17 +0000 (22:24 +0100)]
tools: imximage: refactor header length calculations for imximage v1

We can use the same header length calculations for both imximage v1 and
v2. This addresses TODO comments about imximage v1 in the current code.

With this patch applied, *header_size_ptr in imximage_set_header() will
have the correct value for both imximage v1 and v2. This is necessary
for people wanting to add proprietary data behind the created imximage.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Cc: sbabic@denx.de
7 years agoMerge git://www.denx.de/git/u-boot-marvell
Tom Rini [Thu, 26 Jan 2017 17:26:24 +0000 (12:26 -0500)]
Merge git://www.denx.de/git/u-boot-marvell

7 years agocmd: ubi: allow '-' to specify maximum volume size
Ladislav Michl [Thu, 19 Jan 2017 10:45:35 +0000 (11:45 +0100)]
cmd: ubi: allow '-' to specify maximum volume size

Currently maximum volume size can be specified only if no other
arguments are used. Use '-' placeholder as volume size to allow
maximum volume size to be specified together with volume id and
type.

Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
7 years agoMerge git://git.denx.de/u-boot-mpc85xx
Tom Rini [Wed, 25 Jan 2017 22:09:01 +0000 (17:09 -0500)]
Merge git://git.denx.de/u-boot-mpc85xx

7 years agoDrop CONFIG_CMD_DOC
Simon Glass [Mon, 23 Jan 2017 20:31:27 +0000 (13:31 -0700)]
Drop CONFIG_CMD_DOC

This is not used in U-Boot, and the only usage calls a non-existent
function. Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agoDrop prt_mpc5xxx_clks() in favour of print_cpuinfo()
Simon Glass [Mon, 23 Jan 2017 20:31:26 +0000 (13:31 -0700)]
Drop prt_mpc5xxx_clks() in favour of print_cpuinfo()

Rather than having an arch-specific function, use the existing generic
one.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agoDrop the static inline print_cpuinfo()
Simon Glass [Mon, 23 Jan 2017 20:31:25 +0000 (13:31 -0700)]
Drop the static inline print_cpuinfo()

This is only called from one place and the function cannot be inlined.
Convert it to a normal function.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agoDrop CONFIG_WINBOND_83C553
Simon Glass [Mon, 23 Jan 2017 20:31:24 +0000 (13:31 -0700)]
Drop CONFIG_WINBOND_83C553

This is not used in U-Boot. Drop this option and associated dead code.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agopowerpc: Drop CONFIG_SYS_ALLOC_DPRAM
Simon Glass [Mon, 23 Jan 2017 20:31:23 +0000 (13:31 -0700)]
powerpc: Drop CONFIG_SYS_ALLOC_DPRAM

This is not defined anywhere in U-Boot. Drop this dead code.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agopowerpc: Drop probecpu() in favour of arch_cpu_init()
Simon Glass [Mon, 23 Jan 2017 20:31:22 +0000 (13:31 -0700)]
powerpc: Drop probecpu() in favour of arch_cpu_init()

To avoid an unnecessary arch-specific call in board_init_f(), rename this
function.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agoConvert CONFIG_ARCH_MISC_INIT to Kconfig
Simon Glass [Mon, 23 Jan 2017 20:31:21 +0000 (13:31 -0700)]
Convert CONFIG_ARCH_MISC_INIT to Kconfig

This converts the following to Kconfig:
   CONFIG_ARCH_MISC_INIT

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agoConvert CONFIG_BOARD_EARLY_INIT_F to Kconfig
Simon Glass [Mon, 23 Jan 2017 20:31:20 +0000 (13:31 -0700)]
Convert CONFIG_BOARD_EARLY_INIT_F to Kconfig

This converts the following to Kconfig:
   CONFIG_BOARD_EARLY_INIT_F

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agoConvert CONFIG_ARCH_EARLY_INIT_R to Kconfig
Simon Glass [Mon, 23 Jan 2017 20:31:19 +0000 (13:31 -0700)]
Convert CONFIG_ARCH_EARLY_INIT_R to Kconfig

This converts the following to Kconfig:
   CONFIG_ARCH_EARLY_INIT_R

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agoconfig: Drop CONFIG_ARCH_DMA_PIO_WORDS
Simon Glass [Mon, 23 Jan 2017 20:31:18 +0000 (13:31 -0700)]
config: Drop CONFIG_ARCH_DMA_PIO_WORDS

This is not defined by any board in U-Boot.

Signed-off-by: Simon Glass <sjg@chromium.org>
7 years agoarm64: mvebu: Update bubt command MMC block device access
Konstantin Porotchkin [Sun, 8 Jan 2017 14:52:06 +0000 (16:52 +0200)]
arm64: mvebu: Update bubt command MMC block device access

Update the MMC block device access code in bubt command
implementation according to the latest MMC driver changes.

Change-Id: Ie852ceefa0b040ffe1362bdb7815fcea9b2d923b
Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
Cc: Stefan Roese <sr@denx.de>
Cc: Nadav Haklai <nadavh@marvell.com>
Cc: Neta Zur Hershkovits <neta@marvell.com>
Cc: Omri Itach <omrii@marvell.com>
Cc: Igal Liberman <igall@marvell.com>
Cc: Haim Boot <hayim@marvell.com>
Cc: Hanna Hawa <hannah@marvell.com>
7 years agoarm64: mvebu: Enable SDHCI/MMC support for the db-88f7040/8040
Stefan Roese [Fri, 9 Dec 2016 14:43:26 +0000 (15:43 +0100)]
arm64: mvebu: Enable SDHCI/MMC support for the db-88f7040/8040

This patch enables the MMC support for the SDHCI controller on the
Armada 7k db-88f7040 and the Armada 8k db-88f8040 board.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Nadav Haklai <nadavh@marvell.com>
Cc: Kostya Porotchkin <kostap@marvell.com>
Cc: Wilson Ding <dingwei@marvell.com>
Cc: Victor Gu <xigu@marvell.com>
Cc: Hua Jing <jinghua@marvell.com>
Cc: Terry Zhou <bjzhou@marvell.com>
Cc: Hanna Hawa <hannah@marvell.com>
Cc: Haim Boot <hayim@marvell.com>
7 years agoarm64: mvebu: Armada 7040-db: Add SDHCI device tree nodes
Stefan Roese [Fri, 9 Dec 2016 14:42:15 +0000 (15:42 +0100)]
arm64: mvebu: Armada 7040-db: Add SDHCI device tree nodes

This patch adds the SDHCI device tree nodes to the Armada 7040-db
dts file.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Nadav Haklai <nadavh@marvell.com>
Cc: Kostya Porotchkin <kostap@marvell.com>
Cc: Wilson Ding <dingwei@marvell.com>
Cc: Victor Gu <xigu@marvell.com>
Cc: Hua Jing <jinghua@marvell.com>
Cc: Terry Zhou <bjzhou@marvell.com>
Cc: Hanna Hawa <hannah@marvell.com>
Cc: Haim Boot <hayim@marvell.com>
7 years agoarm64: mvebu: Armada 7k/8k: Add SDHCI device tree nodes
Stefan Roese [Fri, 9 Dec 2016 14:40:05 +0000 (15:40 +0100)]
arm64: mvebu: Armada 7k/8k: Add SDHCI device tree nodes

This patch adds the SDHCI device tree nodes to the Armada AP806 dtsi
file which is used by the Armada 7k/8K SoCs.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Nadav Haklai <nadavh@marvell.com>
Cc: Kostya Porotchkin <kostap@marvell.com>
Cc: Wilson Ding <dingwei@marvell.com>
Cc: Victor Gu <xigu@marvell.com>
Cc: Hua Jing <jinghua@marvell.com>
Cc: Terry Zhou <bjzhou@marvell.com>
Cc: Hanna Hawa <hannah@marvell.com>
Cc: Haim Boot <hayim@marvell.com>
7 years agoarm64: mvebu: Enable SDHCI/MMC support for the db-88f3720
Stefan Roese [Fri, 9 Dec 2016 14:13:35 +0000 (15:13 +0100)]
arm64: mvebu: Enable SDHCI/MMC support for the db-88f3720

This patch enables the MMC support for the SDHCI controller on the
Armada 3700 db-88f3720 board.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Nadav Haklai <nadavh@marvell.com>
Cc: Kostya Porotchkin <kostap@marvell.com>
Cc: Wilson Ding <dingwei@marvell.com>
Cc: Victor Gu <xigu@marvell.com>
Cc: Hua Jing <jinghua@marvell.com>
Cc: Terry Zhou <bjzhou@marvell.com>
Cc: Hanna Hawa <hannah@marvell.com>
Cc: Haim Boot <hayim@marvell.com>
7 years agoarm64: mvebu: Armada 3720-db: Add SDHCI device tree nodes
Stefan Roese [Fri, 9 Dec 2016 14:12:07 +0000 (15:12 +0100)]
arm64: mvebu: Armada 3720-db: Add SDHCI device tree nodes

This patch adds the SDHCI device tree nodes to the Armada 3700-db
dts file.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Nadav Haklai <nadavh@marvell.com>
Cc: Kostya Porotchkin <kostap@marvell.com>
Cc: Wilson Ding <dingwei@marvell.com>
Cc: Victor Gu <xigu@marvell.com>
Cc: Hua Jing <jinghua@marvell.com>
Cc: Terry Zhou <bjzhou@marvell.com>
Cc: Hanna Hawa <hannah@marvell.com>
Cc: Haim Boot <hayim@marvell.com>
7 years agoarm64: mvebu: Armada 3700: Add SDHCI device tree nodes
Stefan Roese [Fri, 9 Dec 2016 14:10:31 +0000 (15:10 +0100)]
arm64: mvebu: Armada 3700: Add SDHCI device tree nodes

This patch adds the SDHCI device tree nodes to the Armada 3700 dtsi
file.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Nadav Haklai <nadavh@marvell.com>
Cc: Kostya Porotchkin <kostap@marvell.com>
Cc: Wilson Ding <dingwei@marvell.com>
Cc: Victor Gu <xigu@marvell.com>
Cc: Hua Jing <jinghua@marvell.com>
Cc: Terry Zhou <bjzhou@marvell.com>
Cc: Hanna Hawa <hannah@marvell.com>
Cc: Haim Boot <hayim@marvell.com>
7 years agommc: Add Marvell Xenon SDHCI controller driver
Stefan Roese [Fri, 9 Dec 2016 14:03:28 +0000 (15:03 +0100)]
mmc: Add Marvell Xenon SDHCI controller driver

This driver implementes platform specific code for the Xenon SDHCI
controller which is integrated in the Marvell MVEBU Armada 37xx and
Armada 7k / 8K SoCs.

History:
This driver is ported from the Marvell U-Boot version 2015.01 which is
written by Victor Gu <xigu@marvell.com> with minor changes ported from
the Linux driver which is written by Ziji Hu <huziji@marvell.com>.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
7 years agommc: sdhci: Add support for optional controller specific set_ios_post()
Stefan Roese [Mon, 12 Dec 2016 07:24:56 +0000 (08:24 +0100)]
mmc: sdhci: Add support for optional controller specific set_ios_post()

Some SDHCI drivers might need to do some special controller configuration
after the common clock set_ios() function has been called (speed / width
configuration). This patch adds a call to the newly created function
set_ios_port() when its configured in the host driver.

This will be used by the Xenon SDHCI controller driver used on the
Marvell Armada 3700 and 7k/8k ARM64 SoCs.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Cc: Simon Glass <sjg@chromium.org>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
7 years agommc: sdhci: Clear SDHCI_CLOCK_CONTROL before configuring the new value
Stefan Roese [Mon, 12 Dec 2016 07:34:42 +0000 (08:34 +0100)]
mmc: sdhci: Clear SDHCI_CLOCK_CONTROL before configuring the new value

This patch completely clears the SDHCI_CLOCK_CONTROL register before the
new value is configured instead of just clearing the 2 bits
SDHCI_CLOCK_CARD_EN and SDHCI_CLOCK_INT_EN. Without this change, some
clock configurations will lead to the "Internal clock never stabilised."
error message on the Xenon SDHCI controller used on the Marvell Armada
3700 and 7k/8k ARM64 SoCs.

The Linux SDHCI core driver also writes 0 to this register before
the new value is configured. So this patch simplifies the driver a bit
and brings the U-Boot driver more in-line with the Linux one.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Cc: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Cc: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
7 years agopowerpc: Enable flush and invalidate dcache by range for MPC85xx
Tony O'Brien [Fri, 6 Jan 2017 04:29:45 +0000 (17:29 +1300)]
powerpc: Enable flush and invalidate dcache by range for MPC85xx

Commit ac337168a unified functions to flush and invalidate dcache by
range. These two functions were no-ops for SoCs other than 4xx and
MPC86xx. Adding these functions seemed to be correct but introduced
issues in some drivers when the dcache was flushed. While the root
cause was under investigation, these functions were disabled in
Commit cb1629f91a for affected SoCs, including the MPC85xx, to make
the various drivers work.

On the T208x USB stopped working after v2016.07 was pulled.  After
re-enabling the dcache functions for the MPC85xx it started working
again.  The USB and DPPA Ethernet drivers have been seen as
operational after this change but other drivers cannot be tested.

Reviewed-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Signed-off-by: Tony O'Brien <tony.obrien@alliedtelesis.co.nz>
Cc: Marek Vasut <marex@denx.de>
Cc: York Sun <york.sun@nxp.com>
Reviewed-by: York Sun <york.sun>
7 years agompc85xx: pcie: Implement workaround for Erratum A007815
Tony O'Brien [Thu, 1 Dec 2016 20:22:34 +0000 (09:22 +1300)]
mpc85xx: pcie: Implement workaround for Erratum A007815

The read-only-write-enable bit is set by default and must be cleared
to prevent overwriting read-only registers.  This should be done
immediately after resetting the PCI Express controller.

Reviewed-by: Hamish Martin <hamish.martin@alliedtelesis.co.nz>
Signed-off-by: Tony O'Brien <tony.obrien@alliedtelesis.co.nz>
[York S: Move SYS_FSL_ERRATUM_A007815 to Kconfig]
Reviewed-by: York Sun <york.sun@nxp.com>
7 years agopowerpc: mpc85xx: Implemente workaround for CPU erratum A-007907
Darwin Dingel [Mon, 24 Oct 2016 20:48:01 +0000 (09:48 +1300)]
powerpc: mpc85xx: Implemente workaround for CPU erratum A-007907

Core hang occurs when using L1 stashes. Workaround is to disable L1
stashes so software uses L2 cache for stashes instead.

Reviewed-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Signed-off-by: Darwin Dingel <darwin.dingel@alliedtelesis.co.nz>
Cc: York Sun <york.sun@nxp.com>
[York S: Move SYS_FSL_ERRATUM_A007907 to Kconfig]
Reviewed-by: York Sun <york.sun@nxp.com>
7 years agotravis-ci: Add swig and libpython-dev to the package list
Tom Rini [Mon, 23 Jan 2017 22:40:22 +0000 (17:40 -0500)]
travis-ci: Add swig and libpython-dev to the package list

As part of 1905c8fc711a we introduced failures depending on if swig and
libpython-dev are installed or not.  To provide coverage for this are of
code in the future ensure we have these packages installed.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
7 years agomach-omap2: Cleanup secure boot media generation
Andrew F. Davis [Mon, 23 Jan 2017 17:34:37 +0000 (11:34 -0600)]
mach-omap2: Cleanup secure boot media generation

Currently all secure media types of SPL are generated for all platforms,
all platforms do not need all types, only generate the media types valid
for each platform.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Tested-by: Lokesh Vutla <lokeshvutla@ti.com>
7 years agotools: Correct python building host tools
Tom Rini [Mon, 23 Jan 2017 16:44:33 +0000 (11:44 -0500)]
tools: Correct python building host tools

When we have python building tools for the host it will not check HOSTXX
variables but only XX variables, for example LDFLAGS and not
HOSTLDFLAGS.

Cc: Simon Glass <sjg@chromium.org>
Reported-by: Heiko Schocher <hs@denx.de>
Fixes: 1905c8fc711a ("build: Always build the libfdt python module")
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
Tested-by: Heiko Schocher <hs@denx.de>
7 years agobootz/booti: relocate ramdisk if CONFIG_SYS_BOOT_RAMDISK_HIGH set
Cédric Schieli [Mon, 23 Jan 2017 15:51:45 +0000 (16:51 +0100)]
bootz/booti: relocate ramdisk if CONFIG_SYS_BOOT_RAMDISK_HIGH set

In commit c2e7e72, the ramdisk relocation code was moved from
image_setup_linux to do_bootm, leaving the bootz and booti cases broken.

This patch fixes both by adding the BOOTM_STATE_RAMDISK state in their
call to do_bootm_states if CONFIG_SYS_BOOT_RAMDISK_HIGH is set.

Signed-off-by: Cédric Schieli <cschieli@gmail.com>
Reviewed-by: Rick Altherr <raltherr@google.com>
Tested-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoarm: am57xx: cl-som-am57x: fix Ethernet
Uri Mashiach [Mon, 23 Jan 2017 11:14:18 +0000 (13:14 +0200)]
arm: am57xx: cl-som-am57x: fix Ethernet

The module is continuously rebooting with the following message:
Net:   data abort
pc : [<fff77f42>]          lr : [<fff6e32b>]
reloc pc : [<80816f42>]    lr : [<8080d32b>]
sp : fdf5ce48  ip : fdf5d79c     fp : 00000017
r10: 8083cd58  r9 : fdf5cef0     r8 : fdf5d5d0
r7 : 48485000  r6 : 400000ff     r5 : fdf5d6e0  r4 : fdf5d618
r3 : fdf5d5b4  r2 : fdf5d5d0     r1 : 643a3631  r0 : fdf5d6e0
Flags: nzCv  IRQs off  FIQs off  Mode SVC_32
Resetting CPU ...

Modifications:
* Enable Ethernet configuration in the SPL.
* Update PINMUX of PHY enable GPIO.

Signed-off-by: Uri Mashiach <uri.mashiach@compulab.co.il>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoKconfig: Migrate BOARD_LATE_INIT to a select
Tom Rini [Mon, 23 Jan 2017 00:43:11 +0000 (19:43 -0500)]
Kconfig: Migrate BOARD_LATE_INIT to a select

This option should not really be user selectable.  Note that on PowerPC
we currently only need BOARD_LATE_INIT when CHAIN_OF_TRUST is enabled so be
conditional on that.

Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com> (for UniPhier)
7 years agoNXP: Introduce board/freescale/common/Kconfig and migrate CHAIN_OF_TRUST
Tom Rini [Mon, 23 Jan 2017 00:43:10 +0000 (19:43 -0500)]
NXP: Introduce board/freescale/common/Kconfig and migrate CHAIN_OF_TRUST

Introduce board/freescale/common/Kconfig so that we have a single place
for CONFIG options that are shared between ARM and PowerPC NXP platforms.

Cc: York Sun <york.sun@nxp.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: York Sun <york.sun@nxp.com>
7 years agoimx31_phycore: Split the eet variant out into a different TARGET
Tom Rini [Mon, 23 Jan 2017 00:43:09 +0000 (19:43 -0500)]
imx31_phycore: Split the eet variant out into a different TARGET

Rename CONFIG_IMX31_PHYCORE_EET to CONFIG_TARGET_IMX31_PHYCORE_EET and
make this a distinct config target.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agorpi: Fix device tree path on ARM64
Tuomas Tynkkynen [Sun, 22 Jan 2017 23:34:39 +0000 (01:34 +0200)]
rpi: Fix device tree path on ARM64

The directory structure of device tree files produced by the kernel's
'make dtbs_install' is different on ARM64, the RPi3 device tree file is
in a 'broadcom' subdirectory there.

Signed-off-by: Tuomas Tynkkynen <tuomas@tuxera.com>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
7 years agommc: Print error code for mmc_complete_init failure
Jagan Teki [Tue, 10 Jan 2017 10:18:43 +0000 (11:18 +0100)]
mmc: Print error code for mmc_complete_init failure

Print the error code for non-zero (failure case) instead
of making debug statement without any condition, this
usually gives proper clue in failure condition.

Log:

7 years agommc: sdhci: Distinguish between base clock and maximum peripheral frequency
Stefan Herbrechtsmeier [Tue, 17 Jan 2017 14:58:48 +0000 (15:58 +0100)]
mmc: sdhci: Distinguish between base clock and maximum peripheral frequency

The sdhci controller assumes that the base clock frequency is fully supported by
the peripheral and doesn't support hardware limitations. The Linux kernel
distinguishes between base clock (max_clk) of the host controller and maximum
frequency (f_max) of the card interface. Use the same differentiation and allow
the platform to constrain the peripheral interface.

Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
7 years agoMerge branch 'master' of git://git.denx.de/u-boot-uniphier
Tom Rini [Sun, 22 Jan 2017 22:07:48 +0000 (17:07 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-uniphier

  - Allow to disable SPL (mainly for ATF)
  - Refactor SoC init code
  - Update DRAM settings
  - Add PXs3 SoC support (DT, pinctrl driver, SoC code)

7 years agoARM: uniphier: add PXs3 SoC support
Masahiro Yamada [Sat, 21 Jan 2017 09:05:31 +0000 (18:05 +0900)]
ARM: uniphier: add PXs3 SoC support

Initial support for PXs3 SoC.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: dts: uniphier: add PXs3 SoC/board support
Masahiro Yamada [Sat, 21 Jan 2017 09:05:30 +0000 (18:05 +0900)]
ARM: dts: uniphier: add PXs3 SoC/board support

Initial commit for the PXs3 SoC DT.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agopinctrl: uniphier: support UniPhier PXs3 pinctrl driver
Masahiro Yamada [Sat, 21 Jan 2017 09:05:29 +0000 (18:05 +0900)]
pinctrl: uniphier: support UniPhier PXs3 pinctrl driver

Add pin configuration and pinmux support for UniPhier PXs3 SoC.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: dts: uniphier: compile only DT files that make sense
Masahiro Yamada [Sat, 21 Jan 2017 09:05:28 +0000 (18:05 +0900)]
ARM: dts: uniphier: compile only DT files that make sense

All the UniPhier DT files are compiled if CONFIG_ARCH_UNIPHIER
is enabled, but not all of them actually work.  For example, when
U-Boot is compiled for ARM 32 bit, 64 bit DT files are also built,
and vice versa.  Compile only the combination that makes sense.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: add macro to generate SoC data look-up function
Masahiro Yamada [Sat, 21 Jan 2017 09:05:27 +0000 (18:05 +0900)]
ARM: uniphier: add macro to generate SoC data look-up function

There are similar functions that look up SoC data by the SoC ID.
The new macro UNIPHIER_DEFINE_SOCDATA_FUNC will be helpful to
avoid the code duplication.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: simplify SoC ID get function
Masahiro Yamada [Sat, 21 Jan 2017 09:05:26 +0000 (18:05 +0900)]
ARM: uniphier: simplify SoC ID get function

Currently, uniphier_get_soc_type() converts the SoC ID (this is
read from the revision register) to an enum symbol to use it for SoC
identification.  Come to think of it, there is no need for the
conversion in the first place.  Using the SoC ID from the register
as-is a straightforward way.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: replace <common.h> with <linux/delay.h> where possible
Masahiro Yamada [Sat, 21 Jan 2017 09:05:25 +0000 (18:05 +0900)]
ARM: uniphier: replace <common.h> with <linux/delay.h> where possible

The <common.h> includes too many headers.  Actually, these files
needed to include it for udelay() declaration.  Now we can replace
it with <linux/delay.h> thanks to commit 5bc516ed661a ("delay:
collect {m, n, u}delay declarations to include/linux/delay.h").

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: replace <linux/err.h> with <linux/errno.h>
Masahiro Yamada [Sat, 21 Jan 2017 09:05:24 +0000 (18:05 +0900)]
ARM: uniphier: replace <linux/err.h> with <linux/errno.h>

These files only need error number macros.  Actually, IS_ERR(),
PTR_ERR(), ERR_PTR(), etc. are not useful for U-Boot.  Avoid
unnecessary header includes.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: add uniphier_v8_defconfig
Masahiro Yamada [Sat, 21 Jan 2017 09:05:23 +0000 (18:05 +0900)]
ARM: uniphier: add uniphier_v8_defconfig

This defconfig does not support SPL.  If you use this, the basic
SoC initialization must be done in firmware that runs before U-Boot.
(Generally, ARM Trusted Firmware is expected to do this job).

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: make SPL optional for ARVv8 SoCs
Masahiro Yamada [Sat, 21 Jan 2017 09:05:22 +0000 (18:05 +0900)]
ARM: uniphier: make SPL optional for ARVv8 SoCs

We may want to run different firmware before running U-Boot.  For
example, ARM Trusted Firmware runs before U-Boot, making U-Boot
a non-secure world boot loader.  In this case, the SoC might be
initialized there, which enables us to skip SPL entirely.

This commit removes "select SPL" to make it configurable.  This
also enables the Multi SoC support for the UniPhier ARMv8 SoCs.
(CONFIG_ARCH_UNIPHIER_V8_MULTI)  Thanks to the driver model and
Device Tree, the U-Boot proper part is now written in a generic way.
The board/SoC parameters reside in DT.  The Multi SoC support
increases the memory footprint a bit, but the U-Boot proper does
not have strict memory constraint.  This will mitigate the per-SoC
(sometimes per-board) defconfig burden.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: add missing static and const qualifier
Masahiro Yamada [Sat, 21 Jan 2017 09:05:21 +0000 (18:05 +0900)]
ARM: uniphier: add missing static and const qualifier

These are file-internal and constant.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: fix delay fixup code in LD11 UMC init
Kotaro Hayashi [Mon, 19 Dec 2016 02:14:04 +0000 (11:14 +0900)]
ARM: uniphier: fix delay fixup code in LD11 UMC init

The ddrphy_shift_rof_hws() never writes back the shifted delay value
to the register, which makes this function non-effective.

Signed-off-by: Kotaro Hayashi <hayashi.kotaro@socionext.com>
[masahiro: add git log]
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agoARM: uniphier: update UMC_MEMMAPSET value for LD20 SoC
Wataru Okoshi [Wed, 18 Jan 2017 07:24:38 +0000 (16:24 +0900)]
ARM: uniphier: update UMC_MEMMAPSET value for LD20 SoC

Change bnk_typ's value from 8 to 0 (for G1's performance).

Signed-off-by: Wataru Okoshi <okoshi.wataru@socionext.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
7 years agotravis-ci: Split p1_p2_rdb_pc and p1010rdb into separate jobs
Tom Rini [Sat, 21 Jan 2017 22:58:08 +0000 (17:58 -0500)]
travis-ci: Split p1_p2_rdb_pc and p1010rdb into separate jobs

On occasion the job that does these two build types will hit the time
limit so split this in two.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agostatus_led: Kconfig migration
Uri Mashiach [Thu, 19 Jan 2017 08:51:45 +0000 (10:51 +0200)]
status_led: Kconfig migration

Move all of the status LED feature to drivers/led/Kconfig.
The LED status definitions were moved from the board configuration
files to the defconfig files.

TBD: Move all of the definitions in the include/status_led.h to the
relevant board's defconfig files.

Tested boards: CL-SOM-AM57x, CM-T335

Signed-off-by: Uri Mashiach <uri.mashiach@compulab.co.il>
7 years agostatus_led: Kconfig migration - introduction
Uri Mashiach [Thu, 19 Jan 2017 08:51:05 +0000 (10:51 +0200)]
status_led: Kconfig migration - introduction

Move all of the status LED feature to drivers/led/Kconfig.
doc/README.LED updated to reflect the Kconfig implementation.

Tested boards: CL-SOM-AM57x, CM-T335

Signed-off-by: Uri Mashiach <uri.mashiach@compulab.co.il>
7 years agoconfig: Move CONFIG_BOARD_LATE_INIT to defconfigs
Jagan Teki [Sat, 21 Jan 2017 10:48:33 +0000 (11:48 +0100)]
config: Move CONFIG_BOARD_LATE_INIT to defconfigs

Cc: Tom Rini <trini@konsulko.com>
Signed-off-by: Jagan Teki <jagan@openedev.com>
7 years agocommon: Kconfig: Add BOARD_LATE_INIT entry
Jagan Teki [Sat, 21 Jan 2017 10:48:32 +0000 (11:48 +0100)]
common: Kconfig: Add BOARD_LATE_INIT entry

This patch add Kconfig entry for CONFIG_BOARD_LATE_INIT

Cc: Tom Rini <trini@konsulko.com>
Signed-off-by: Jagan Teki <jagan@openedev.com>
7 years agomx6saberesd_spl: Correct falcon mode addition
Tom Rini [Sat, 21 Jan 2017 00:55:53 +0000 (19:55 -0500)]
mx6saberesd_spl: Correct falcon mode addition

When falcon mode support was added, it was right around when SPL_OS_BOOT
was migrated to Kconfig.  So first we must move the enablement to the
defconfig file.  Next, it turned off EXT support rather than add the
information to allow for falcon mode from EXT.  Add this information so
that the board compiles after 5d28b930f237.

Fixes: d96796ca23b2 ("mx6sabresd: Add Falcon mode support")
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
7 years agobootm: qnx: Disable data cache before booting QNX image
Emmanuel Vadot [Thu, 19 Jan 2017 09:23:56 +0000 (10:23 +0100)]
bootm: qnx: Disable data cache before booting QNX image

Instead of disabling the data cache in the bootelf command, disabling
it in the do_bootm_qnxelf function.
Some ELF binary might want the cache enabled.

Signed-off-by: Emmanuel Vadot <manu@bidouilliste.com>
7 years agotools: mkimage: fix sizeof_mismatch found by coverity
Sven Ebenfeld [Tue, 17 Jan 2017 18:36:51 +0000 (19:36 +0100)]
tools: mkimage: fix sizeof_mismatch found by coverity

Reported-by: Coverity (CID: 155214)
Signed-off-by: Sven Ebenfeld <sven.ebenfeld@gmail.com>
7 years agoARM: OMAP5+: Remove unsed dpll structures
Lokesh Vutla [Tue, 17 Jan 2017 03:22:59 +0000 (08:52 +0530)]
ARM: OMAP5+: Remove unsed dpll structures

Latest gcc compile strted complaining about defined structure definition
that are not used. Remove the unused sturctures.

Reported-by: Dan Murphy <dmurphy@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
7 years agoARM: OMAP4: Fix compiler warning
Lokesh Vutla [Tue, 17 Jan 2017 03:22:58 +0000 (08:52 +0530)]
ARM: OMAP4: Fix compiler warning

Latest gcc 6.2 compiler is throwing the below warning for omap4_panda_defconfig
arch/arm/mach-omap2/omap4/hw_data.c:136:3: warning: 'abe_dpll_params_sysclk_196608khz' defined but not used [-Wunused-const-variable=]
   abe_dpll_params_sysclk_196608khz[NUM_SYS_CLKS] = {

Fix this by guarding it with CONFIG_SYS_OMAP_ABE_SYSCK

Reported-by: Dan Murphy <dmurphy@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
7 years agobinman: add tools directory to the python path
Emmanuel Vadot [Mon, 16 Jan 2017 07:14:46 +0000 (08:14 +0100)]
binman: add tools directory to the python path

The built _libfdt.so is placed in the /tools dir and need to say here
as it contains relative paths.
Add the directory to the python path so binman can use this module.

Signed-off-by: Emmanuel Vadot <manu@bidouilliste.com>
7 years agobuild: Always build the libfdt python module
Emmanuel Vadot [Mon, 16 Jan 2017 07:07:15 +0000 (08:07 +0100)]
build: Always build the libfdt python module

Do not rely on CONFIG_SPL_OF_PLATDATA to build the libfdt python module.
If swig is present, this will be build

Signed-off-by: Emmanuel Vadot <manu@bidouilliste.com>
7 years agoMAINTAINERS: DFU: Change e-mail address of DFU maintanier
Lukasz Majewski [Sun, 15 Jan 2017 23:04:10 +0000 (00:04 +0100)]
MAINTAINERS: DFU: Change e-mail address of DFU maintanier

Signed-off-by: Lukasz Majewski <lukma@denx.de>
7 years agoodroid-c2: Enable distro boot
Andreas Färber [Sun, 15 Jan 2017 19:22:30 +0000 (20:22 +0100)]
odroid-c2: Enable distro boot

Use the generic "distro" boot framework to enable automatic DHCP boot.
MMC and USB are not yet implemented, so this is the only boot option.

The fdt and kernel addresses are adopted from downstream; ramdisk and
scriptaddr addresses were chosen arbitrarily.

Signed-off-by: Andreas Färber <afaerber@suse.de>
Reviewed-by: Alexander Graf <agraf@suse.de>
7 years agomeson: misc_init_r is board-specific
Andreas Färber [Sun, 15 Jan 2017 18:53:53 +0000 (19:53 +0100)]
meson: misc_init_r is board-specific

Move it from meson-gxbb-common.h to odroid-c2.h to allow new boards not
to implement it.

Signed-off-by: Andreas Färber <afaerber@suse.de>
7 years agoboard_init.c: Always use memset()
Tom Rini [Thu, 12 Jan 2017 18:16:03 +0000 (13:16 -0500)]
board_init.c: Always use memset()

We can make the code read more easily here by simply using memset()
always as when we don't have an optimized version of the function we
will still have a version of this function around anyhow.

Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agoARM: Default to using optimized memset and memcpy routines
Tom Rini [Thu, 12 Jan 2017 18:16:02 +0000 (13:16 -0500)]
ARM: Default to using optimized memset and memcpy routines

We have long had available optimized versions of the memset and memcpy
functions that are borrowed from the Linux kernel.  We should use these
in normal conditions as the speed wins in many workflows outweigh the
relatively minor size increase.  However, we have a number of places
where we're simply too close to size limits in SPL and must be able to
make the size vs performance trade-off in those cases.

Cc: Philippe Reynes <tremyfr@yahoo.fr>
Cc: Eric Jarrige <eric.jarrige@armadeus.org>
Cc: Heiko Schocher <hs@denx.de>
Cc: Magnus Lilja <lilja.magnus@gmail.com>
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Cc: Chander Kashyap <k.chander@samsung.com>
Cc: Akshay Saraswat <akshay.s@samsung.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Stefan Roese <sr@denx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: Stefan Roese <sr@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agomach-omap2: Fix secure boot media generation
Andrew F. Davis [Thu, 12 Jan 2017 16:21:58 +0000 (10:21 -0600)]
mach-omap2: Fix secure boot media generation

While moving OMAP related files to mach-omap2 the functionality
relating to generating secure boot files was modified. This change
prevents secure platforms other than AM33xx and OMAP54XX from
correctly building files for all needed media types.

Fixes: 983e37007da5 ("arm: Introduce arch/arm/mach-omap2 for OMAP2 derivative platforms")
Signed-off-by: Andrew F. Davis <afd@ti.com>
Acked-by: Lokesh Vutla <lokeshvutla@ti.com>
7 years agospl: Add some missing newlines
Andrew F. Davis [Thu, 12 Jan 2017 16:19:55 +0000 (10:19 -0600)]
spl: Add some missing newlines

Signed-off-by: Andrew F. Davis <afd@ti.com>
Acked-by: Lokesh Vutla <lokeshvutla@ti.com>
Acked-by: Michal Simek <michal.simek@xilinx.com>
7 years agospl: Remove inline ifdef check for EXT and FAT support
Andrew F. Davis [Fri, 6 Jan 2017 19:35:45 +0000 (13:35 -0600)]
spl: Remove inline ifdef check for EXT and FAT support

These files are only included for build by the make system
when CONFIG_SPL_{EXT,FAT}_SUPPORT is enabled, remove the unneed
checks for these in the source files.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agocommon/image.c: Use correct suffixes for binary sizes
xypron.glpk@gmx.de [Wed, 4 Jan 2017 13:04:44 +0000 (14:04 +0100)]
common/image.c: Use correct suffixes for binary sizes

IEC 80000-13:2008 Quantities and units
Part 13: Information science and technology

defines the prefixes to use for binary multiples.

So instead of writing
Data Size:    6726132 Bytes = 6568.49 kB = 6.41 MB
in dumpimage we should write
Data Size:    6726132 Bytes = 6568.49 KiB = 6.41 MiB.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
7 years agoapi: storage: Test all block device in dev_stor_get
Emmanuel Vadot [Thu, 5 Jan 2017 05:40:21 +0000 (06:40 +0100)]
api: storage: Test all block device in dev_stor_get

In a config with one MMC at device id '1' and no MMC at device id '0'
(a BeagleBone Black with no sd inserted for example), the current code
will first test to access the MMC 0 (sd port), seeing that no device is
present it will simply return that no more device are present for this
class.
This patch fixes this by testing all devices for each class.

Signed-off-by: Emmanuel Vadot <manu@bidouilliste.com>
7 years agoapi: Use hashtable function for API_env_enum
Emmanuel Vadot [Mon, 26 Dec 2016 17:57:56 +0000 (18:57 +0100)]
api: Use hashtable function for API_env_enum

The current code can loop undefinitly as it doesn't parse
correctly the env data.
Since the env is an hashtable, use the hashtable function for
the API_ENV_ENUM api call.

Signed-off-by: Emmanuel Vadot <manu@bidouilliste.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 years agocmd/host: add missing \n in help text
Sébastien Szymanski [Thu, 19 Jan 2017 16:49:13 +0000 (17:49 +0100)]
cmd/host: add missing \n in help text

Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
7 years agoARM: omap3_logic: Refactor Boot Environmental variables
Adam Ford [Wed, 4 Jan 2017 17:51:24 +0000 (11:51 -0600)]
ARM: omap3_logic: Refactor Boot Environmental variables

Some scripts are calling the same functions, so these changes consolidate
common scripts together to reduce redundancy and shrink size a bit.  This
also keeps the 'bootargs' variable from growing if manually called more
than one time. This also adds NAND booting scripts based on newly consolidated
scripts.

Signed-off-by: Adam Ford <aford173@gmail.com>
7 years agobootm: relocate ramdisk if CONFIG_SYS_BOOT_RAMDISK_HIGH set
Rick Altherr [Thu, 19 Jan 2017 01:12:24 +0000 (17:12 -0800)]
bootm: relocate ramdisk if CONFIG_SYS_BOOT_RAMDISK_HIGH set

In 35fc84f, bootm was refactored so plain 'bootm' and
'bootm <subcommand>' shared a common implementation.
The 'bootm ramdisk' command implementation is now part of the common
implementation but not invoke by plain 'bootm' since the original
implementation never did ramdisk relocation.  Instead, ramdisk
relocation happened in image_setup_linux() which is typically called
during the OS portion of 'bootm'.

On ARM, parameters to the Linux kernel can either be passed by FDT or
ATAGS. When using FDT, image_setup_linux() is called which also triggers
ramdisk relocation.  When using ATAGS, image_setup_linux() is _not_
called because it mostly does FDT setup.

Instead of calling image_setup_linux() in both FDT and ATAGS cases,
include BOOTM_STATE_RAMDISK in the requested states during a plain
'bootm' if CONFIG_SYS_BOOT_RAMDISK_HIGH is set and remove the ramdisk
relocation from image_setup_linux().  This causes ramdisk relocation to
happen on any system where CONFIG_SYS_BOOT_RAMDISK_HIGH regardless of
the OS being booted. Also remove IMAGE_ENABLE_RAMDISK_HIGH as it was
only used by the now-removed code from image_setup_linux().

Signed-off-by: Rick Altherr <raltherr@google.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Joel Stanley <joel@jms.id.au>
7 years agoserial, ns16550: bugfix: ns16550 fifo not enabled
Heiko Schocher [Wed, 18 Jan 2017 07:05:49 +0000 (08:05 +0100)]
serial, ns16550: bugfix: ns16550 fifo not enabled

commit: 65f83802b7a5b "serial: 16550: Add getfcr accessor"
breaks u-boot commandline working with long commands
sending to the board.

Since the above patch, you have to setup the fcr register.

For board/archs which enable OF_PLATDATA, the new field
fcr in struct ns16550_platdata is not filled with a
default value ...

This leads in not setting up the uarts fifo, which ends
in problems, when you send long commands to u-boots
commandline.

Detected this issue with automated tbot tests on am335x
based shc board.

The error does not popup, if you type commands. You need
to copy&paste a long command to u-boots commandshell
(or send a long command with tbot)

Possible boards/plattforms with problems:
./arch/arm/cpu/arm926ejs/lpc32xx/devices.c
./arch/arm/mach-tegra/board.c
./board/overo/overo.c
./board/quipos/cairo/cairo.c
./board/logicpd/omap3som/omap3logic.c
./board/logicpd/zoom1/zoom1.c
./board/timll/devkit8000/devkit8000.c
./board/lg/sniper/sniper.c
./board/ti/beagle/beagle.c
./drivers/serial/serial_rockchip.c

Signed-off-by: Heiko Schocher <hs@denx.de>
Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
Tested-by: Adam Ford <aford173@gmail.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 years agoMerge git://git.denx.de/u-boot-fsl-qoriq
Tom Rini [Thu, 19 Jan 2017 17:22:23 +0000 (12:22 -0500)]
Merge git://git.denx.de/u-boot-fsl-qoriq

7 years agoarmv8: ls1012a: define esdhc_status_fixup for RDB board
Yangbo Lu [Tue, 17 Jan 2017 02:43:56 +0000 (10:43 +0800)]
armv8: ls1012a: define esdhc_status_fixup for RDB board

On LS1012ARDB board, three dual 1:4 mux/demux devices drive the SDHC2
signals to eMMC, SDIO wifi, SPI and Ardiuno shield. Only when we select
eMMC and SDIO wifi, the SDHC2 could be used. Otherwise, the command
inhibit bits of eSDHC2_PRSSTAT register will never release. This would
cause below continious error messages in linux since it uses polling
mode to detect card.
"mmc1: Controller never released inhibit bit(s)."
"mmc1: Controller never released inhibit bit(s)."
"mmc1: Controller never released inhibit bit(s)."
This patch is to define esdhc_status_fixup function for RDB to disable
SDHC2 status if no SDIO wifi or eMMC is selected.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
7 years agoarmv8: ls1012a: define esdhc_status_fixup for QDS board
Yangbo Lu [Tue, 17 Jan 2017 02:43:55 +0000 (10:43 +0800)]
armv8: ls1012a: define esdhc_status_fixup for QDS board

The LS1012AQDS board has a hardware issue. When there is no eMMC
adapter card inserted in SDHC2 adapter slot, the command inhibit
bits of eSDHC2_PRSSTAT register will never release. This would cause
below continious error messages in linux since it uses polling mode
to detect card.
"mmc1: Controller never released inhibit bit(s)."
"mmc1: Controller never released inhibit bit(s)."
"mmc1: Controller never released inhibit bit(s)."
This patch is to define esdhc_status_fixup function for QDS to
disable SDHC2 status if no eMMC adapter card is detected.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
7 years agommc: fsl_esdhc: move 'status' property fixup into a weak function
Yangbo Lu [Tue, 17 Jan 2017 02:43:54 +0000 (10:43 +0800)]
mmc: fsl_esdhc: move 'status' property fixup into a weak function

Move fdt fixup of 'status' property into a weak function. This allows
board to define 'status' fdt fixup by themselves.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
7 years agofsl PPA: enable PPA for ls1043ardb and ls1046ardb
Hou Zhiqiang [Mon, 16 Jan 2017 09:31:50 +0000 (17:31 +0800)]
fsl PPA: enable PPA for ls1043ardb and ls1046ardb

Enable PPA for ls1043ardb NOR boot and ls1046ardb QSPI boot.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
7 years agokconfig: fsl PPA: move CONFIG_* to Kconfig
Hou Zhiqiang [Mon, 16 Jan 2017 09:31:49 +0000 (17:31 +0800)]
kconfig: fsl PPA: move CONFIG_* to Kconfig

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
7 years agoARMv8/sec_firmware: relocated and renamed the config FSL_PPA_ARMV8_PSCI
Hou Zhiqiang [Mon, 16 Jan 2017 09:31:48 +0000 (17:31 +0800)]
ARMv8/sec_firmware: relocated and renamed the config FSL_PPA_ARMV8_PSCI

Moved the config FSL_PPA_ARMV8_PSCI from fsl-layerscape's Kconfig to
Kconfig under armv8 and renamed it to SEC_FIRMWARE_ARMV8_PSCI.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
7 years agokconfig: armv8: move armv8 sec_firmware CONFIG_* to Kconfig
Hou Zhiqiang [Mon, 16 Jan 2017 09:31:47 +0000 (17:31 +0800)]
kconfig: armv8: move armv8 sec_firmware CONFIG_* to Kconfig

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
[York S: clean up scripts/config_whitelist.txt]
Reviewed-by: York Sun <york.sun@nxp.com>
7 years agoarmv8: aarch64: Fix the warning about x1-x3 nonzero issue
Alison Wang [Tue, 17 Jan 2017 01:39:17 +0000 (09:39 +0800)]
armv8: aarch64: Fix the warning about x1-x3 nonzero issue

For 64-bit kernel, there is a warning about x1-x3 nonzero in violation
of boot protocol. To fix this issue, input argument 4 is added for
armv8_switch_to_el2 and armv8_switch_to_el1. The input argument 4 will
be set to the right value, such as zero.

Signed-off-by: Alison Wang <alison.wang@nxp.com>
Reviewed-by: Alexander Graf <agraf@suse.de>
Tested-by: Ryan Harkin <ryan.harkin@linaro.org>
Tested-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: York Sun <york.sun@nxp.com>
7 years agoarmv8/fsl-layerscape: fdt: fixup LS1043A rev1 MSI node
Wenbin Song [Tue, 17 Jan 2017 10:31:16 +0000 (18:31 +0800)]
armv8/fsl-layerscape: fdt: fixup LS1043A rev1 MSI node

The default MSI node in kernel tree is for LS1043A rev1.0 silicon, if
rev1.1 silicon used, need to fixup the MSI node to match it.

Signed-off-by: Wenbin Song <wenbin.song@nxp.com>
Signed-off-by: Mingkai Hu <mingkai.hu@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
7 years agoarmv8/ls1043a: fixup GIC offset for ls1043a rev1
Wenbin Song [Tue, 17 Jan 2017 10:31:15 +0000 (18:31 +0800)]
armv8/ls1043a: fixup GIC offset for ls1043a rev1

The LS1043A rev1.1 silicon supports two types of GIC offset: 4K
alignment and 64K alignment. The bit SCFG_GIC400_ALIGN[GIC_ADDR_BIT]
is used to choose which offset will be used.

The LS1043A rev1.0 silicon only supports the CIG offset with 4K
alignment.

If GIC_ADDR_BIT bit is set, 4K alignment is used, or else 64K alignment
is used. 64K alignment is the default setting.

Overriding the weak smp_kick_all_cpus, the new impletment is able to
detect GIC offset.

The default GIC offset in kernel device tree is using 4K alignment, it
need to be fixed if 64K alignment is detected.

Signed-off-by: Wenbin Song <wenbin.song@nxp.com>
Signed-off-by: Mingkai Hu <mingkai.hu@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
7 years agoarmv8: fsl-lsch3: enable snoopable sata read and write
Tang Yuantian [Thu, 1 Dec 2016 09:06:58 +0000 (17:06 +0800)]
armv8: fsl-lsch3: enable snoopable sata read and write

By default the SATA IP on the ls208Xa SoCs does not generating
coherent/snoopable transactions.  This patch enable it in the
sata axicc register.

Signed-off-by: Tang Yuantian <yuantian.tang@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
7 years agols1046ardb: Add support power initialization
Hou Zhiqiang [Fri, 9 Dec 2016 08:09:01 +0000 (16:09 +0800)]
ls1046ardb: Add support power initialization

Add the chip power supply voltage initialization on LS1046ARDB.
Add function power_init_board(), and it will initialize the
PMIC and call the chip power initialization function.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
7 years agoarmv8/fsl_lsch2: Add chip power supply voltage setup
Hou Zhiqiang [Fri, 9 Dec 2016 08:09:00 +0000 (16:09 +0800)]
armv8/fsl_lsch2: Add chip power supply voltage setup

Set up chip power supply voltage according to voltage ID.
The fuse status register provides the values from on-chip
voltage ID fuses programmed at the factory. These values
define the voltage requirements for the chip.

Main operations:
1. Set up the core voltage
2. Set up the SERDES voltage and reset SERDES lanes
3. Enable/disable DDR controller support 0.9V if needed

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
7 years agols1046ardb: cpld: add API for selecting core volt
Hou Zhiqiang [Fri, 9 Dec 2016 08:08:59 +0000 (16:08 +0800)]
ls1046ardb: cpld: add API for selecting core volt

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
7 years agopmic: pmic_mc34vr500: Add APIs to set/get SWx volt
Hou Zhiqiang [Fri, 9 Dec 2016 08:08:58 +0000 (16:08 +0800)]
pmic: pmic_mc34vr500: Add APIs to set/get SWx volt

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Reviewed-by: York Sun <york.sun@nxp.com>
7 years agopmic: pmic_mc34vr500: Add a driver for the mc34vr500 pmic
Hou Zhiqiang [Fri, 9 Dec 2016 08:08:57 +0000 (16:08 +0800)]
pmic: pmic_mc34vr500: Add a driver for the mc34vr500 pmic

This patch adds a simple pmic driver for the mc34vr500 pmic which
is used in conjunction with the fsl T1 and LS1 series SoC.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Reviewed-by: York Sun <york.sun@nxp.com>
7 years agoarmv8: fsl-layerscape: Fix SECURE_BOOT config
York Sun [Wed, 4 Jan 2017 18:32:08 +0000 (10:32 -0800)]
armv8: fsl-layerscape: Fix SECURE_BOOT config

Without a prompt in Kconfig, SECURE_BOOT cannot be selected by
defconfig. The option was dropped unintentionally when defconfig
files were cleaned up. Three targets were impacted
ls1043ardb_SECURE_BOOT, ls2080ardb_SECURE_BOOT,
ls2080aqds_SECURE_BOOT.

Signed-off-by: York Sun <york.sun@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>