platform/kernel/u-boot.git
6 years agoMerge git://git.denx.de/u-boot-uniphier
Tom Rini [Tue, 9 Jan 2018 13:45:02 +0000 (08:45 -0500)]
Merge git://git.denx.de/u-boot-uniphier

6 years agoARM: uniphier: hide memory top by platform hook instead of CONFIG
Masahiro Yamada [Sat, 6 Jan 2018 13:59:26 +0000 (22:59 +0900)]
ARM: uniphier: hide memory top by platform hook instead of CONFIG

I do not see a good reason to do this by a CONFIG option that affects
all SoCs.  The ram_size can be adjusted by dram_init() at run-time.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
6 years agoARM: uniphier: enable CONFIG_MMC_SDHCI_SDMA for ARMv8 SoCs
Masahiro Yamada [Sat, 6 Jan 2018 13:59:25 +0000 (22:59 +0900)]
ARM: uniphier: enable CONFIG_MMC_SDHCI_SDMA for ARMv8 SoCs

I did not enable SDMA when I added sdhci-cadence support because LD20
boards are equipped with a large amount memory beyond 32 bit address
range, but SDMA does not support the 64bit address.  U-Boot relocates
itself to the end of effectively available RAM.  This would make the
MMC enumeration fail because the buffer for EXT_CSD allocated in the
stack would go too high, then SDMA would fail to transfer data.

Recent SDHCI-compatible controllers support ADMA, but unfortunately
U-Boot does not support ADMA.

In the previous commit, I hided the DRAM area that exceeds the 32 bit
address range.  Now, I can enable CONFIG_MMC_SDHCI_SDMA.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
6 years agoARM: uniphier: do not use RAM that exceeds 32 bit address range
Masahiro Yamada [Sat, 6 Jan 2018 13:59:24 +0000 (22:59 +0900)]
ARM: uniphier: do not use RAM that exceeds 32 bit address range

LD20 / PXs3 boards are equipped with a large amount of memory beyond
the 32 bit address range.  U-Boot relocates itself to the end of the
available RAM.

This is a problem for DMA engines that only support 32 bit physical
address, like the SDMA of SDHCI controllers.

In fact, U-Boot does not need to run at the very end of RAM.  It is
rather troublesome for drivers with DMA engines because U-Boot does
not have API like dma_set_mask(), so DMA silently fails, making the
driver debugging difficult.

Hide the memory region that exceeds the 32 bit address range.  It can
be done by simply carving out gd->ram_size.  It would also possible to
override get_effective_memsize() or to define CONFIG_MAX_MEM_MAPPED,
but dram_init() is a good enough place to do this job.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
6 years agoPrepare v2018.01 v2018.01
Tom Rini [Tue, 9 Jan 2018 01:25:29 +0000 (20:25 -0500)]
Prepare v2018.01

Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agoMerge git://git.denx.de/u-boot-imx
Tom Rini [Mon, 8 Jan 2018 17:51:47 +0000 (12:51 -0500)]
Merge git://git.denx.de/u-boot-imx

6 years agomtd: nand: mxs_nand_spl: Remove nand size print
Jagan Teki [Fri, 5 Jan 2018 07:04:23 +0000 (12:34 +0530)]
mtd: nand: mxs_nand_spl: Remove nand size print

It is not much needed to print nand size in SPL during nand boot,
and most of nand spl drivers doesn't print the same.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
6 years agoboard: engicam: Fix to remove legacy board/icorem6_rqs
Jagan Teki [Fri, 5 Jan 2018 07:04:21 +0000 (12:34 +0530)]
board: engicam: Fix to remove legacy board/icorem6_rqs

board/icorem6_rqs/ is forgot to remove while moving
common board files together in
(sha1: 52aaddd6f415397bb2eae0d68a8cc1c5c4a98bb3)
"i..MX6: engicam: Add imx6q/imx6ul boards for existing boards"

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
6 years agoimx: initialize and use generic timer on i.MX 6UL/ULL
Stefan Agner [Fri, 5 Jan 2018 14:08:19 +0000 (15:08 +0100)]
imx: initialize and use generic timer on i.MX 6UL/ULL

The i.MX 6UL/ULL feature a Cortex-A7 CPU which suppor the ARM
generic timer. This change makes use of the ARM generic timer in
U-Boot.

This is crucial to make the ARM generic timers usable in Linux since
timer_init() initalizes the system counter module, which is necessary
to use the generic timers CP15 registers.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
6 years agoimx: introduce CONFIG_GPT_TIMER
Stefan Agner [Fri, 5 Jan 2018 14:08:18 +0000 (15:08 +0100)]
imx: introduce CONFIG_GPT_TIMER

Introduce a new config symbol to select the i.MX
General Purpose Timer (GPT).

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
6 years agoimx: move CONFIG_SYSCOUNTER_TIMER to Kconfig
Stefan Agner [Fri, 5 Jan 2018 14:08:17 +0000 (15:08 +0100)]
imx: move CONFIG_SYSCOUNTER_TIMER to Kconfig

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
6 years agoMerge git://git.denx.de/u-boot-x86
Tom Rini [Mon, 8 Jan 2018 13:26:46 +0000 (08:26 -0500)]
Merge git://git.denx.de/u-boot-x86

6 years agocrypto/fsl: fix BLOB encapsulation and decapsulation
Clemens Gruber [Sun, 7 Jan 2018 19:26:29 +0000 (20:26 +0100)]
crypto/fsl: fix BLOB encapsulation and decapsulation

The blob_encap and blob_decap functions were not flushing the dcache
before passing data to CAAM/DMA and not invalidating the dcache when
getting data back.
Therefore, blob encapsulation and decapsulation failed with errors like
the following due to data cache incoherency:
"40000006: DECO: desc idx 0: Invalid KEY command"

To ensure coherency, we require the key_mod, src and dst buffers to be
aligned to the cache line size and flush/invalidate the memory regions.
The same requirements apply to the job descriptor.

Tested on an i.MX6Q board.

Reviewed-by: Sumit Garg <sumit.garg@nxp.com>
Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
6 years agox86: tangier: Add Bluetooth to ACPI table
Andy Shevchenko [Thu, 4 Jan 2018 16:40:13 +0000 (18:40 +0200)]
x86: tangier: Add Bluetooth to ACPI table

As defined on reference board followed by Intel Edison a Bluetooth
device is attached to HSU0, i.e. PCI 0000:04.1.

Describe it in ACPI accordingly.

Note, we use BCM2E95 ID here as one most suitable for such device based
on the description in commit message of commit 89ab37b489d1
("Bluetooth: hci_bcm: Add support for BCM2E95 and BCM2E96")
in the Linux kernel source tree.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agox86: tangier: Use actual GPIO hardware numbers
Andy Shevchenko [Thu, 4 Jan 2018 16:40:12 +0000 (18:40 +0200)]
x86: tangier: Use actual GPIO hardware numbers

The recent commit 03c4749dd6c7
  ("gpio / ACPI: Drop unnecessary ACPI GPIO to Linux GPIO translation")
in the Linux kernel reveals the issue we have in ACPI tables here,
i.e. we must use hardware numbers for GPIO resources and,
taking into consideration that GPIO and pin control are *different* IPs
on Intel Tangier, we need to supply numbers properly.

Besides that, it improves user experience since the official documentation
for Intel Edison board is referring to GPIO hardware numbering scheme.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agox86: Move commands from under arch/x86 to cmd/x86/
Tom Rini [Wed, 3 Jan 2018 13:54:27 +0000 (08:54 -0500)]
x86: Move commands from under arch/x86 to cmd/x86/

We only need to compile and link these files when building for full
U-Boot.  Move them to under cmd/x86/ to make sure they aren't linked in
and undiscarded due to u_boot_list_2_cmd_* being included).

Cc: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
6 years agomx6ull: Handle the CONFIG_MX6ULL cases correctly
Fabio Estevam [Wed, 3 Jan 2018 14:33:05 +0000 (12:33 -0200)]
mx6ull: Handle the CONFIG_MX6ULL cases correctly

Since commit 051ba9e082f7 ("Kconfig: mx6ull: Deselect MX6UL from
CONFIG_MX6ULL") CONFIG_MX6ULL does not select CONFIG_MX6UL anymore, so
take this into consideration in all the checks for CONFIG_MX6UL.

This fixes a boot regression.

Reported-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Stefan Agner <stefan@agner.ch>
Tested-by: Breno Lima <breno.lima@nxp.com>
Tested-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
Tested-by: Jörg Krause <joerg.krause@embedded.rocks>
6 years agoMerge git://git.denx.de/u-boot-rockchip
Tom Rini [Wed, 3 Jan 2018 17:27:12 +0000 (12:27 -0500)]
Merge git://git.denx.de/u-boot-rockchip

6 years agoARM: imx: cm_fx6: env: don't run boot scripts twice
Christopher Spinrath [Sat, 9 Dec 2017 15:37:43 +0000 (16:37 +0100)]
ARM: imx: cm_fx6: env: don't run boot scripts twice

Boot scripts located in the root directory of the first partition of
USB, mmc, and SATA drives are executed twice: first by the distro boot
command and then by the legacy boot command. This may have weird side
effects if those scripts only change or extend the environment
(including parts of the boot command itself).

Removing the script execution from the legacy boot command has its own
caveats. For instance, the distro boot command may execute the boot.scr
on the mmc drive, then the boot.scr on the SATA drive, before the
legacy boot command actually boots from the mmc drive. However, the
current behavior would only execute the boot.scr once more before the
actual boot, but it does not prevent the script located on the SATA
drive from being executed, and thus, both scripts from being mixed up.

Considering that the legacy boot command is only in place to boot old
(standard) installations, let's go with the resolution having less
custom code and remove the script execution from the legacy boot
command.

Signed-off-by: Christopher Spinrath <christopher.spinrath@rwth-aachen.de>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
6 years agoARM: imx: cm_fx6: env: support distro boot command
Christopher Spinrath [Sat, 9 Dec 2017 15:37:42 +0000 (16:37 +0100)]
ARM: imx: cm_fx6: env: support distro boot command

The current default environment of the cm_fx6 is not suitable for
booting modern distributions.

Instead of extending the custom environment, let's use the distro
boot command, which has been developed for precisely this use case.

If the distro boot command fails, fall back to the old behavior
(except for USB drives where the old behaviour is completely covered
by the distro boot command). That way it is still possible to create
"rescue SD cards" for old installations (e.g. if one messes up the
on-flash environment).

Signed-off-by: Christopher Spinrath <christopher.spinrath@rwth-aachen.de>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
6 years agoARM: imx: cm_fx6: env: use standard variables
Christopher Spinrath [Sat, 9 Dec 2017 15:37:41 +0000 (16:37 +0100)]
ARM: imx: cm_fx6: env: use standard variables

In preparation for supporting the distro boot command, introduce the
standard variables for specifying load addresses, which are documented
in README and doc/README.distro, and replace the custom variables
used so far with them.

Since the current address layout disregards an address for an initramfs,
also switch to the load addresses used and proven by other imx6 boards
(e.g. the wandboard and nitrogen6x), instead of going on with our own
way.

Signed-off-by: Christopher Spinrath <christopher.spinrath@rwth-aachen.de>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
6 years agorockchip: firefly-rk3399: enable SPL_ATF_NO_PLATFORM_PARAM
Philipp Tomsich [Tue, 2 Jan 2018 20:16:44 +0000 (21:16 +0100)]
rockchip: firefly-rk3399: enable SPL_ATF_NO_PLATFORM_PARAM

The Rockchip-released ATF for the Firefly apparently (i.e. Kever
reported this) does not tolerate a FDT being passed as the platform
parameter and will run into a hard stop.

To work around this limitation in the ATF parameter handling, we
enable SPL_ATF_NO_PLATFORM_PARAM (which will force passing NULL for
the platform parameters).

Note that this only affects this platform, as the ATF releases for the
RK3368 and RK3399 have always either ignored the platform parameter
(i.e. before the FDT-based parameters were supported) or support
receiving a pointer to a FDT.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
6 years agospl: atf: add SPL_ATF_NO_PLATFORM_PARAM option
Philipp Tomsich [Tue, 2 Jan 2018 20:16:43 +0000 (21:16 +0100)]
spl: atf: add SPL_ATF_NO_PLATFORM_PARAM option

While we expect to call a pointer to a valid FDT (or NULL) as the
platform parameter to an ATF, some ATF versions are not U-Boot aware
and have an insufficiently robust (or an overzealour) parameter
validation: either way, this may cause a hard-stop with uncooperative
ATF versions.

This change adds the option to suppress passing a platform parameter
and will always pass NULL.

Debug output from ATF w/ this option disabled (i.e. default):
      INFO:    plat_param_from_bl2: 0x291450
Debug output from ATF w/ this option enabled:
      INFO:    plat_param_from_bl2: 0

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Tested-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
6 years agoimx: spl: Fix NAND bootmode detection
Eran Matityahu [Thu, 14 Dec 2017 18:20:02 +0000 (20:20 +0200)]
imx: spl: Fix NAND bootmode detection

commit 20f14714169 ("imx: spl: Update NAND bootmode detection bit")
broke the NAND bootmode detection by checking if
BOOT_CFG1[7:4] == 0x8 for NAND boot mode.
This commit essentially reverts it, while using the IMX6_BMODE_*
macros that were introduced since.

Tables 8-7 & 8-10 from IMX6DQRM say the NAND boot mode selection
is done when BOOT_CFG1[7] is 1, but BOOT_CFG1[6:4] is not
necessarily 0x0 in this case.
Actually, NAND boot mode is when 0x8 <= BOOT_CFG1[7:4] <= 0xf,
like it was in the code before.

Signed-off-by: Eran Matityahu <eran.m@variscite.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Jagan Teki <jagan@openedev.com>
Cc: Tim Harvey <tharvey@gateworks.com>
6 years agomx6: Add board mx6memcal for use in validating DDR
Eric Nelson [Mon, 11 Dec 2017 15:52:11 +0000 (13:52 -0200)]
mx6: Add board mx6memcal for use in validating DDR

This is a virtual "board" that uses configuration files and
Kconfig to define the memory layout used by a real board during
the board bring-up process.

It generates an SPL image that can be loaded using imx_usb or
SB_LOADER.exe.

When run, it will generate a set of calibration constants for
use in either or both a DCD configuration file for boards that
use u-boot.imx or struct mx6_mmdc_calibration for boards that
boot via SPL.

In essence, it is a configurable, open-source variant of the
Freescale ddr-stress tool.

https://community.nxp.com/docs/DOC-105652

File mx6memcal_defconfig configures the board for use with
mx6sabresd or mx6qsabreauto.

Signed-off-by: Eric Nelson <eric@nelint.com>
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
6 years agovideo: Support multiple lines version string display
Peng Fan [Tue, 2 Jan 2018 07:25:37 +0000 (15:25 +0800)]
video: Support multiple lines version string display

The calculation of left space for version string is not correct, should
use VIDEO_COLS not VIDEO_LINE_LEN / 2, otherwise we will get larger space
than actual have and cause string to overlay logo picture.

Also current version string display only supports two lines words at max.
This also causes overlay when the LCD pixel column size is not enough.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Tested-by: Anatolij Gustschin <agust@denx.de>
6 years agovideo: ipu: Fix dereferencing NULL pointer problem
Peng Fan [Tue, 2 Jan 2018 07:25:36 +0000 (15:25 +0800)]
video: ipu: Fix dereferencing NULL pointer problem

The clk_set_rate function dereferences the clk pointer without
checking whether it is NULL. This may cause problem when clk is NULL.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
6 years agorockchip: board: lion-rk3368: reduce env-size default to 8KiB
Philipp Tomsich [Tue, 2 Jan 2018 17:43:37 +0000 (18:43 +0100)]
rockchip: board: lion-rk3368: reduce env-size default to 8KiB

We want to have the same configuration defaults for the RK3368-uQ7
as for the RK3399-Q7: this change reduces the default env-size to
8KiB to ensure that it does not overlap the boot-payload on SD/MMC
configurations.

References: commit fe529e6597c0 ("rockchip: rk3399-puma: reduce env size to 8kiB")
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agoboards: amlogic: khadas-vim: Typo fixup
Neil Armstrong [Tue, 2 Jan 2018 12:34:59 +0000 (13:34 +0100)]
boards: amlogic: khadas-vim: Typo fixup

Khadas VIM is an Open Source DIY Box manufactured by Shenzhen Wesion NOT 'Tomato'

The fix was provided by Khadas Team member 'numbqq'.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
6 years agoPrepare v2018.01-rc3 v2018.01-rc3
Tom Rini [Tue, 2 Jan 2018 00:46:43 +0000 (19:46 -0500)]
Prepare v2018.01-rc3

Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agoMerge branch 'master' of git://git.denx.de/u-boot-rockchip
Tom Rini [Mon, 1 Jan 2018 14:04:35 +0000 (09:04 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-rockchip

6 years agopower: tps65910: replace error() by pr_err()
Felix Brack [Mon, 18 Dec 2017 14:38:28 +0000 (15:38 +0100)]
power: tps65910: replace error() by pr_err()

The patch replaces the former error() by the new pr_err().
This makes the TPS65910 driver conform to Masahiro's patch
'treewide:replace with error() with pr_err()' introduced
October 2017.

Signed-off-by: Felix Brack <fb@ltec.ch>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agoconfigs: am335x_boneblack: Bring back missed bootcmd
Sam Protsenko [Thu, 28 Dec 2017 21:03:25 +0000 (23:03 +0200)]
configs: am335x_boneblack: Bring back missed bootcmd

Commit b6251db8c3f0 ("Kconfig: Introduce USE_BOOTCOMMAND and migrate
BOOTCOMMAND") removed CONFIG_BOOTCOMMAND option from
include/configs/am335x_evm.h file. But that option wasn't added to
defconfig files for BeagleBone Black board.

Because of this we can't boot Linux from SD card using just
"run bootcmd", getting next error:

    ** File not found /boot/undefined **

That's because "fdtfile" variable has "undefined" value by default, and
"bootcmd" doesn't call "run findfdt" command, which assigns "fdtfile" to
correct device tree file for current board name (obtained from EEPROM).

So we are forced to either call "run findfdt" command manually, or
assign manually "fdtfile=am335x-boneblack.dtb" (e.g. in uEnv.txt file).

Bring back CONFIG_BOOTCOMMAND to BBB defconfigs so that we can boot
Linux rootfs from SD card automatically without any addition actions.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
6 years agodm: core: remove orphaned parameter description in platdata.h
Heinrich Schuchardt [Sun, 24 Dec 2017 12:14:12 +0000 (13:14 +0100)]
dm: core: remove orphaned parameter description in platdata.h

struct driver_info has no field 'flags'.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agoARM: omap3: evm: Refactor 'board_eth_init'
Derald D. Woods [Sat, 16 Dec 2017 20:14:50 +0000 (14:14 -0600)]
ARM: omap3: evm: Refactor 'board_eth_init'

This commit clears 'ethaddr' before calling 'smc911x_initialize' to
allow the SROM MAC address to be assigned properly.

Signed-off-by: Derald D. Woods <woods.technical@gmail.com>
6 years agoARM: dts: omap3-evm: Enable DM and devicetree for TMDSEVM{3530, 3730}
Derald D. Woods [Wed, 27 Dec 2017 15:40:16 +0000 (09:40 -0600)]
ARM: dts: omap3-evm: Enable DM and devicetree for TMDSEVM{3530, 3730}

This commit updates the configuration files needed to support OF_CONTROL
on the OMAP3 EVM baseboard.

Additionally:
- CONFIG_SYS_THUMB_BUILD is enabled
- CONFIG_SPL_ENV_SUPPORT is enabled

Tested using GCC 7.2.0 [--with-float=hard --with-mode=thumb].

Signed-off-by: Derald D. Woods <woods.technical@gmail.com>
6 years agoARM: dts: omap3-evm: Add support for TMDSEVM{3530, 3730}
Derald D. Woods [Sat, 16 Dec 2017 20:14:48 +0000 (14:14 -0600)]
ARM: dts: omap3-evm: Add support for TMDSEVM{3530, 3730}

This commit adds OMAP3 EVM devicetree files from Linux v4.15-rc3. Note
that this is the first addition of OMAP34XX devicetree files.

Signed-off-by: Derald D. Woods <woods.technical@gmail.com>
6 years agoARM: omap3: evm: Do not relocate FDT address
Derald D. Woods [Thu, 28 Dec 2017 07:25:43 +0000 (01:25 -0600)]
ARM: omap3: evm: Do not relocate FDT address

This commit keeps the 'fdtaddr' as provided by DEFAULT_LINUX_BOOT_ENV.

Signed-off-by: Derald D. Woods <woods.technical@gmail.com>
6 years agorockchip: dts: rk3399-evb: support boot from sd-card
Kever Yang [Wed, 20 Dec 2017 02:40:40 +0000 (10:40 +0800)]
rockchip: dts: rk3399-evb: support boot from sd-card

Enable sdmmc node in SPL and add it to boot order.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
[Fixed commit tags:]
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agorockchip: rk3399-puma: reduce env size to 8kiB
Jakob Unterwurzacher [Thu, 21 Dec 2017 10:03:01 +0000 (11:03 +0100)]
rockchip: rk3399-puma: reduce env size to 8kiB

This commit changes the size of the enviroment (for the RK3399-Q7) to
8kiB for all possible locations of the environment (i.e. even when the
environment is saved to SD card).

With the default of 32kiB, the environment overwrites the SPL
stage which lives at 16kiB.

Signed-off-by: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Tested-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
[Reworked commit-message:]
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agoMerge git://git.denx.de/u-boot-imx
Tom Rini [Fri, 29 Dec 2017 14:27:04 +0000 (09:27 -0500)]
Merge git://git.denx.de/u-boot-imx

6 years agoarm: imx: add tzic interrupt controller for imx53
Patrick Bruenn [Mon, 11 Dec 2017 12:09:14 +0000 (13:09 +0100)]
arm: imx: add tzic interrupt controller for imx53

Since commit 999a78d5cf00 ("scripts/dtc: Update to upstream version v1.4.5-3-gb1a60033c110")
dtc warns about:
arch/arm/dts/imx53-cx9020.dtb: Warning (interrupts_property): Missing interrupt-parent for /soc/aips@50000000/serial@53fc0000
arch/arm/dts/imx53-cx9020.dtb: Warning (interrupts_property): Missing interrupt-parent for /soc/aips@50000000/ccm@53fd4000
arch/arm/dts/imx53-cx9020.dtb: Warning (interrupts_property): Missing interrupt-parent for /soc/aips@50000000/gpio@53fe4000
arch/arm/dts/imx53-cx9020.dtb: Warning (interrupts_property): Missing interrupt-parent for /soc/aips@60000000/sdma@63fb0000
arch/arm/dts/imx53-cx9020.dtb: Warning (interrupts_property): Missing interrupt-parent for /soc/aips@60000000/ethernet@63fec000

Fix this by adding a node for the tzic interrupt controller.
Copied from "<Linux>/arch/arm/boot/dts/imx53.dts"

Signed-off-by: Patrick Bruenn <p.bruenn@beckhoff.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
6 years agoARM: imx6: Disable DDR DRAM calibration DHCOM i.MX6 PDK
Marek Vasut [Mon, 11 Dec 2017 15:19:33 +0000 (16:19 +0100)]
ARM: imx6: Disable DDR DRAM calibration DHCOM i.MX6 PDK

The DDR DRAM calibration doesn't work on T-topology sometimes, so disable it.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
6 years agoimx: Fix missing spl_sd configuration for wandboard.
Vagrant Cascadian [Thu, 7 Dec 2017 00:31:50 +0000 (16:31 -0800)]
imx: Fix missing spl_sd configuration for wandboard.

In commit 6e6cf015e7cdd7ca83a933320a81201972bd5e5e ("Merge
git://www.denx.de/git/u-boot-imx") the line defining spl_sd
configuration for wandboard was removed, which resulted in no SPL
target being built.

Add it back.

Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
6 years agoimx: Kconfig: Add HAS_CAAM option
Breno Lima [Mon, 27 Nov 2017 23:09:00 +0000 (21:09 -0200)]
imx: Kconfig: Add HAS_CAAM option

Currently CONFIG_SECURE_BOOT is selecting FSL_CAAM for all i.MX devices,
this causes the following error when building mx6sl boards since
this SoC doesn't have the CAAM block:

In file included from drivers/crypto/fsl/jobdesc.c:12:0:
drivers/crypto/fsl/jobdesc.c: In function 'inline_cnstr_jobdesc_blob_dek':
include/fsl_sec.h:268:25: error: 'CAAM_ARB_BASE_ADDR' undeclared (first use
in this function)
 #define SEC_MEM_PAGE1  (CAAM_ARB_BASE_ADDR + 0x1000)
                         ^
drivers/crypto/fsl/jobdesc.c:140:21: note: in expansion of macro 'SEC_MEM_PAGE1'
  memcpy((uint32_t *)SEC_MEM_PAGE1, (uint32_t *)plain_txt, in_sz);
                     ^
include/fsl_sec.h:268:25: note: each undeclared identifier is reported only
once for each function it appears in
 #define SEC_MEM_PAGE1  (CAAM_ARB_BASE_ADDR + 0x1000)
                         ^
drivers/crypto/fsl/jobdesc.c:140:21: note: in expansion of macro 'SEC_MEM_PAGE1'
  memcpy((uint32_t *)SEC_MEM_PAGE1, (uint32_t *)plain_txt, in_sz);
                     ^
scripts/Makefile.build:280: recipe for target 'drivers/crypto/fsl/jobdesc.o'
failed
make[3]: *** [drivers/crypto/fsl/jobdesc.o] Error 1
scripts/Makefile.build:425: recipe for target 'drivers/crypto/fsl' failed
make[2]: *** [drivers/crypto/fsl] Error 2
scripts/Makefile.build:425: recipe for target 'drivers/crypto' failed
make[1]: *** [drivers/crypto] Error 2

Add HAS_CAAM configuration to avoid this error.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
6 years agoKconfig: mx6ull: Deselect MX6UL from CONFIG_MX6ULL
Breno Lima [Mon, 27 Nov 2017 23:07:40 +0000 (21:07 -0200)]
Kconfig: mx6ull: Deselect MX6UL from CONFIG_MX6ULL

MX6UL contains features that MX6ULL doesn't support.
Deselect CONFIG_MX6UL and select SYS_L2CACHE_OFF and ROM_UNIFIED_SECTIONS.

The motivation for doing this change is that MX6UL supports CAAM and
MX6ULL does not.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
6 years agomx6sl: Select MX6SL option via Kconfig
Breno Lima [Mon, 27 Nov 2017 23:06:01 +0000 (21:06 -0200)]
mx6sl: Select MX6SL option via Kconfig

Currently the MX6SL option is selected via CONFIG_SYS_EXTRA_OPTIONS,
but it is better to select it directly via Kconfig.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
6 years agowarp: imximage.cfg: Handle the CONFIG_SECURE_BOOT case
Breno Lima [Mon, 27 Nov 2017 23:04:11 +0000 (21:04 -0200)]
warp: imximage.cfg: Handle the CONFIG_SECURE_BOOT case

Secure boot is not enabled in warp imximage.cfg, add support for it.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
6 years agomx6slevk: imximage.cfg: Handle the CONFIG_SECURE_BOOT case
Breno Lima [Mon, 27 Nov 2017 23:02:43 +0000 (21:02 -0200)]
mx6slevk: imximage.cfg: Handle the CONFIG_SECURE_BOOT case

Secure boot is not enabled in mx6slevk imximage.cfg, add support for it.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
6 years agomx6sxsabresd: Load the correct dtb for revA board
Fabio Estevam [Mon, 27 Nov 2017 12:25:10 +0000 (10:25 -0200)]
mx6sxsabresd: Load the correct dtb for revA board

Currently only imx6sx-sdb.dtb is loaded, but if revA board is used the
correct dtb is imx6sx-sdb-reva.dtb, so make this possible.

While at it, remove an extra 'mmc dev'.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
6 years agoimx: Add a common way for detecting NXP boards revision
Fabio Estevam [Mon, 27 Nov 2017 12:25:09 +0000 (10:25 -0200)]
imx: Add a common way for detecting NXP boards revision

NXP development boards based on i.MX6/i.MX7 contain the board
revision information stored in the fuses.

Introduce a common function that can be shared by different boards and
convert mx6sabreauto to use this new mechanism.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
6 years agoARM: imx: display5: config: Update display5_factory_defconfig to use USE_BOOTCOMMAND
Lukasz Majewski [Mon, 27 Nov 2017 11:29:18 +0000 (12:29 +0100)]
ARM: imx: display5: config: Update display5_factory_defconfig to use USE_BOOTCOMMAND

This commit switch display5_factory_defconfig to use new, generic
USE_BOOTCOMMAND Kconfig option.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
6 years agopower: pmic.h: include dm/ofnode.h
Peng Fan [Mon, 4 Dec 2017 04:31:20 +0000 (12:31 +0800)]
power: pmic.h: include dm/ofnode.h

Include dm/ofnode.h.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
6 years agoARM: imx: cm_fx6: remove esdhc init code from board file
Christopher Spinrath [Thu, 30 Nov 2017 21:38:40 +0000 (22:38 +0100)]
ARM: imx: cm_fx6: remove esdhc init code from board file

Commit 5248930ebf48 ("dm: imx: cm_fx6: Enable more driver model support")
enabled driver model support for MMC. Remove the old mmc init code, which
is no longer used, from the board file.

Signed-off-by: Christopher Spinrath <christopher.spinrath@rwth-aachen.de>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agoARM: imx: cm_fx6: remove sata init code from board file
Christopher Spinrath [Thu, 30 Nov 2017 21:38:39 +0000 (22:38 +0100)]
ARM: imx: cm_fx6: remove sata init code from board file

Commit 5248930ebf48 ("dm: imx: cm_fx6: Enable more driver model support")
enabled driver model support for AHCI. Remove the old, now unused, sata
init code from the board file.

Signed-off-by: Christopher Spinrath <christopher.spinrath@rwth-aachen.de>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agoARM: imx: cm_fx6: defconfig: enable CONFIG_DM_KEYBOARD
Christopher Spinrath [Thu, 30 Nov 2017 21:38:38 +0000 (22:38 +0100)]
ARM: imx: cm_fx6: defconfig: enable CONFIG_DM_KEYBOARD

Commit 5248930ebf48 ("dm: imx: cm_fx6: Enable more driver model support")
enabled driver model support for USB. But it missed to enable driver
model support for keyboards. As a result, USB keyboards do no longer
work.

Fix this by enabling driver model support for keyboards.

Fixes: 5248930ebf48 ("dm: imx: cm_fx6: Enable more driver model support")
Signed-off-by: Christopher Spinrath <christopher.spinrath@rwth-aachen.de>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agoARM: imx: cm-fx6: reinstate USB support by syncing the devicetree with Linux
Christopher Spinrath [Thu, 30 Nov 2017 21:38:37 +0000 (22:38 +0100)]
ARM: imx: cm-fx6: reinstate USB support by syncing the devicetree with Linux

Commit 5248930ebf48 ("dm: imx: cm_fx6: Enable more driver model support")
enabled driver model support for USB, thereby effectively removing USB
support because the cm_fx6 devicetree in the U-Boot does *not* enable the
USB nodes.

Reinstate the USB support by syncing the devicetree with Linux whose
devicetree enables the USB nodes properly.

More precisely, use the devicetree found in Linux v4.15-rc1 with the
following two changes:
  1) Remove the audio mux; the required dt-bindings header is not
     present in the U-Boot.
  2) Keep the usdhc3 MMC controller node currently present in the
     U-Boot's devicetree to retain the ability to boot from MMC.

Fixes: 5248930ebf48 ("dm: imx: cm_fx6: Enable more driver model support")
Signed-off-by: Christopher Spinrath <christopher.spinrath@rwth-aachen.de>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
6 years agoboard: ge: mx53ppd: Move check_time() to common location
Martyn Welch [Wed, 8 Nov 2017 15:59:35 +0000 (15:59 +0000)]
board: ge: mx53ppd: Move check_time() to common location

We are going to be using check_time() on more than the mx53ppd, move this
function to a common location.

Signed-off-by: Martyn Welch <martyn.welch@collabora.co.uk>
6 years agomx6_common: remove dead code
Adam Ford [Sat, 25 Nov 2017 19:39:09 +0000 (13:39 -0600)]
mx6_common: remove dead code

There is an #ifdef and #endif with nothing in between.  This patch simply
removes this dead/useless code.

Signed-off-by: Adam Ford <aford173@gmail.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
6 years agoimx: Unify CONFIG_BOOTDELAY
Fabio Estevam [Mon, 20 Nov 2017 13:54:33 +0000 (11:54 -0200)]
imx: Unify CONFIG_BOOTDELAY

In order to provide a consistent user experience for imx board users,
remove the custom CONFIG_BOOTDELAY values from defconfig files, so that
all boards can use the default two second delay.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
6 years agoMerge git://git.denx.de/u-boot-dm
Tom Rini [Wed, 27 Dec 2017 13:17:05 +0000 (08:17 -0500)]
Merge git://git.denx.de/u-boot-dm

6 years agoMove CONFIG_PANIC_HANG to Kconfig
Masahiro Yamada [Mon, 4 Dec 2017 03:37:00 +0000 (12:37 +0900)]
Move CONFIG_PANIC_HANG to Kconfig

Freescale (NXP) boards have lots of defconfig files per board.
I used "imply PANIC_HANG" for them.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: York Sun <york.sun@nxp.com>
6 years agoboards: ls1046ardb: disable unavailable "ethernet" node in dts
Prabhakar Kushwaha [Thu, 23 Nov 2017 11:21:48 +0000 (16:51 +0530)]
boards: ls1046ardb: disable unavailable "ethernet" node in dts

Linux device tree contains "ethernet" node for all possible
interface supported by SoC i.e. LS1046A.

It is not necessary for a SerDes protocol to support all possible
interface. So disable unavailable "ethernet" node in device tree.

Also, enable FDT_SEQ_MACADDR_FROM_ENV to fetch MAC address
sequentially from environment variables

Signed-off-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
6 years agoarm: Add support of updating dts before fix-up
Prabhakar Kushwaha [Thu, 23 Nov 2017 11:21:41 +0000 (16:51 +0530)]
arm: Add support of updating dts before fix-up

"ethernet" node fix-up for device tree happens before Linux boot.

There can be requirement of updating "ethernet" node even before
fix-up. So, add support of updating "ethernet" node.

Signed-off-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
6 years agocommon: Fix-up MAC addr in dts by fetching env variable serially
Prabhakar Kushwaha [Thu, 23 Nov 2017 11:21:32 +0000 (16:51 +0530)]
common: Fix-up MAC addr in dts by fetching env variable serially

The MAC addresses get fixed in the device tree for "ethernet" nodes
is by using trailing number behind "ethernet" found in "/aliases".
It may not be necessary for the "ethernet" nodes to be sequential.
There can be gaps in between or any node disabled

So provide a support to fetch MAC addr sequentially from env
and apply them to "ethernet" nodes in the order they appear in
device tree only if "ethernet" is not "disabled"

Signed-off-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
6 years agoMerge git://git.denx.de/u-boot-x86
Tom Rini [Thu, 21 Dec 2017 14:54:10 +0000 (09:54 -0500)]
Merge git://git.denx.de/u-boot-x86

6 years agox86: tangier: Use official ACPI HID for FLIS IP
Andy Shevchenko [Tue, 12 Dec 2017 17:02:42 +0000 (19:02 +0200)]
x86: tangier: Use official ACPI HID for FLIS IP

FLIS IP since now gets its own ACPI ID.
Drop PRP0001 workaround in favour of official ACPI HID.

Corresponding kernel commit dabd4bc6de2b

pinctrl: intel: merrifield: Introduce ACPI device table

in the pin control subsystem tree [1] targeting v4.16.

[1]: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git/commit/?h=for-next&id=dabd4bc6de2b

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
6 years agoMerge git://git.denx.de/u-boot-spi
Tom Rini [Tue, 19 Dec 2017 12:57:40 +0000 (07:57 -0500)]
Merge git://git.denx.de/u-boot-spi

6 years agoMerge git://git.denx.de/u-boot-sunxi
Tom Rini [Tue, 19 Dec 2017 12:57:33 +0000 (07:57 -0500)]
Merge git://git.denx.de/u-boot-sunxi

6 years agoefi_loader: Setup logical_partition media information
Emmanuel Vadot [Mon, 11 Dec 2017 18:22:33 +0000 (19:22 +0100)]
efi_loader: Setup logical_partition media information

When adding a partition, set the logical_partition member in the media
structure as mandated by the UEFI spec.

Signed-off-by: Emmanuel Vadot <manu@freebsd.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
6 years agomtd/spi: fix block count for is25lq040b
Sean Nyekjaer [Fri, 15 Dec 2017 07:51:54 +0000 (08:51 +0100)]
mtd/spi: fix block count for is25lq040b

This spi-nor is 4Mbit/512KB

Fixes: b4fbcbc5a5 ("mtd/spi: add support for is25lq040b")
Signed-off-by: Sean Nyekjaer <sean.nyekjaer@prevas.dk>
Reviewed-by: Jagan Teki <jagan@openedev.com>
6 years agoarm64: dts: sun50i: h5: Order nodes in alphabetic for orangepi-prime
Jagan Teki [Wed, 29 Nov 2017 07:44:23 +0000 (13:14 +0530)]
arm64: dts: sun50i: h5: Order nodes in alphabetic for orangepi-prime

Order sun50i-h5-orangepi-prime.dts nodes in alphabetic

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
6 years agoconfigs: sunxi: Drop FASTBOOT_FLASH
Jagan Teki [Fri, 8 Dec 2017 11:33:17 +0000 (17:03 +0530)]
configs: sunxi: Drop FASTBOOT_FLASH

Now FASTBOOT_FLASH is auto select for sunxi platform,
so drop explicit addition.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
6 years agosunxi: arm64: Increase CONFIG_SYS_BOOTM_LEN to 32MB
Jagan Teki [Fri, 10 Nov 2017 16:51:09 +0000 (22:21 +0530)]
sunxi: arm64: Increase CONFIG_SYS_BOOTM_LEN to 32MB

The default value of CONFIG_SYS_BOOTM_LEN, 0x800000, causes error
when uncompressing Image.gz out of FIT image.

  Uncompressing Kernel Image ... Error: inflate() returned -5
Image too large: increase CONFIG_SYS_BOOTM_LEN

and loading Image out of FIT image.
   Loading Kernel Image ... Image too large: increase CONFIG_SYS_BOOTM_LEN
Must RESET board to recover

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
6 years agoPrepare v2018.01-rc2 v2018.01-rc2
Tom Rini [Tue, 19 Dec 2017 01:55:17 +0000 (20:55 -0500)]
Prepare v2018.01-rc2

Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agoconfigs: Resync with savedefconfig
Tom Rini [Tue, 19 Dec 2017 01:19:09 +0000 (20:19 -0500)]
configs: Resync with savedefconfig

Rsync all defconfig files using moveconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agoMerge git://git.denx.de/u-boot-rockchip
Tom Rini [Mon, 18 Dec 2017 23:39:18 +0000 (18:39 -0500)]
Merge git://git.denx.de/u-boot-rockchip

6 years agoMerge git://git.denx.de/u-boot-fsl-qoriq
Tom Rini [Mon, 18 Dec 2017 23:39:00 +0000 (18:39 -0500)]
Merge git://git.denx.de/u-boot-fsl-qoriq

6 years agocommon: image.c: Fix CACHE: Misaligned operation output
Heiko Schocher [Thu, 14 Dec 2017 10:19:22 +0000 (11:19 +0100)]
common: image.c: Fix CACHE: Misaligned operation output

When booting a itb file with a Ramdisk on a imx6 based
board, U-Boot drops the warning:

Loading Kernel Image ... OK
Loading Ramdisk to 4ecf1000, end 4ef8b11f ... \
CACHE: Misaligned operation at range [4ecf1000,  4ef8b11f]

Fix it!

Signed-off-by: Heiko Schocher <hs@denx.de>
Tested-by: Ayoub Zaki <hs@denx.de>
6 years agoam335x_evm: Fix DFU for eMMC
Sam Protsenko [Tue, 12 Dec 2017 18:07:41 +0000 (20:07 +0200)]
am335x_evm: Fix DFU for eMMC

Use dfu_alt_info_emmc variable from include/environment/ti/dfu.h file.
It was probably overlooked when extracting DFU variables to mentioned
file.

This patch fixes DFU on BeagleBone Black, so that we can use commands
like ones below to upgrade various images on eMMC:

    => setenv dfu_alt_info $dfu_alt_info_emmc
    => dfu 0 mmc 1

    $ dfu-util -D MLO -a MLO.raw
    $ dfu-util -D u-boot.img -a u-boot.img.raw

Without this patch, the  user is forced to assign the value to
dfu_alt_info_emmc manually, which contradicts with instructions [1].

[1] http://processors.wiki.ti.com/index.php/Linux_Core_U-Boot_User%27s_Guide

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
6 years agonet: phy: meson-gxl: detect LPA corruption
Jerome Brunet [Tue, 12 Dec 2017 15:03:55 +0000 (16:03 +0100)]
net: phy: meson-gxl: detect LPA corruption

This patch is ported from the Linux patch posted at [1] and applied to
net tree as commit f1e2400a80ff.

The purpose of this change is to fix the incorrect detection of the link
partner (LP) advertised capabilities which sometimes happens with this PHY
(roughly 1 time in a dozen)

This issue may cause the link to be negotiated at 10Mbps/Full or
10Mbps/Half when 100MBps/Full is actually possible. In some case, the link
is even completely broken and no communication is possible.

To detect the corruption, we must look for a magic undocumented bit in the
WOL bank (hint given by the SoC vendor kernel) but this is not enough to
cover all cases. We also have to look at the LPA ack. If the LP supports
Aneg but did not ack our base code when aneg is completed, we assume
something went wrong.

The detection of a corrupted LPA triggers a restart of the aneg process.
This solves the problem but may take up to 6 retries to complete.

[1] https://lkml.kernel.org/r/20171208110811.30789-1-jbrunet@baylibre.com

Fixes: 8995a96d1d67 ("net: phy: Add Amlogic Meson GXL Internal PHY support")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
6 years agoARM: arch-meson: fix writel arguments order
Hans Verkuil [Tue, 12 Dec 2017 13:23:39 +0000 (14:23 +0100)]
ARM: arch-meson: fix writel arguments order

Using writel causes a "Synchronous Abort". Invert the arguments.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
6 years agoMerge tag 'xilinx-for-v2018.01-rc2-v2' of git://www.denx.de/git/u-boot-microblaze
Tom Rini [Mon, 18 Dec 2017 17:23:27 +0000 (12:23 -0500)]
Merge tag 'xilinx-for-v2018.01-rc2-v2' of git://denx.de/git/u-boot-microblaze

Xilinx changes for v2018.01-rc2-v2

fpga:
- Enable loading bitstream via fit image for !xilinx platforms

zynq:
- Fix SPL SD boot mode

zynqmp:
- Not not reset in panic
- Do not use simple allocator because of fat changes
- Various dt chagnes
- modeboot variable setup
- Fix fpga loading on automotive devices
- Fix coverity issues

test:
- Fix env test for !hush case - Stephen's patch

6 years agoarmv8: ls1046aqds: Adjust IFC timing for NOR flash
York Sun [Mon, 11 Dec 2017 16:39:05 +0000 (08:39 -0800)]
armv8: ls1046aqds: Adjust IFC timing for NOR flash

Increase setup, assertion and hold time related to chip-select signal.
Additional delay is needed for the signal to propogate through FPGA.
This adjustment slightly increase the read and write cycle but has no
impact on burst read or write.

Signed-off-by: York Sun <york.sun@nxp.com>
6 years agoarmv8: ls2085a: Update README file for NAND boot
York Sun [Thu, 7 Dec 2017 22:37:40 +0000 (14:37 -0800)]
armv8: ls2085a: Update README file for NAND boot

Update README file to note LS2088A and LS1088A don't support booting
from NAND flash.

Signed-off-by: York Sun <york.sun@nxp.com>
6 years agoarmv8: ls2080a: Increase load image len for NAND boot
York Sun [Mon, 18 Dec 2017 16:24:55 +0000 (08:24 -0800)]
armv8: ls2080a: Increase load image len for NAND boot

Again the image size increases and the length needs to be adjusted.

Signed-off-by: York Sun <york.sun@nxp.com>
6 years agorockchip: add a common script for generate fit its
Kever Yang [Fri, 15 Dec 2017 03:15:03 +0000 (11:15 +0800)]
rockchip: add a common script for generate fit its

Rockchip release bl31.elf file for armv8 SoCs like rk3399, rk3328,
the elf have more than one section, we need to decode it first and
packed them into u-boot.itb with its file. This script is to generate
the its script.
Need default bl31.elf in root directory of U-Boot source and dtb
as parameter.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agorockchip: firefly-rk3399: add FIT for rk3399
Kever Yang [Fri, 15 Dec 2017 03:15:04 +0000 (11:15 +0800)]
rockchip: firefly-rk3399: add FIT for rk3399

Enable SPL_FIT_GENERATOR with path for it.
With this patch you can get u-boot.itb for rk3399-firefly with:
> make u-boot.itb

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
Tested-by: Mark Kettenis <kettenis@openbsd.org>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agorockchip: evb-rk3399: update document for board bring up
Kever Yang [Fri, 15 Dec 2017 03:15:05 +0000 (11:15 +0800)]
rockchip: evb-rk3399: update document for board bring up

Since we support ATF in SPL and add script for it, let's make the
document up to date.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agorockchip: update ROCKCHIP_SPL_RESERVE_IRAM to 0
Kever Yang [Mon, 18 Dec 2017 07:13:19 +0000 (15:13 +0800)]
rockchip: update ROCKCHIP_SPL_RESERVE_IRAM to 0

Only rk3399 atf need ROCKCHIP_SPL_RESERVE_IRAM. This commit updates
its default setting to 0 so that other SoCs do not need to define it.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agorockchip: update boot0 hook
Kever Yang [Mon, 18 Dec 2017 07:05:41 +0000 (15:05 +0800)]
rockchip: update boot0 hook

Rockchip SoCs only need boot0 hook at SPL, and the U-Boot proper do not
need it.

The very beginning of U-Boot proper is different between armv7 and armv8:
armv7 start with ARM_VECTORS while armv8 start with 'b reset'.

Here is the map of very beginning for all cases:
armv7 SPL: TAG(overwrite 'b 1f')+'b reset' + ARM_VECTORS
armv7 U-Boot: ARM_VECTORS
armv8 SPL: TAG(overwrite 'b 1f')+'b reset' + Reserved_iram(rk3399)
armv8 U-Boot: 'b reset'

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agotest/py: Setup variables based on HUSH selection
Stephen Warren [Fri, 10 Nov 2017 10:59:15 +0000 (11:59 +0100)]
test/py: Setup variables based on HUSH selection

After adding our small zynq uboot which has hush parser off same
variable tests start to failed. Use quotes only when hush is enabled.

Reported-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
6 years agoarm64: zynqmp: Access timestamp_ref_ctrl register only if running in el3
Siva Durga Prasad Paladugu [Thu, 7 Dec 2017 09:35:30 +0000 (15:05 +0530)]
arm64: zynqmp: Access timestamp_ref_ctrl register only if running in el3

Access the timestamp ref ctrl register only if runinng
at el3 level otherwise just return. This change fixes
the issue when CRL APB is marked as secure and accessing
when not in el3 causes exception.

Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
6 years agotools: zynqmpimage: Check return values from file functions
Michal Simek [Tue, 5 Dec 2017 14:42:25 +0000 (15:42 +0100)]
tools: zynqmpimage: Check return values from file functions

Check all return values from file functions.
In case of negative return exit immediately.
Also change fsize return value which can't be negative.

Reported-by: Coverity (CID: 23276, 23304, 169357)
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
6 years agoarm64: zynqmp: Dont use 4K sector erase by default for spi-flashes
Siva Durga Prasad Paladugu [Tue, 31 Jan 2017 05:14:06 +0000 (10:44 +0530)]
arm64: zynqmp: Dont use 4K sector erase by default for spi-flashes

Dont use 4K sector erase by default, Disabling this
would use 64K sector erase and decreases erase time.
Also disabled by the fact that UBIFS and JFFS2 won't work
with 4K sector erase.

Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
6 years agoarm64: zynqmp: Enable spi flashes
Michal Simek [Fri, 8 Dec 2017 14:18:05 +0000 (15:18 +0100)]
arm64: zynqmp: Enable spi flashes

Enabling all spi flashes because some of these boards can have different
flashes compared to public version.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
6 years agorockchip: move CONFIG_ENV_SIZE and CONFIG_ENV_OFFSET to Kconfig
Klaus Goger [Mon, 11 Dec 2017 16:56:08 +0000 (17:56 +0100)]
rockchip: move CONFIG_ENV_SIZE and CONFIG_ENV_OFFSET to Kconfig

This commit adds ENV_SIZE and ENV_OFFSET configuration items for
ARCH_ROCKCHIP, but keeps these non-visible (i.e. not prompt is given).
With these new items present, the configuration from the header files
is moved to Kconfig.

Keeping these non-visible is necessary to have the possibility to
select new default values if CONFIG_IS_IN_* is changed (interactively
or with oldconfig). Otherwise it will always be set to a previous
value if used with a prompt.  As an example if we do a defconfig with
CONFIG_IS_IN_MMC and change it to CONFIG_IS_IN_SPI_FLASH via
menuconfig, ENV_SIZE and ENV_OFFSET will not be changed to the correct
values as defconfig will already have set them to the default values
of CONFIG_IS_IN_MMC in .config.

Signed-off-by: Klaus Goger <klaus.goger@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agoMerge tag 'signed-efi-v2018.01' of git://github.com/agraf/u-boot
Tom Rini [Sun, 17 Dec 2017 20:37:29 +0000 (15:37 -0500)]
Merge tag 'signed-efi-v2018.01' of git://github.com/agraf/u-boot

Patch queue for efi - 2017-12-17

A few fixes for 2018.01:

  - Compile fix with helloworld example
  - DP match fix (fixes FreeBSD loader and grub on block storage)
  - More DP fixes for SD, block
  - Fix use-after-free

6 years agorockchip: rk3399-puma: set gpio4cd iodomain to 1.8V
Jakob Unterwurzacher [Fri, 15 Dec 2017 15:23:14 +0000 (16:23 +0100)]
rockchip: rk3399-puma: set gpio4cd iodomain to 1.8V

The PCIe reset signal is connected to GPIO4_C6 on the Puma
module. This pin is supplied by 1.8V, but the default iodomain
setting is 3.0V and in this situation the pin is unable to go
high.

Linux assumes that this signal works in early boot
as PCIe is probed before loading the iodomain driver.

Make PCIe work in Linux by setting the gpio4cd iodomain to 1.8V.

Signed-off-by: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agorockchip: config: update part table
Kever Yang [Tue, 31 Oct 2017 08:52:23 +0000 (16:52 +0800)]
rockchip: config: update part table

User do not need to access the reserved part in system, remove them
from partition table.
Rename atf to trust as generic name for armv7 do not use ATF.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>