oweals/u-boot.git
8 years agonet: asix: Fix AX88772B when used with DriverModel
Joshua Scott [Tue, 6 Sep 2016 04:03:11 +0000 (16:03 +1200)]
net: asix: Fix AX88772B when used with DriverModel

A previous patch (net: asix: fix operation without eeprom) added a
two-byte shift to the packet buffer when receiving a packet on the
AX88772B.

This shift was not included when the driver was updated to work with
DriverModel. Testing on a Marvell DB-88F6820-ACM showed that the adapter
was not functioning correctly (EHCI timeouts).

This patch brings the two-byte shift to the DriverModel implementation
of ops->recv (asix_eth_recv).

Testing on the same board, we were able to TFTP a file over and confirm
that the crc32 was correct.

Signed-off-by: Joshua Scott <joshua.scott@alliedtelesis.co.nz>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agoRevert "net: nfs: Correct the reply data buffer size"
Joe Hershberger [Fri, 9 Sep 2016 18:01:24 +0000 (13:01 -0500)]
Revert "net: nfs: Correct the reply data buffer size"

This reverts commit 6279b49e6c2fdaf8665355d1777bc90cd41fcf90.

This caused a bad data crc.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Reported-by: Guillaume GARDET <guillaume.gardet@free.fr>
8 years agoRevert "net: nfs: Use the tx buffer to construct rpc msgs"
Joe Hershberger [Fri, 9 Sep 2016 17:56:26 +0000 (12:56 -0500)]
Revert "net: nfs: Use the tx buffer to construct rpc msgs"

This reverts commit 998372b4798fd7ebb666f571950df925b8d80f69.

This caused a data abort on some platform.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Reported-by: Guillaume GARDET <guillaume.gardet@free.fr>
8 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-imx
Tom Rini [Fri, 9 Sep 2016 13:45:32 +0000 (09:45 -0400)]
Merge branch 'master' of git://denx.de/git/u-boot-imx

8 years agoboard: ks2: README: Update to add K2G support
Lokesh Vutla [Tue, 6 Sep 2016 03:40:37 +0000 (09:10 +0530)]
board: ks2: README: Update to add K2G support

Update the README to add support for K2G EVM. Also
- Add steps on how to use MMC boot
- Fix load address when using CCS
- Update build target to u-boot.bin from u-boot-dtb.bin as all ks2
  platforms uses DT.

Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
8 years agoefi_loader: provide efi_mem_desc version
Mian Yousaf Kaukab [Mon, 5 Sep 2016 21:59:22 +0000 (23:59 +0200)]
efi_loader: provide efi_mem_desc version

Provide version of struct efi_mem_desc in efi_get_memory_map().

EFI_BOOT_SERVICES.GetMemoryMap() in UEFI specification v2.6 defines
memory descriptor version to 1. Linux kernel also expects descriptor
version to be 1 and prints following warning during boot if its not:

Unexpected EFI_MEMORY_DESCRIPTOR version 0

Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@gmail.com>
8 years agoimage-fit: switch ENOLINK to ENOENT
Jonathan Gray [Fri, 2 Sep 2016 22:30:14 +0000 (08:30 +1000)]
image-fit: switch ENOLINK to ENOENT

ENOLINK is not required by POSIX and does not exist on OpenBSD
and likely other systems.

Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
8 years agocompiler.h: use system endian macros on OpenBSD
Jonathan Gray [Fri, 2 Sep 2016 22:26:55 +0000 (08:26 +1000)]
compiler.h: use system endian macros on OpenBSD

The u-boot endian macros map directly to system endian
macros on OpenBSD.

Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
8 years agoboard: am57xx: Fix missing check for beagle_x15
Nishanth Menon [Fri, 2 Sep 2016 18:51:33 +0000 (13:51 -0500)]
board: am57xx: Fix missing check for beagle_x15

When beagleboard-X15 is booted, we see the following log:
Unidentified board claims BBRDX15_ in eeprom header

This is because of the missing check for x15 (the default) and reports
an error for a valid board configuration. Fix the same.

Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
8 years agoboard: am57xx: MAINTAINERS: Update for current maintainer
Nishanth Menon [Fri, 2 Sep 2016 07:51:45 +0000 (02:51 -0500)]
board: am57xx: MAINTAINERS: Update for current maintainer

Felipe Balbi has move on from TI and the current email ID is no longer
valid. So, replacing with Lokesh.

While at it, update missing config file which was untracked.

Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoglobal_data.h: Standardize tabs and alignment for comments
Robert P. J. Day [Thu, 1 Sep 2016 16:54:32 +0000 (12:54 -0400)]
global_data.h: Standardize tabs and alignment for comments

Line up comments for readibility.

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
8 years agopxe: Modify README to add the description about FIT image
Wenbin Song [Thu, 1 Sep 2016 08:28:22 +0000 (16:28 +0800)]
pxe: Modify README to add the description about FIT image

Use environment variable "kernel_addr_r" to indicate the location
in RAM where FIT image will be stored.
Use label command "kernel" to indicate which <path> the FIT image at.

Signed-off-by: Wenbin Song <wenbin.song@nxp.com>
8 years agopxe: Fix pxe boot with FIT image
York Sun [Thu, 1 Sep 2016 08:28:21 +0000 (16:28 +0800)]
pxe: Fix pxe boot with FIT image

When FIT image is used, a single image provides kernel, device
tree and optionally ramdisk. Argc and argv need to be adjusted
to support this.

Test cases:
1. Booting with legacy images
2. Booting with legacy images without initrd
3. Booting with FIT image
Test commands:
1. pxe get && pxe boot
2. sysboot

Signed-off-by: York Sun <york.sun@nxp.com>
Signed-off-by: Wenbin Song <wenbin.song@nxp.com>
8 years agocommon/Kconfig: Fix various innocuous typos.
Robert P. J. Day [Wed, 31 Aug 2016 16:49:13 +0000 (12:49 -0400)]
common/Kconfig: Fix various innocuous typos.

Correct a small number of spelling mistakes.

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
8 years agoomap3_pandora: Only set bootargs if distro_bootcmd failed to load.
Vagrant Cascadian [Tue, 30 Aug 2016 20:16:32 +0000 (13:16 -0700)]
omap3_pandora: Only set bootargs if distro_bootcmd failed to load.

As bootargs is hard-coded for the default behavior on the
omap3_pandora, only set the bootargs if distro_bootcmd fails to
load. This leaves distro_bootcmd free to use alternate boot arguments.

Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
8 years agoomap3_pandora: Switch to use config_distro_bootcmd.
Vagrant Cascadian [Tue, 30 Aug 2016 20:16:31 +0000 (13:16 -0700)]
omap3_pandora: Switch to use config_distro_bootcmd.

Add support for using distro_bootcmd to the omap3_pandora target,
falling back to prior behavior.

Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
8 years agoARM: am335x: select DM_GPIO
Masahiro Yamada [Tue, 30 Aug 2016 09:51:40 +0000 (18:51 +0900)]
ARM: am335x: select DM_GPIO

We are supposed to not add config entries with only "default y"
in board/SoC Kconfig files.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
8 years agoIncrease default of CONFIG_SYS_MALLOC_F_LEN for SPL_OF_CONTROL
Masahiro Yamada [Tue, 30 Aug 2016 09:50:36 +0000 (18:50 +0900)]
Increase default of CONFIG_SYS_MALLOC_F_LEN for SPL_OF_CONTROL

If both SPL_DM and SPL_OF_CONTROL are enabled, SPL needs to bind
several devices, but CONFIG_SYS_MALLOC_F_LEN=0x400 is apparently
not enough.  Increase the default to 0x2000 for the case.  This
will be helpful for shorter defconfigs.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agoARM: armv7: move ARMV7_PSCI_NR_CPUS to Kconfig
Masahiro Yamada [Tue, 30 Aug 2016 07:22:23 +0000 (16:22 +0900)]
ARM: armv7: move ARMV7_PSCI_NR_CPUS to Kconfig

Move this option to Kconfig and set its default value to 4; this
increases the number of supported CPUs for some boards.

It consumes 1KB memory per CPU for PSCI stack, but it should not
be a big deal, given the amount of memory used for the modern OSes.

Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agoARM: armv7: move CONFIG_ARMV7_PSCI to Kconfig
Masahiro Yamada [Tue, 30 Aug 2016 07:22:22 +0000 (16:22 +0900)]
ARM: armv7: move CONFIG_ARMV7_PSCI to Kconfig

Add ARCH_SUPPORT_PSCI as a non-configurable option that platforms
can select.  Then, move CONFIG_ARMV7_PSCI, which is automatically
enabled if both ARMV7_NONSEC and ARCH_SUPPORT_PSCI are enabled.

Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agoARM: armv7: guard memory reserve for PSCI with #ifdef CONFIG_ARMV7_PSCI
Masahiro Yamada [Tue, 30 Aug 2016 07:22:21 +0000 (16:22 +0900)]
ARM: armv7: guard memory reserve for PSCI with #ifdef CONFIG_ARMV7_PSCI

If CONFIG_ARMV7_NONSEC is enabled, the linker script requires
CONFIG_ARMV7_PSCI_NR_CPUS regardless of CONFIG_ARMV7_PSCI.

Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agoARM: tegra: remove wrong dependency on SPL_BUILD
Masahiro Yamada [Tue, 30 Aug 2016 07:22:20 +0000 (16:22 +0900)]
ARM: tegra: remove wrong dependency on SPL_BUILD

SPL_BUILD is not a CONFIG in Kconfig, so !SPL_BUILD is always true.

Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agoomap3_pandora: Switch to using "load" command to load the autoboot script.
Vagrant Cascadian [Mon, 29 Aug 2016 07:56:06 +0000 (00:56 -0700)]
omap3_pandora: Switch to using "load" command to load the autoboot script.

CONFIG_CMD_FS_GENERIC is enabled; use it to load the autoboot script,
rather than first attempting with fatload and falling back to
ext2load.

Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
Acked-by: Grazvydas Ignotas <notasas@gmail.com>
8 years agoomap3_pandora: Fix mmc loading of autoboot script to use correct syntax.
Vagrant Cascadian [Mon, 29 Aug 2016 07:56:05 +0000 (00:56 -0700)]
omap3_pandora: Fix mmc loading of autoboot script to use correct syntax.

fatload/ext2load both require that the device and partition be
specified after specifying the device type. Specify the first
partition on mmc device 0, which is the only mmc device currently
configured on the pandora.

Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
Acked-by: Grazvydas Ignotas <notasas@gmail.com>
8 years agoTI: Rework SRAM definitions and maximums
Tom Rini [Fri, 26 Aug 2016 17:30:43 +0000 (13:30 -0400)]
TI: Rework SRAM definitions and maximums

On all TI platforms the ROM defines a "downloaded image" area at or near
the start of SRAM which is followed by a reserved area.  As it is at
best bad form and at worst possibly harmful in corner cases to write in
this reserved area, we stop doing that by adding in the define
NON_SECURE_SRAM_IMG_END to say where the end of the downloaded image
area is and make SRAM_SCRATCH_SPACE_ADDR be one kilobyte before this.
At current we define the end of scratch space at 0x228 bytes past the
start of scratch space this this gives us a lot of room to grow.  As
these scratch uses are non-optional today, all targets are modified to
respect this boundary.

Tested on OMAP4 Pandaboard, OMAP3 Beagle xM

Cc: Albert Aribaud <albert.u.boot@aribaud.net>
Cc: Nagendra T S <nagendra@mistralsolutions.com>
Cc: Vaibhav Hiremath <hvaibhav@ti.com>
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Cc: Felipe Balbi <balbi@ti.com>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Cc: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Paul Kocialkowski <contact@paulk.fr>
Cc: Enric Balletbo i Serra <eballetbo@gmail.com>
Cc: Adam Ford <aford173@gmail.com>
Cc: Steve Sakoman <sakoman@gmail.com>
Cc: Stefan Roese <sr@denx.de>
Cc: Thomas Weber <weber@corscience.de>
Cc: Hannes Schmelzer <oe5hpm@oevsv.at>
Cc: Thomas Chou <thomas@wytron.com.tw>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Sam Protsenko <semen.protsenko@linaro.org>
Cc: Heiko Schocher <hs@denx.de>
Cc: Samuel Egli <samuel.egli@siemens.com>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
Cc: Ben Whitten <ben.whitten@gmail.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Sekhar Nori <nsekhar@ti.com>
Cc: Mugunthan V N <mugunthanvnm@ti.com>
Cc: "B, Ravi" <ravibabu@ti.com>
Cc: "Matwey V. Kornilov" <matwey.kornilov@gmail.com>
Cc: Ladislav Michl <ladis@linux-mips.org>
Cc: Ash Charles <ashcharles@gmail.com>
Cc: "Kipisz, Steven" <s-kipisz2@ti.com>
Cc: Daniel Allred <d-allred@ti.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Tested-by: Lokesh Vutla <lokeshvutla@ti.com>
Acked-by: Lokesh Vutla <lokeshvutla@ti.com>
Tested-by: Ladislav Michl <ladis@linux-mips.org>
8 years agoomap3logic: Fix PBIAS Bug
Adam Ford [Fri, 26 Aug 2016 12:53:53 +0000 (07:53 -0500)]
omap3logic: Fix PBIAS Bug

The PBIAS fixing is done in the MMC driver, and doing it in the
the board file conflicts with the driver causing intermittent
hangs on reboot.  Remove this from the board file and let
the driver do it.

Signed-off-by: Adam Ford <aford173@gmail.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoREADME: add cmd directory description
Xu Ziyuan [Fri, 26 Aug 2016 11:54:49 +0000 (19:54 +0800)]
README: add cmd directory description

All of the command files have moved to cmd directory, add description to
Directory Hierarchy.

Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agoboard/BuR/common: increase NET_RETRY_COUNT to 10
Hannes Schmelzer [Thu, 25 Aug 2016 07:18:56 +0000 (09:18 +0200)]
board/BuR/common: increase NET_RETRY_COUNT to 10

Sometimes boards may need more time to become stable network connection
due to several reasons:

- phy speed
- link-partner (switch)

Therefore we increase the retry-count to 10 for making sure that network
connection works always.

Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoconfigs: am4xhs: Modify SPL load address to fix UART boot issue
Madan Srinivas [Wed, 24 Aug 2016 20:41:22 +0000 (16:41 -0400)]
configs: am4xhs: Modify SPL load address to fix UART boot issue

An issue in the TI secure image generation tool causes the ROM to
load the SPL at a different load address than what is specified by
CONFIG_ISW_ENTRY_ADDR while doing a peripheral boot on HS devices.

This causes the SPL to fail on secure devices during peripheral
boot.

The TI secure image generation tool has been fixed so that the SPL
will always be loaded at 0x403018E0 by the ROM code for both
peripheral and memory boot modes.

Signed-off-by: Madan Srinivas <madans@ti.com>
Reviewed-by: Nishanth Menon <nm@ti.com>
Acked-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoARM: AM57xx: Enable post-processing of FIT artifacts loaded by U-Boot
Andreas Dannenberg [Wed, 24 Aug 2016 19:32:18 +0000 (14:32 -0500)]
ARM: AM57xx: Enable post-processing of FIT artifacts loaded by U-Boot

Enable the platform-specific post-processing of FIT-extracted blobs such
as Kernel, DTB, and initramfs on TI AM57xx high-security (HS) devices
which will ultimately invoke a ROM-based API call that performs secure
processing such as blob authentication.

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoARM: DRA7xx: Enable post-processing of FIT artifacts loaded by U-Boot
Andreas Dannenberg [Wed, 24 Aug 2016 19:32:17 +0000 (14:32 -0500)]
ARM: DRA7xx: Enable post-processing of FIT artifacts loaded by U-Boot

Enable the platform-specific post-processing of FIT-extracted blobs such
as Kernel, DTB, and initramfs on TI DRA7xx high-security (HS) devices
which will ultimately invoke a ROM-based API call that performs secure
processing such as blob authentication.

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoARM: AM43xx: Enable post-processing of FIT artifacts loaded by U-Boot
Andreas Dannenberg [Wed, 24 Aug 2016 19:32:16 +0000 (14:32 -0500)]
ARM: AM43xx: Enable post-processing of FIT artifacts loaded by U-Boot

Enable the platform-specific post-processing of FIT-extracted blobs such
as Kernel, DTB, and initramfs on TI AM43xx high-security (HS) devices
which will ultimately invoke a ROM-based API call that performs secure
processing such as blob authentication.

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agospl: Rework image header parse to allow abort on raw image and os boot
Paul Kocialkowski [Wed, 24 Aug 2016 18:04:42 +0000 (20:04 +0200)]
spl: Rework image header parse to allow abort on raw image and os boot

This reworks spl_set_header_raw_uboot to allow having both os boot
(which comes with a valid header) and aborting when no valid header is
found (thus excluding raw u-boot.bin images).

Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agoregulator: fixed: obey startup delay
John Keeping [Mon, 22 Aug 2016 14:10:09 +0000 (15:10 +0100)]
regulator: fixed: obey startup delay

When enabling a fixed regulator, it may take some time to rise to the
correct voltage.  If we do not delay here then subsequent operations
will fail.

Signed-off-by: John Keeping <john@metanate.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agotools: moveconfig: add --spl option to move options for SPL build
Masahiro Yamada [Mon, 22 Aug 2016 13:18:22 +0000 (22:18 +0900)]
tools: moveconfig: add --spl option to move options for SPL build

Prior to this commit, the tool could not move options guarded by
CONFIG_SPL_BUILD ifdef conditionals because they do not show up in
include/autoconf.mk.  This new option, if given, makes the tool
parse spl/include/autoconf.mk instead of include/autoconf.mk,
which is probably preferred behavior when moving options for SPL.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agotools: moveconfig: warn loudly if moved option has no entry in Kconfig
Masahiro Yamada [Mon, 22 Aug 2016 13:18:21 +0000 (22:18 +0900)]
tools: moveconfig: warn loudly if moved option has no entry in Kconfig

Currently, the tool gives up moving an option quietly if its entry
was not found in Kconfig.

If the option is not defined in the config header in the first
place, it is no problem (as the Kconfig entry may have been hidden
by reasonable "depends on").

However, if the option is defined in the config header, the missing
Kconfig entry is a sign of possible behavior change.  It is highly
recommended to manually check if the option has been moved as
expected.  In this case, let's add "suspicious" in the log and
change the log color (if --color option is given) to make it stand
out.

This was suggested by Tom in [1].

[1] http://lists.denx.de/pipermail/u-boot/2016-July/261988.html

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Suggested-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agotools: moveconfig: use sets instead of lists for failed/suspicious boards
Masahiro Yamada [Mon, 22 Aug 2016 13:18:20 +0000 (22:18 +0900)]
tools: moveconfig: use sets instead of lists for failed/suspicious boards

The sets feature is handier for adding unique elements.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agotools: moveconfig: remove document about deprecated error message
Masahiro Yamada [Mon, 22 Aug 2016 13:18:19 +0000 (22:18 +0900)]
tools: moveconfig: remove document about deprecated error message

Since commit cc008299f852 ("tools: moveconfig: do not rely on type
and default value given by users"), we do not have this error case.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agomeson: odroid-c2: enable Ethernet support through the device tree
Beniamino Galvani [Tue, 16 Aug 2016 09:49:50 +0000 (11:49 +0200)]
meson: odroid-c2: enable Ethernet support through the device tree

Remove the device definition from board file, update the driver with
the new compatible property and update config with necessary options.

Signed-off-by: Beniamino Galvani <b.galvani@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agopinctrl: add driver for meson-gxbb pin controller
Beniamino Galvani [Tue, 16 Aug 2016 09:49:49 +0000 (11:49 +0200)]
pinctrl: add driver for meson-gxbb pin controller

Add a pin controller driver for Meson GXBB adapted from Linux kernel.

Signed-off-by: Beniamino Galvani <b.galvani@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agoarm: dts: update DTS files for meson-gxbb and odroid-c2
Beniamino Galvani [Tue, 16 Aug 2016 09:49:48 +0000 (11:49 +0200)]
arm: dts: update DTS files for meson-gxbb and odroid-c2

Import DTS files and dt-bindings includes from Linux 4.8-rc1.

Signed-off-by: Beniamino Galvani <b.galvani@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agopinctrl: generic: scan for "pins" and "groups" properties in sub-nodes
Beniamino Galvani [Tue, 16 Aug 2016 09:49:47 +0000 (11:49 +0200)]
pinctrl: generic: scan for "pins" and "groups" properties in sub-nodes

In cases where the pins and groups definitions are in a sub-node, as:

uart_a {
mux {
groups = "uart_tx_a", "uart_rx_a";
function = "uart_a";
};
};

pinctrl_generic_set_state_subnode() returns an error for the top-level
node and pinctrl_generic_set_state() fails. Instead, return success so
that the child nodes are tried.

Signed-off-by: Beniamino Galvani <b.galvani@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agoimage-fit: fix fit_image_load() OS check
Andreas Bießmann [Sun, 14 Aug 2016 18:31:24 +0000 (20:31 +0200)]
image-fit: fix fit_image_load() OS check

Commit 62afc601883e788f3f22291202d5b2a23c1a8b06 introduced fpga image load via
bootm but broke the OS check in fit_image_load().

This commit removes following compiler warning:

---8<---
In file included from tools/common/image-fit.c:1:
/Volumes/devel/u-boot/tools/../common/image-fit.c:1715:39: warning: use of logical '||' with constant operand [-Wconstant-logical-operand]
        os_ok = image_type == IH_TYPE_FLATDT || IH_TYPE_FPGA ||
                                             ^  ~~~~~~~~~~~~
/Volumes/devel/u-boot/tools/../common/image-fit.c:1715:39: note: use '|' for a bitwise operation
        os_ok = image_type == IH_TYPE_FLATDT || IH_TYPE_FPGA ||
                                             ^~
                                             |
1 warning generated.
--->8---

Signed-off-by: Andreas Bießmann <andreas@biessmann.org>
Cc: Michal Simek <michal.simek@xilinx.com>
Acked-by: Michal Simek <michal.simek@xilinx.com>
8 years agoserial: bcm283x_mu: Detect disabled serial device
Alexander Graf [Mon, 15 Aug 2016 15:48:51 +0000 (17:48 +0200)]
serial: bcm283x_mu: Detect disabled serial device

On the raspberry pi, you can disable the serial port to gain dynamic frequency
scaling which can get handy at times.

However, in such a configuration the serial controller gets its rx queue filled
up with zero bytes which then happily get transmitted on to whoever calls
getc() today.

This patch adds detection logic for that case by checking whether the RX pin is
mapped to GPIO15 and disables the mini uart if it is not mapped properly.

That way we can leave the driver enabled in the tree and can determine during
runtime whether serial is usable or not, having a single binary that allows for
uart and non-uart operation.

Signed-off-by: Alexander Graf <agraf@suse.de>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agobcm2835_gpio: Implement GPIOF_FUNC
Alexander Graf [Thu, 11 Aug 2016 11:38:31 +0000 (13:38 +0200)]
bcm2835_gpio: Implement GPIOF_FUNC

So far we could only tell the gpio framework that a GPIO was mapped as input or
output, not as alternative function.

This patch adds support for determining whether a function is mapped as
alternative.

Signed-off-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
8 years agowarp7: Print secure/non-secure mode info
Fabio Estevam [Fri, 26 Aug 2016 00:07:20 +0000 (21:07 -0300)]
warp7: Print secure/non-secure mode info

warp7 has two targets:

- warp7_defconfig: boots in non-secure mode
- warp7_secure_defconfig: boots in secure mode

Print the mode that is being used to help users to easily identify
which target is running on the board.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
8 years agowarp7: Use PARTUUID to specify the rootfs location
Fabio Estevam [Fri, 26 Aug 2016 00:07:19 +0000 (21:07 -0300)]
warp7: Use PARTUUID to specify the rootfs location

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

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
8 years agowarp7: Add a secure mode target
Fabio Estevam [Fri, 26 Aug 2016 00:07:18 +0000 (21:07 -0300)]
warp7: Add a secure mode target

NXP kernel expects to boot in secure mode, so introduce
warp7_secure_defconfig target which selects CONFIG_ARMV7_BOOT_SEC_DEFAULT.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
8 years agomx6ul_14x14_ev: Enable the CCGR clocks earlier
Fabio Estevam [Mon, 29 Aug 2016 23:37:18 +0000 (20:37 -0300)]
mx6ul_14x14_ev: Enable the CCGR clocks earlier

To be in the safe side we need to enable the CCGR clocks prior
to calling arch_cpu_init().

Inspired by Tim Harvey's commit d783c2744f9 ("imx: ventana: fix boot to SD").

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Eric Nelson <eric@nelint.com>
Tested-by: Eric Nelson <eric@nelint.com>
8 years agomx6ul_14x14_evk: Adjust SPL DDR3 settings
Fabio Estevam [Mon, 29 Aug 2016 23:37:17 +0000 (20:37 -0300)]
mx6ul_14x14_evk: Adjust SPL DDR3 settings

Adjust DDR3 initialization done in SPL by comparing them against
the NXP DCD table.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Eric Nelson <eric@nelint.com>
8 years agomx6ul_14x14_evk: Pass refsel and refr fields to avoid hang
Fabio Estevam [Mon, 29 Aug 2016 23:37:16 +0000 (20:37 -0300)]
mx6ul_14x14_evk: Pass refsel and refr fields to avoid hang

When running a NXP 4.1 kernel with U-Boot mainline on a mx6ul-evk,
we observe a hang when going into the lowest operational point of cpufreq.

This hang issue does not happen on the NXP U-Boot version.

After comparing the SPL DDR initialization against the DCD table
from NXP U-Boot, the key difference that causes the hang is the
MDREF register setting:

DATA 4 0x021B0020 0x00000800

,which means:

REF_SEL = 0 --> Periodic refresh cycle: 64kHz
REFR = 1 ---> Refresh Rate - 2 refreshes

So adjust the MDREF initialization for mx6ul_evk accordingly
to fix the kernel hang issue at low bus frequency.

Reported-by: Eric Nelson <eric@nelint.com>
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Eric Nelson <eric@nelint.com>
8 years agomx6: ddr: Allow changing REFSEL and REFR fields
Fabio Estevam [Mon, 29 Aug 2016 23:37:15 +0000 (20:37 -0300)]
mx6: ddr: Allow changing REFSEL and REFR fields

Currently MX6 SPL DDR initialization hardcodes the REF_SEL and
REFR fields of the MDREF register as 1 and 7, respectively for
DDR3 and 0 and 3 for LPDDR2.

Looking at the MDREF initialization done via DCD we see that
boards do need to initialize these fields differently:

$ git grep 0x021b0020 board/
board/bachmann/ot1200/mx6q_4x_mt41j128.cfg:DATA 4 0x021b0020 0x00005800
board/ccv/xpress/imximage.cfg:DATA 4 0x021b0020 0x00000800 /* MMDC0_MDREF */
board/freescale/mx6qarm2/imximage.cfg:DATA 4 0x021b0020 0x7800
board/freescale/mx6qarm2/imximage.cfg:DATA 4 0x021b0020 0x00005800
board/freescale/mx6qarm2/imximage_mx6dl.cfg:DATA 4 0x021b0020 0x00005800
board/freescale/mx6qarm2/imximage_mx6dl.cfg:DATA 4 0x021b0020 0x00005800
board/freescale/mx6qsabreauto/imximage.cfg:DATA 4 0x021b0020 0x00005800
board/freescale/mx6qsabreauto/mx6dl.cfg:DATA 4 0x021b0020 0x00005800
board/freescale/mx6qsabreauto/mx6qp.cfg:DATA 4 0x021b0020 0x00005800
board/freescale/mx6sabresd/mx6dlsabresd.cfg:DATA 4      0x021b0020 0x00005800
board/freescale/mx6sabresd/mx6q_4x_mt41j128.cfg:DATA 4 0x021b0020 0x00005800
board/freescale/mx6slevk/imximage.cfg:DATA 4 0x021b0020 0x00001800
board/freescale/mx6sxsabreauto/imximage.cfg:DATA 4 0x021b0020 0x00000800
board/freescale/mx6sxsabresd/imximage.cfg:DATA 4 0x021b0020 0x00000800
board/warp/imximage.cfg:DATA 4 0x021b0020 0x00001800

So introduce a mechanism for users to be able to configure
REFSEL and REFR fields as needed.

Keep all the mx6 SPL users in their current REF_SEL and REFR values,
so no functional changes for the existing users.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Eric Nelson <eric@nelint.com>
8 years agomx7dsabresd: Directly write to register LDOGCTL
Fabio Estevam [Wed, 17 Aug 2016 12:46:24 +0000 (09:46 -0300)]
mx7dsabresd: Directly write to register LDOGCTL

Register LDOGCTL contains only bit 0 as a valid bit, so there is no need
to do a read-modify-write operation.

Simplify the code by writing directly to this register.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
8 years agomx7dsabresd: Directly write to register LDOGCTL
Fabio Estevam [Wed, 17 Aug 2016 12:46:23 +0000 (09:46 -0300)]
mx7dsabresd: Directly write to register LDOGCTL

Register LDOGCTL contains only bit 0 as a valid bit, so there is no need
to do a read-modify-write operation.

Simplify the code by writing directly to this register.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
8 years agopico-imx6ul: Directly write to register LDOGCTL
Fabio Estevam [Wed, 17 Aug 2016 12:46:22 +0000 (09:46 -0300)]
pico-imx6ul: Directly write to register LDOGCTL

Register LDOGCTL contains only bit 0 as a valid bit, so there is no need
to do a read-modify-write operation.

Simplify the code by writing directly to this register.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
8 years agoARM: board: cm_fx6: fix mtd partition fixup
Christopher Spinrath [Tue, 23 Aug 2016 14:08:52 +0000 (16:08 +0200)]
ARM: board: cm_fx6: fix mtd partition fixup

ft_board_setup may return early in the case that the board revision
cannot be obtained. In that case it is assumed that no revision
specific correction in the fdt is neccessary. But the mtd partitions
will not be fixed up either altough they are not revision specific.

Move the call to fdt_fixup_mtdparts in front of the revision specific
part to ensure that the partitions are fixed up even if the board
revision cannot be obtained.

While on it, fix a spelling mistake in a comment introduced by the
same commit.

Fixes: 62d6bac66038 ("ARM: board: cm_fx6: fixup mtd partitions in the fdt")
Signed-off-by: Christopher Spinrath <christopher.spinrath@rwth-aachen.de>
Reviewed-by: Stefano Babic <sbabic@denx.de>
Reviewed-by: Nikita Kiryanov <nikita@compulab.co.il>
8 years agomx6ul_14x14_evk: don't use array for SD2 card detect pad
Eric Nelson [Fri, 5 Aug 2016 23:51:17 +0000 (16:51 -0700)]
mx6ul_14x14_evk: don't use array for SD2 card detect pad

Only a single pad is changed to change sdhc2_dat3 from an
SDIO pin to and from GPIO4:5, so remove the array and use
the imx_iomux_v3_setup_pad() routine.

Signed-off-by: Eric Nelson <eric@nelint.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
8 years agowarp7: Modify fdt_file environment variable
Breno Lima [Mon, 8 Aug 2016 12:57:38 +0000 (09:57 -0300)]
warp7: Modify fdt_file environment variable

Use imx7s-warp.dts as fdt_file because this is the name that upstream
kernel will deploy.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
Acked-by: Fabio Estevam <fabio.estevam@nxp.com>
8 years agowarp: Fix RAM size runtime detection
Fabio Estevam [Mon, 15 Aug 2016 13:07:12 +0000 (10:07 -0300)]
warp: Fix RAM size runtime detection

Since commit a13d3757f7df ("warp: Use imx_ddr_size() for calculating the
DDR size") warp board no longer boots.

The reason for the breakage is that the warp board is using the DDR
configuration from mx6slevk. A fundamental difference between warp and
mx6slevk is that warp only uses one DDR chip select while mx6slevk uses two.

The imx_ddr() function calculates the RAM size in runtime by reading the
values of registers MDCTL and MDMISC.

So in order to fix this warp boot issue, create a imximage DDR file specific
to warp, where the MDCTL register is configured to only activates a single
chip select.

Reported-by: Breno Lima <breno.lima@nxp.com>
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Tested-by: Breno Lima <breno.lima@nxp.com>
8 years agowarp7: Add PMIC support
Vanessa Maegima [Fri, 19 Aug 2016 13:21:36 +0000 (10:21 -0300)]
warp7: Add PMIC support

Add PMIC support. Tested by command "pmic PFUZE3000 dump".

Signed-off-by: Vanessa Maegima <vanessa.maegima@nxp.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
8 years agoarm: imx: Add support for Advantech DMS-BA16 board
Akshay Bhat [Fri, 29 Jul 2016 15:44:46 +0000 (11:44 -0400)]
arm: imx: Add support for Advantech DMS-BA16 board

Add support for Advantech DMS-BA16 board. The board is based on Advantech
BA16 module which has a i.MX6D processor. The board supports:
 - FEC Ethernet
 - USB Ports
 - SDHC and MMC boot
 - SPI NOR
 - LVDS and HDMI display

Basic information about the module:
 - Module manufacturer: Advantech
 - CPU: Freescale ARM Cortex-A9 i.MX6D
 - SPECS:
     Up to 2GB Onboard DDR3 Memory;
     Up to 16GB Onboard eMMC NAND Flash
     Supports OpenGL ES 2.0 and OpenVG 1.1
     HDMI, 24-bit LVDS
     1x UART, 2x I2C, 8x GPIO,
     4x Host USB 2.0 port, 1x USB OTG port,
     1x micro SD (SDHC),1x SDIO, 1x SATA II,
     1x 10/100/1000 Mbps Ethernet, 1x PCIe X1 Gen2

Signed-off-by: Akshay Bhat <akshay.bhat@timesys.com>
Cc: u-boot@lists.denx.de
Cc: sbabic@denx.de
8 years agomx7dsabresd: Print secure/non-secure mode info
Fabio Estevam [Thu, 28 Jul 2016 23:49:46 +0000 (20:49 -0300)]
mx7dsabresd: Print secure/non-secure mode info

mx7dsabresd has two targets:

- mx7dsabresd_defconfig: boots in non-secure mode
- mx7dsabresd_secure_defconfig: boots in secure mode

Print the mode that is being used to help users to easily identify
which target is running on the board.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
8 years agomtd: nand: mxs: fix cache alignment for cache lines >32
Stefan Agner [Tue, 2 Aug 2016 06:55:18 +0000 (23:55 -0700)]
mtd: nand: mxs: fix cache alignment for cache lines >32

Currently the command buffer gets allocated with a size of 32 bytes.
This causes warning messages on systems with cache lines bigger than
32 bytes:
CACHE: Misaligned operation at range [9df17a009df17a20]

Define command buffer to be at least 32 bytes, but more if cache
line is bigger.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
8 years agoimx: ventana: enable splashscreen support
Tim Harvey [Fri, 15 Jul 2016 14:17:20 +0000 (07:17 -0700)]
imx: ventana: enable splashscreen support

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
8 years agoboard: tbs2910: fix HDMI pre-console buffer
Soeren Moch [Wed, 27 Jul 2016 14:07:17 +0000 (16:07 +0200)]
board: tbs2910: fix HDMI pre-console buffer

HDMI output must be enabled very early to also enable the pre-console buffer

Signed-off-by: Soeren Moch <smoch@web.de>
Reviewed-by: Stefano Babic <sbabic@denx.de>
8 years agoboard: tbs2910: always enable usbkbd
Soeren Moch [Wed, 27 Jul 2016 14:07:16 +0000 (16:07 +0200)]
board: tbs2910: always enable usbkbd

'usb start' is much faster now, so always enable usb keyboard

Signed-off-by: Soeren Moch <smoch@web.de>
Reviewed-by: Stefano Babic <sbabic@denx.de>
8 years agoMerge branch 'master' of http://git.denx.de/u-boot-sunxi
Tom Rini [Tue, 6 Sep 2016 15:28:42 +0000 (11:28 -0400)]
Merge branch 'master' of git.denx.de/u-boot-sunxi

8 years agoMerge git://git.denx.de/u-boot-nand-flash
Tom Rini [Tue, 6 Sep 2016 15:28:37 +0000 (11:28 -0400)]
Merge git://git.denx.de/u-boot-nand-flash

8 years agoARM: dts: dra72-evm: fix broken ethernet
Mugunthan V N [Wed, 31 Aug 2016 11:52:19 +0000 (17:22 +0530)]
ARM: dts: dra72-evm: fix broken ethernet

With commit ceec08f50b6, phy is connected to slave 0, but
changing the phy node was missed, fix it by populating the
phy node to proper cpsw slave node.

Fixes: ceec08f50b6 ("ARM: dts: dra72-evm: Add mode-gpios entry for mac node")
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Cc: Vignesh R <vigneshr@ti.com>
Tested-by: Tom Rini <trini@konsulko.com>
8 years agosunxi: fix 64-bit compiler warning for SPL header parsing
Andre Przywara [Mon, 5 Sep 2016 00:32:41 +0000 (01:32 +0100)]
sunxi: fix 64-bit compiler warning for SPL header parsing

Casting "int"s to pointers is only valid for 32-bit systems.
Add the appropriate pointer type cast to avoid a compiler warning
when compiling for AArch64.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agosunxi: Kconfig: rename non-existent SUN50I_A64 config symbol
Andre Przywara [Mon, 5 Sep 2016 00:32:40 +0000 (01:32 +0100)]
sunxi: Kconfig: rename non-existent SUN50I_A64 config symbol

There is no "CONFIG_MACH_SUN50I_A64" in upstream U-Boot, so fix
the name to prevent the option to be enabled.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agoRevert "sunxi: Move the SPL stack top to 0x1A000 on Allwinner A64/A80"
Andre Przywara [Mon, 5 Sep 2016 00:32:38 +0000 (01:32 +0100)]
Revert "sunxi: Move the SPL stack top to 0x1A000 on Allwinner A64/A80"

This commit moved the SPL stack into SRAM C, which worked when the SPL
set the AHB1 clock down to 100 MHz to cope with the flaky SRAM C access
from the CPU.
However booting with boot0 (and thus not using SPL at all) we still run
with a 200 MHz AHB1, so any access to SRAM C is prone to fail.
Since this commit does _not_ only affect the SPL code, but also the
U-Boot proper, we fail when booting with boot0.

As the introduction of tiny-printf reduced the size of the SPL, we
can afford to have the SPL stack in SRAM A1.

This reverts commit 1a83fb4a17d959d7b037999ab7ed7e62429abe34
and fixes booting the Pine64 when using boot0.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agosunxi: Add defconfig and dts file for the Orange Pi Plus2E SBC
Hans de Goede [Sat, 3 Sep 2016 09:42:31 +0000 (11:42 +0200)]
sunxi: Add defconfig and dts file for the Orange Pi Plus2E SBC

The Orange Pi Plus2E is an extended version of the Orange Pi Pc Plus,
with 2G RAM and an external gbit ethernet phy.

The dts file is identical to the one submitted to the upstream kernel,
except that it has the pending patch to enable the ethernet controller
squashed in, as u-boot already has sun8i-emac support.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agosunxi: Enable emac on H3 orangepi boards
Hans de Goede [Sat, 3 Sep 2016 08:29:58 +0000 (10:29 +0200)]
sunxi: Enable emac on H3 orangepi boards

The Orange Pi 2 and Orange Pi Plus also come with ethernet, enable
support for this.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agosunxi: Sync h3-orangepi dts files with kernel
Hans de Goede [Sat, 3 Sep 2016 08:21:35 +0000 (10:21 +0200)]
sunxi: Sync h3-orangepi dts files with kernel

This adds an emac node to the orangepi-2 dts (not yet merged upstream,
but in u-boot we already have emac support); fixes the alphetically
sorting of nodes in sun8i-h3-orangepi-plus.dts and disables some
usb controllers in sun8i-h3-orangepi-plus.dts which are only used
on the plus2e, as upstream has decided to do a separate dts files
for the plus2e.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agosunxi: Fix H3 EMAC syscon register address
Chen-Yu Tsai [Fri, 2 Sep 2016 08:29:05 +0000 (16:29 +0800)]
sunxi: Fix H3 EMAC syscon register address

The sun8i-emac driver follows an old version of the proposed DT
bindings, where the EMAC clock and EPHY control register range is
listed directly, rather than through a syscon phandle.

Add back the syscon register range to avoid an invalid data access.
We should fix the driver once the Linux kernel bindings have been
finalized.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agosunxi: Add support for A33-OLinuXino board
Stefan Mavrodiev [Fri, 2 Sep 2016 12:21:37 +0000 (15:21 +0300)]
sunxi: Add support for A33-OLinuXino board

A33-OLinuXino is A33 development board designed by Olimex LTD.

It has AXP223 PMU, 1GB DRAM, a micro SD card, one USB-OTG connector,
headphone and mic jacks, connector for LiPo battery and optional
4GB NAND Flash.

It has two 40-pin headers. One for LCD panel, and one for
additional modules. Also there is CSI/DSI connector.

The dts files are identical to the ones submitted to the upstream kernel.

Signed-off-by: Stefan Mavrodiev <stefan.mavrodiev@gmail.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agosunxi: Add iNet D978 rev2 defconfig
Icenowy Zheng [Sat, 27 Aug 2016 14:16:13 +0000 (22:16 +0800)]
sunxi: Add iNet D978 rev2 defconfig

The iNet D978 rev2 is a tablet board designed by iNet, which is intended to
use on 10" tablets with a appearance like Apple iPad. It has A33 SoC, 1GB
RAM, 8GB/16GB NAND, SDIO Wi-Fi, a MicroUSB port and a MicroSD slot.

Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agosunxi: add proper device tree for iNet D978 rev2 boards
Icenowy Zheng [Sat, 27 Aug 2016 14:16:12 +0000 (22:16 +0800)]
sunxi: add proper device tree for iNet D978 rev2 boards

Add a proper dts for the iNet D978 rev2 based A33 tablets.

Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8 years agonand: Fix some more NULL name tests
Scott Wood [Thu, 1 Sep 2016 22:31:31 +0000 (17:31 -0500)]
nand: Fix some more NULL name tests

Now that nand_info[] is an array of pointers we need to test the
pointer itself rather than using name as a proxy for NULLness.

Fixes: b616d9b0a708eb9 ("nand: Embed mtd_info in struct nand_chip")
Signed-off-by: Scott Wood <oss@buserror.net>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Cc: Tony Lindgren <tony@atomide.com>
Acked-by: Tony Lindgren <tony@atomide.com>
8 years agonand: Fix nand info for no device
Tony Lindgren [Mon, 29 Aug 2016 16:11:43 +0000 (09:11 -0700)]
nand: Fix nand info for no device

Looks like we have few more places where we're testing for
nand_info[i]->name. We can now use just test for nand_info[i]
instead.

This fixes a data abort on devices with no NAND when doing
nand info.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agomtd: nand: pxa3xx: use nand_set_controller_data
Chris Packham [Mon, 29 Aug 2016 03:20:52 +0000 (15:20 +1200)]
mtd: nand: pxa3xx: use nand_set_controller_data

In commit 17cb4b8f327e ("mtd: nand: Add+use mtd_to/from_nand and
nand_get/set_controller_data") the assignment of mtd->priv was removed
but was not replaced. This adds the required nand_set_controller_data()
call.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
8 years agoARM: tegra: Add support for TK1-SOM board from Colorado Engineering
Peter Chubb [Tue, 30 Aug 2016 22:54:46 +0000 (22:54 +0000)]
ARM: tegra: Add support for TK1-SOM board from Colorado Engineering

The Colorado TK1 SOM is a small form factor board similar to the
Jetson TK1.  The main differences lie in the pinmux, and in that the
PCIe controller is set to use in 4lanes+1lane, rather than 2+2.

The pinmux header here was generated from a spreadsheet provided by
Colorado Engineering using the tegra-pinmux scripts.  The spreadsheet
was converted from v09 to v11 by me.

Signed-off-by: Peter Chubb <peter.chubb@data61.csiro.au>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
8 years agoARM: tegra: use numeric versioning for p2771-0000
Stephen Warren [Tue, 30 Aug 2016 16:22:07 +0000 (10:22 -0600)]
ARM: tegra: use numeric versioning for p2771-0000

The board ID EEPROM and board ID stickers on p2771-0000 will use a numeric
versioning scheme, with version numbers such as 000/100/200/300/400/500.
Within NVIDIA, these versions are also known as A00/A01/A02/A03/A04/B00.
However, that numbering scheme is not easily visible outside of NVIDIA,
and so does not make much sense to use. Convert U-Boot to use the readily
visible numeric scheme.

Also, it turns out that the current A02 DT actually applies to board
versions 000/100/200 (A00..A02). Consequently rename this to 000 not 200
so that all U-Boot builds are named after the first version of the HW they
support.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
8 years agox86: qemu: efi: Add two boards for EFI 32-bit and 64-bit payload
Bin Meng [Thu, 25 Aug 2016 08:47:19 +0000 (01:47 -0700)]
x86: qemu: efi: Add two boards for EFI 32-bit and 64-bit payload

This introduces two board defconfig files for generating EFI 32-bit
and 64-bit payloads, to run on QEMU x86 target.

With these in place, hopefully buildman will catch any build error
with EFI payload support on x86.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agox86: efi: Fix EFI 64-bit payload build warnings
Bin Meng [Thu, 25 Aug 2016 08:47:18 +0000 (01:47 -0700)]
x86: efi: Fix EFI 64-bit payload build warnings

There are lots of warnings when building EFI 64-bit payload.

include/asm-generic/bitops/__fls.h:17:2:
  warning: left shift count >= width of type
   if (!(word & (~0ul << 32))) {
^

In fact, U-Boot itself as EFI payload is running in 32-bit mode.
So BITS_PER_LONG needs to still be 32, but EFI status codes are
64-bit when booting from 64-bit EFI. Introduce EFI_BITS_PER_LONG
to bridge those status codes with U-Boot's BITS_PER_LONG.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agox86: efi: payload: Make EFI payload build again
Bin Meng [Thu, 25 Aug 2016 08:47:17 +0000 (01:47 -0700)]
x86: efi: payload: Make EFI payload build again

Since commit 73c5c39 "Makefile: Drop unnecessary -dtb suffixes",
EFI payload does not build anymore. This fixes the build.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agox86: Add debugging when cpu_common_init() fails
Simon Glass [Tue, 26 Jul 2016 00:58:59 +0000 (18:58 -0600)]
x86: Add debugging when cpu_common_init() fails

Add a debug() at this point to help figure out what is wrong.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agox86: ivybridge: Allow microcode to be collated
Simon Glass [Tue, 26 Jul 2016 00:58:58 +0000 (18:58 -0600)]
x86: ivybridge: Allow microcode to be collated

Generally the microcode is combined into a single block only (and removed
from the device tree) when there are multiple blocks. But this is not a
requirement.

Adjust the ivybridge code to avoid assuming this.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agox86: Add debugging when a microcode update fails
Simon Glass [Tue, 26 Jul 2016 00:58:57 +0000 (18:58 -0600)]
x86: Add debugging when a microcode update fails

Add a debug() at this point to help figure out what is wrong.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heiko Schocher<hs@denx.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agoMerge branch 'master' of git://git.denx.de/u-boot-uniphier
Tom Rini [Sun, 28 Aug 2016 14:36:20 +0000 (10:36 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-uniphier

8 years agoARM: uniphier: enable CONFIG_CMD_CACHE
Masahiro Yamada [Sun, 28 Aug 2016 03:44:41 +0000 (12:44 +0900)]
ARM: uniphier: enable CONFIG_CMD_CACHE

This will be useful, for example, to load firmware to DRAM and make
it visible to other agents.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agoARM: uniphier: change UNIPHIER_SERIAL to default y option
Masahiro Yamada [Thu, 25 Aug 2016 10:00:37 +0000 (19:00 +0900)]
ARM: uniphier: change UNIPHIER_SERIAL to default y option

This is very likely to be necessary for normal use cases.
Set its default to 'y' for shorter defconfig files.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agoARM: dts: uniphier: add u-boot, dm-pre-reloc to use eMMC boot on sLD3
Masahiro Yamada [Thu, 25 Aug 2016 08:02:33 +0000 (17:02 +0900)]
ARM: dts: uniphier: add u-boot, dm-pre-reloc to use eMMC boot on sLD3

The eMMC on sLD3 is assigned with dedicated pins (only multiplexed
with GPIO), so it shouldn't hurt to enable eMMC on SPL all the time.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agoARM: uniphier: increase CONFIG_SYS_MALLOC_F_LEN for sLD3
Masahiro Yamada [Thu, 25 Aug 2016 08:02:32 +0000 (17:02 +0900)]
ARM: uniphier: increase CONFIG_SYS_MALLOC_F_LEN for sLD3

Commit 76c52ce29fd7 ("ARM: uniphier: increase CONFIG_SYS_MALLOC_F_LEN
to bind all nodes") missed to increase this config for sLD3.

This change is needed to add "u-boot,dm-pre-reloc" to some nodes;
more devices are bound, more malloc memory is needed.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agoARM: uniphier: display revision of Micro Support Card 3.6.x kindly
Masahiro Yamada [Thu, 25 Aug 2016 08:02:31 +0000 (17:02 +0900)]
ARM: uniphier: display revision of Micro Support Card 3.6.x kindly

The revision of the original support card (rev 3.5, rev 3.6) fits in
the 8 bit width revision register.  When it was extended in a weird
way, it was versioned in the format of "3.6.x" (where it should have
been "3.7", of course).  What is worse, only the sub-level version
"6.x" was recorded in the 8 bit width register, completely ignoring
the compatibility of the revision register format.

This patch saves madly-versioned support cards by assuming the major
version "3" when the MSB 4 bit of the register is read as "6".  With
this, the support card revision that were displayed as "6.10" is now
corrected to "3.6.10".

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agoARM: uniphier: support system reset functionality for PSCI
Masahiro Yamada [Thu, 25 Aug 2016 12:03:41 +0000 (21:03 +0900)]
ARM: uniphier: support system reset functionality for PSCI

This supports the system reset via PSCI for ARMv7 SoCs.

Because the system reset is not supported on PSCI 0.1, let's define
CONFIG_ARMV7_PSCI_1_0. (it is supported since PSCI 0.2, but there
is no CONFIG to enable it in U-Boot for now.)

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agommc: uniphier-sd: just return if already set to desired clock rate
Masahiro Yamada [Thu, 25 Aug 2016 05:52:38 +0000 (14:52 +0900)]
mmc: uniphier-sd: just return if already set to desired clock rate

With this, we can save unnecessary udelay().

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agommc: uniphier-sd: return error code if unsupported width is given
Masahiro Yamada [Thu, 25 Aug 2016 05:52:37 +0000 (14:52 +0900)]
mmc: uniphier-sd: return error code if unsupported width is given

With the CONFIG_DM_MMC_OPS migration, the .set_ios callback can
return an integer now.  Return an appropriate error value rather
than sudden death by BUG().

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
8 years agommc: uniphier-sd: move uniphier_sd_init() below
Masahiro Yamada [Thu, 25 Aug 2016 05:52:36 +0000 (14:52 +0900)]
mmc: uniphier-sd: move uniphier_sd_init() below

No more reason to define this function above the ops structure.
Move it near the caller.  Also, change its return type to void
because it never fails.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>