project/bcm63xx/u-boot.git
5 years agoboard: imx6ull: Add disable PMIC_STBY_REQ
Philippe Schenker [Tue, 9 Apr 2019 15:24:12 +0000 (17:24 +0200)]
board: imx6ull: Add disable PMIC_STBY_REQ

Disable output driver of PAD CCM_PMIC_STBY_REQ. This prevents the
SOC to request for a lower voltage during sleep. This is necessary
because the voltage is changing too slow for the SOC to wake up
properly.

Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri-imx6ull: fix ethernet phy power on
Marcel Ziswiler [Tue, 9 Apr 2019 15:24:11 +0000 (17:24 +0200)]
colibri-imx6ull: fix ethernet phy power on

Just give the new Ethernet PHY power save mode circuitry time to settle.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agoapalis/colibri_imx6/imx6ull: make sure loadaddr does not collide
Stefan Agner [Tue, 9 Apr 2019 15:24:10 +0000 (17:24 +0200)]
apalis/colibri_imx6/imx6ull: make sure loadaddr does not collide

Currently $loadaddr and $fdt_addr_r point to the same address. This
might be not ideal for some distro boot scripts which make use of
$loadaddr after loading the device tree.

Make sure the two variables point to two different addresses. Moving
$loadaddr is not entirly trivial since it is defined in mx6_common.h.
Move $fdt_addr_r and $ramdisk_addr_r by 1MiB, which should be enough
for scripts.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri-imx6ull: set module variant depending on config block
Stefan Agner [Tue, 9 Apr 2019 15:24:09 +0000 (17:24 +0200)]
colibri-imx6ull: set module variant depending on config block

Using CPU temperature grading as a discriminator if the Wi-Fi /
Bluetooth chip is populated is no longer possible due to upcoming
SKUs. Set variant to -wifi only if a valid config block is present
and the product id mentions a SKU with Wi-Fi / Bluetooth.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agotdx-cfg-block: simplify i.MX 6 module detection
Stefan Agner [Tue, 9 Apr 2019 15:24:08 +0000 (17:24 +0200)]
tdx-cfg-block: simplify i.MX 6 module detection

Use CONFIG_TARGET_... at compile time to differentiate between
Apalis iMX6, Colibri iMX6 and Colibri iMX6ULL. Avoid code
duplication by moving question about Wi-Fi / Bluetooth before
IT/non-IT decision.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agotdx-cfg-block: add support for new colibri iMX6ull skus
Gerard Salvatella [Tue, 9 Apr 2019 15:24:07 +0000 (17:24 +0200)]
tdx-cfg-block: add support for new colibri iMX6ull skus

Add support for new Colibri iMX6ULL SKUs.

While at it also checkpatch fix the whole files.

Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri_vf: fix tab vs. spaces
Marcel Ziswiler [Thu, 28 Mar 2019 22:25:15 +0000 (23:25 +0100)]
colibri_vf: fix tab vs. spaces

Fix indentation using tab vs. spaces.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri_vf: fix ethernet by adding explicit phy node
Marcel Ziswiler [Thu, 28 Mar 2019 22:24:50 +0000 (23:24 +0100)]
colibri_vf: fix ethernet by adding explicit phy node

The implicit fallback mechanism for searching the whole MDIO bus for at
least one PHY has been gone with the following commit b882005a18de
("drivers/net/fec: phy_init: remove redundant logic"). This lead to the
Ethernet driver erroring out as follows:

Net:   Could not get PHY for FEC0: addr -19
eth-1: fec@400d1000
Colibri VFxx # dhcp
Could not get PHY for FEC0: addr -19
Could not get PHY for FEC0: addr -19
Could not get PHY for FEC0: addr -19
Could not get PHY for FEC0: addr -19
No ethernet found.
Could not get PHY for FEC0: addr -19
Colibri VFxx #

This commit adds an explicit PHY node which makes it work again.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Hannes Schmelzer <hannes.schmelzer@br-automation.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agoimx: support i.MX8QM MEK board
Peng Fan [Tue, 5 Mar 2019 02:32:49 +0000 (02:32 +0000)]
imx: support i.MX8QM MEK board

Add i.MX8QM MEK board support.
Included a basic dts, enabled SPL FIT

Boot log as below:
U-Boot SPL 2019.01-rc1-00029-gf002213219 (Dec 24 2018 - 10:28:30 +0800)
Normal Boot
Trying to boot from MMC2_2

U-Boot 2019.01-rc1-00029-gf002213219 (Dec 24 2018 - 10:28:30 +0800)

CPU:   NXP i.MX8QM RevB A53 at 142933 MHz

Model: Freescale i.MX8QM MEK
Board: iMX8QM MEK
Build: SCFW 9330215b
Boot:  SD1
DRAM:  6 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC... *** Warning - bad CRC, using default environment

In:    serial@5a060000
Out:   serial@5a060000
Err:   serial@5a060000
Net:
Error: ethernet@5b040000 address not set.
eth-1: ethernet@5b040000
Hit any key to stop autoboot:  0

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agomisc: imx8: scu: add i.MX8QM support
Peng Fan [Tue, 5 Mar 2019 02:32:45 +0000 (02:32 +0000)]
misc: imx8: scu: add i.MX8QM support

According to IMX8QXP/8QM config option, choose the clk/iomuxc
compatible.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx8: imx8-pins: add i.MX8QM
Peng Fan [Tue, 5 Mar 2019 02:32:39 +0000 (02:32 +0000)]
imx8: imx8-pins: add i.MX8QM

Add i.MX8QM entry

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoclk: imx8: add i.MX8QM clk driver
Peng Fan [Tue, 5 Mar 2019 02:32:35 +0000 (02:32 +0000)]
clk: imx8: add i.MX8QM clk driver

Add i.MX8QM clk driver, SDHC/FEC/UART/I2C supported.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoclk: imx8: split code into common and soc specific part
Peng Fan [Tue, 5 Mar 2019 02:32:33 +0000 (02:32 +0000)]
clk: imx8: split code into common and soc specific part

To make it easy to add new clk driver for i.MX8, split
the code into common part and SoC specific part.

Make the get/set/enable non static and introduce a num_clks for
soc_clk_dump, because the arrays are moved to clk-imx8qxp.c.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx8: add cpu support
Peng Fan [Tue, 5 Mar 2019 02:32:28 +0000 (02:32 +0000)]
imx8: add cpu support

Add cpu type and Kconfig entry

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoarm: dts: introduce dtsi for i.MX8QM
Peng Fan [Tue, 5 Mar 2019 02:32:25 +0000 (02:32 +0000)]
arm: dts: introduce dtsi for i.MX8QM

Introduce basic dtsi for i.MX8QM, only support SDHC/FEC/LPUART.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agodt-bindings: clock: dt-bindings: pinctrl: add i.MX8QM clocks definition
Peng Fan [Tue, 5 Mar 2019 02:32:21 +0000 (02:32 +0000)]
dt-bindings: clock: dt-bindings: pinctrl: add i.MX8QM clocks definition

Add i.MX8QM clocks definition

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agodt-bindings: pinctrl: add i.MX8QM pads definition
Peng Fan [Tue, 5 Mar 2019 02:32:17 +0000 (02:32 +0000)]
dt-bindings: pinctrl: add i.MX8QM pads definition

Add i.MX8QM pads definition

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agopinctrl: imx8: add i.MX8QM compatible
Peng Fan [Tue, 5 Mar 2019 02:32:13 +0000 (02:32 +0000)]
pinctrl: imx8: add i.MX8QM compatible

Add i.MX8QM compatible

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoboot.src: Provide dsa_core.blacklist bootarg when booting via NFS
Lukasz Majewski [Thu, 4 Apr 2019 10:26:56 +0000 (12:26 +0200)]
boot.src: Provide dsa_core.blacklist bootarg when booting via NFS

This setup is a bit special as Linux kernel (4.19) is not supporting
in-kernel NFS rootfs mount and Distributed Switch Architecture (DSA)
operation.

For that reason it was necessary to provide a bootarg to allow userspace
enable it afterwards if needed.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoConvert CONFIG_USB_EHCI_MX5 to Kconfig
Lukasz Majewski [Thu, 4 Apr 2019 10:26:55 +0000 (12:26 +0200)]
Convert CONFIG_USB_EHCI_MX5 to Kconfig

This converts the following to Kconfig:
   CONFIG_USB_EHCI_MX5

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoARM: config: Remove not needed CONFIG_MXC_USB_PORT define
Lukasz Majewski [Thu, 4 Apr 2019 10:26:54 +0000 (12:26 +0200)]
ARM: config: Remove not needed CONFIG_MXC_USB_PORT define

After i.MX5's EHCI conversion to DM, the CONFIG_MXC_USB_PORT is not needed
anymore and should be removed.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoARM: defconfig: kp_imx53: Enable DM_USB support on HSC|DDC boards
Lukasz Majewski [Thu, 4 Apr 2019 10:26:53 +0000 (12:26 +0200)]
ARM: defconfig: kp_imx53: Enable DM_USB support on HSC|DDC boards

This commit enables the DM_USB on HSC|DDC i.MX53 based boards.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoUSB: DM: Convert i.MX5 ehci code to driver model
Lukasz Majewski [Thu, 4 Apr 2019 10:26:52 +0000 (12:26 +0200)]
USB: DM: Convert i.MX5 ehci code to driver model

This commit converts i.MX5's EHCI USB host driver to driver model (DM_USB).
It is a straightforward conversion (to reuse as much code as possible),
based on ehci-mx6.c code.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoARM: Remove EHCI specific code from HSC|DDC board file
Lukasz Majewski [Thu, 4 Apr 2019 10:26:51 +0000 (12:26 +0200)]
ARM: Remove EHCI specific code from HSC|DDC board file

As EHCI on i.MX5 has been converted to driver model, the board specific
code, necessary for VBUS USB power supply setup is not needed anymore.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoDTS: Enable USB host support (including regulators) on HSC|DDC boards
Lukasz Majewski [Thu, 4 Apr 2019 10:26:50 +0000 (12:26 +0200)]
DTS: Enable USB host support (including regulators) on HSC|DDC boards

This commit enables the support for K&P's HSC|DDC imx53 based boards.
It was also necessary to provide device tree description for regulators
to avoid board specific code definition.

The GPIO pin description responsible for VBUS control has been moved from
"hog" group to usbh1 dedicated one.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoDTS: Provide USB host DTS description for i.MX53 devices
Lukasz Majewski [Thu, 4 Apr 2019 10:26:49 +0000 (12:26 +0200)]
DTS: Provide USB host DTS description for i.MX53 devices

This code has been ported from Linux kernel - tag v5.1-rc2.
The difference from the kernel is the removal of:
fsl,usbmisc = <&usbmisc 1>;
fsl,usbphy = <&usbphy1>;

properties, which are not needed for correct u-boot operation (as PHY
setup is done in ehci-mx5.c file itself).

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoARM: kp_imx53: config: Do not use ${boardtype} to setup update wic file
Lukasz Majewski [Thu, 4 Apr 2019 10:26:48 +0000 (12:26 +0200)]
ARM: kp_imx53: config: Do not use ${boardtype} to setup update wic file

After unification of the rootfs for both HSC and DDC devices, only one,
common wic file is necessary - without the distinction of specific board.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoARM: Remove non DM/DTS esdhc3 code from HSC|DDC board related files
Lukasz Majewski [Thu, 4 Apr 2019 10:26:47 +0000 (12:26 +0200)]
ARM: Remove non DM/DTS esdhc3 code from HSC|DDC board related files

After switching to DM/DTS support of esdhc3 - the code in this patch
can be removed.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoARM: defconfig: Move CONFIG_FSL_ESDHC to Kconfig
Lukasz Majewski [Thu, 4 Apr 2019 10:26:46 +0000 (12:26 +0200)]
ARM: defconfig: Move CONFIG_FSL_ESDHC to Kconfig

The CONFIG_FSL_ESDHC is now enabled and defined in Kconfig, not in
include/configs/kp_imx53.h

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoARM: Enable CONFIG_DM_MMC and CONFIG_DM_BLK on HSC and DDC boards
Lukasz Majewski [Thu, 4 Apr 2019 10:26:45 +0000 (12:26 +0200)]
ARM: Enable CONFIG_DM_MMC and CONFIG_DM_BLK on HSC and DDC boards

This commit enables DM_MMC and DM_BLK on imx53 based HSC and DDC boards.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoDTS: Add esdhc3 device tree description tuning for HSC|DDC boards
Lukasz Majewski [Thu, 4 Apr 2019 10:26:44 +0000 (12:26 +0200)]
DTS: Add esdhc3 device tree description tuning for HSC|DDC boards

In this commit the esdhc3 controller is enabled as well as it is remaped
to mmc0 to not break legacy code.

The pinctrl setup (e.g. 0x1e4) is the same as one from in-board file
definition.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoARM: Remove HSC|DDC ETH PHY reset code after switching to DM/DTS
Lukasz Majewski [Thu, 4 Apr 2019 10:26:43 +0000 (12:26 +0200)]
ARM: Remove HSC|DDC ETH PHY reset code after switching to DM/DTS

After commit efd0b791069a ("eth: dm: fec: Add gpio phy reset binding")
the in-board file definition of ETH PHY reset can be removed.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
5 years agoimx8qxp: mek: enable dm-spl for pm
Peng Fan [Thu, 7 Mar 2019 12:43:37 +0000 (12:43 +0000)]
imx8qxp: mek: enable dm-spl for pm

with u-boot,dm-spl added for imx8qx-pm node, and SPL_SIMPLE_BUS enabled,
the bind and probe code in board file could be removed.

Also we need to enlarge SYS_MALLOC_F_LEN to avoid calloc fail.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoARM: omap3_logic: Enable UUID
Adam Ford [Thu, 11 Apr 2019 20:24:33 +0000 (15:24 -0500)]
ARM: omap3_logic: Enable UUID

Instead of hardcoding the mmcroot to /dev/mmcblkX, use the UUID
method.

Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agoARM: imx6q_logic: Allow storing environment in FAT on eMMC
Adam Ford [Thu, 11 Apr 2019 18:44:59 +0000 (13:44 -0500)]
ARM: imx6q_logic: Allow storing environment in FAT on eMMC

Some variations of the imx6q_logic board have eMMC instead of
NAND.  Rather than creating a separate defconfig, this patch
adds the ability to read/write to eMMC (mmc 0:1) when NAND
doesn't exist.

Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agoARM: imx6q_logic: Allow optional arguments to cmd line
Adam Ford [Thu, 11 Apr 2019 18:46:09 +0000 (13:46 -0500)]
ARM: imx6q_logic: Allow optional arguments to cmd line

This adds an extra, optional environmental variable called
'optargs' which if enabled allow additional parameters to be
passed to the kernel (ie, quiet, cma=128M, etc.)
Each script that setups the bootargs will just append this.

Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agoimx8: mek: move HUSH_PARSER to defconfig
Peng Fan [Fri, 12 Apr 2019 07:55:12 +0000 (07:55 +0000)]
imx8: mek: move HUSH_PARSER to defconfig

Move HUSH_PARSER to defconfig, otherwise meet
"
=> run netboot
Booting from net ...
Unknown command 'if' - try 'help'
Unknown command 'then' - try 'help'
Unknown command 'else' - try 'help'
Unknown command 'fi' - try 'help'
Unknown command '0x80280000' - try 'help'
Unknown command 'if' - try 'help'
Unknown command 'then' - try 'help'
Unknown command 'then' - try 'help'
Unknown command 'else' - try 'help'
Unknown command 'fi' - try 'help'
Unknown command 'else' - try 'help'
Unknown command 'fi' - try 'help'
"

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx8qxp: mek: Enable CMD_FUSE
Peng Fan [Fri, 12 Apr 2019 07:54:57 +0000 (07:54 +0000)]
imx8qxp: mek: Enable CMD_FUSE

Enable CMD_FUSE for i.MX8QXP MEK

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx8: fuse: add fuse driver
Peng Fan [Fri, 12 Apr 2019 07:54:54 +0000 (07:54 +0000)]
imx8: fuse: add fuse driver

Add fuse write for i.MX8

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoimx: sip: add call_imx_sip_ret2
Peng Fan [Fri, 12 Apr 2019 07:54:50 +0000 (07:54 +0000)]
imx: sip: add call_imx_sip_ret2

This function will be used by i.MX8 fuse driver.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 years agoMerge branch '2019-04-22-master-imports'
Tom Rini [Wed, 24 Apr 2019 13:04:23 +0000 (09:04 -0400)]
Merge branch '2019-04-22-master-imports'

- Add and enable brcmnand driver on a number of relevant platforms.
  Also add and enable LED drivers on more bcm platforms.
- Various ARMv8 fixes/improvements, including extending PSCI
  functionality.
- fs_loader improvments
- Various FIT/SPL improvements
- PCI bugfixes
- Poplar platform ethernet support
- MediaTek MMC improvements
- Android boot improvements

5 years agoimage: android: fix 'iminfo' typo
Eugeniu Rosca [Mon, 8 Apr 2019 15:35:28 +0000 (17:35 +0200)]
image: android: fix 'iminfo' typo

Fix below CP warning triggered by the 'iminfo' output in another patch:
WARNING: 'addrress' may be misspelled - perhaps 'address'?

Fixes: 4f1318b29c7a20 ("common: image: minimal android image iminfo support")
Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
Acked-by: Marek Vasut <marek.vasut@gmail.com>
5 years agoimage: android: allow booting lz4-compressed kernels
Eugeniu Rosca [Mon, 8 Apr 2019 15:35:27 +0000 (17:35 +0200)]
image: android: allow booting lz4-compressed kernels

According to Android image format [1], kernel image resides at 1 page
offset from the boot image address. Grab the magic number from there
and allow U-Boot to handle LZ4-compressed KNL binaries instead of
hardcoding compression type to IH_COMP_NONE. Other compression types,
if needed, can be added later.

Tested on H3ULCB-KF using the image detailed in [2].

[1] Excerpt from include/android_image.h
    +-----------------+
    | boot header     | 1 page
    +-----------------+
    | kernel          | n pages
    +-----------------+
    | ramdisk         | m pages
    +-----------------+
    | second stage    | o pages
    +-----------------+

[2] => iminfo 4c000000
    ## Checking Image at 4c000000 ...
    Android image found
    kernel size:      85b9d1
    kernel address:   48080000
    ramdisk size:     54ddbc
    ramdisk addrress: 4a180000
    second size:      0
    second address:   48000800
    tags address:     48000100
    page size:        800
    os_version:       1200012a (ver: 0.9.0, level: 2018.10)
    name:
    cmdline:          buildvariant=userdebug

Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
5 years agotest: env: Enable env unit tests by default
Heinrich Schuchardt [Sun, 7 Apr 2019 15:57:40 +0000 (17:57 +0200)]
test: env: Enable env unit tests by default

If CONFIG_UNIT_TEST is enabled we should enable the individual tests by
default to ensure good test coverage.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agoARMv8: PSCI: Fix PSCI_TABLE relocation issue
Lars Povlsen [Thu, 4 Apr 2019 12:38:50 +0000 (14:38 +0200)]
ARMv8: PSCI: Fix PSCI_TABLE relocation issue

This fixes relaction isses with the PSCI_TABLE entries in
the psci_32_table and psci_64_table.

When using 32-bit adress pointers relocation was not being applied to
the tables, causing PSCI handlers to point to the un-relocated code
area. By using 64-bit data relocation is properly applied. The
handlers are thus in the "secure data" area, which is protected by
/memreserve/ in the FDT.

Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
5 years agobootm: Simplying cache flush code
Trent Piepho [Wed, 27 Mar 2019 23:50:09 +0000 (23:50 +0000)]
bootm: Simplying cache flush code

The cache flush of the kernel load area needs to be aligned outward to
the DMA cache alignment.  The operations are simpler if we think of this
as aligning the start down, ALIGN_DOWN(load, ARCH_DMA_MINALIGN), and
aligning the end up, ALIGN(load_end, ARCH_DMA_MINALIGN), and then find
the length of the flushed region by subtracting the former from the
latter.

Cc: Tom Rini <trini@konsulko.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Trent Piepho <tpiepho@impinj.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agomalloc: Fix memalign not honoring alignment prior to full malloc init
Andreas Dannenberg [Wed, 27 Mar 2019 18:17:26 +0000 (13:17 -0500)]
malloc: Fix memalign not honoring alignment prior to full malloc init

When using memalign() in a scenario where U-Boot is configured for full
malloc support with simple malloc not explicitly enabled and before the
full malloc support is initialized, a memory block is being allocated
and returned without the alignment parameter getting honored.

Fix this issue by replacing the existing memalign pre-full malloc init
logic with a call to memalign_simple() this way ensuring proper alignment
of the returned memory block.

Fixes: ee038c58d519 ("malloc: Use malloc simple before malloc is fully initialized in memalign()")
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
5 years agospl: spl_nand.c: Add NAND loading message
Stefan Roese [Tue, 26 Mar 2019 12:04:00 +0000 (13:04 +0100)]
spl: spl_nand.c: Add NAND loading message

This patch adds a short message to the SPL NAND loader, which displays
the source and destinations addresses including the size of the
loaded image, like this:

U-Boot SPL 2019.04-rc3-00113-g486efd8aaf (Mar 15 2019 - 14:18:02 +0100)
Trying to boot from NAND
Loading U-Boot from 0x00040000 (size 0x000a0000) to 0x22900000

I find this message quite helpful - hopefully others do so as well.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Heiko Schocher <hs@denx.de>
Cc: Tom Rini <trini@konsulko.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
5 years agoARM: MediaTek: Add support for MT8516 SoC
Fabien Parent [Sun, 24 Mar 2019 15:46:38 +0000 (16:46 +0100)]
ARM: MediaTek: Add support for MT8516 SoC

Add support for MediaTek MT8516 SoC. This include the file
that will initialize the SoC after boot and its device tree.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
5 years agopinctrl: add driver for MT8516
Fabien Parent [Sun, 24 Mar 2019 15:46:37 +0000 (16:46 +0100)]
pinctrl: add driver for MT8516

Add Pinctrl driver for MediaTek MT8516 SoC.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
Acked-by: Ryder Lee <ryder.lee@mediatek.com>
5 years agoclk: mediatek: add driver for MT8516
Fabien Parent [Sun, 24 Mar 2019 15:46:36 +0000 (16:46 +0100)]
clk: mediatek: add driver for MT8516

Add clock driver for MediaTek MT8516 SoC.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
Acked-by: Ryder Lee <ryder.lee@mediatek.com>
[trini: Redo whitespace]
Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoclk: mediatek: add support for SETCLR_INV and NO_SETCLR flags
Fabien Parent [Sun, 24 Mar 2019 15:46:35 +0000 (16:46 +0100)]
clk: mediatek: add support for SETCLR_INV and NO_SETCLR flags

Add the implementation for the CLK_GATE_SETCLR_INV and
CLK_GATE_NO_SETCLR flags.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
Acked-by: Ryder Lee <ryder.lee@mediatek.com>
5 years agommc: mtk-sd: fix configuration option check
Fabien Parent [Sun, 24 Mar 2019 15:46:34 +0000 (16:46 +0100)]
mmc: mtk-sd: fix configuration option check

We either need to use IS_ENABLED(CONFIG_FOO) or CONFIG_IS_ENABLED(FOO).
IS_ENABLE(FOO) will always return false.

This commit fixes the comparison by using the CONFIG_IS_ENABLED(FOO)
syntax.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
5 years agommc: mtk-sd: add support for MT8516
Fabien Parent [Sun, 24 Mar 2019 15:46:33 +0000 (16:46 +0100)]
mmc: mtk-sd: add support for MT8516

Add config for handling MT8516 SoC.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
Acked-by: Ryder Lee <ryder.lee@mediatek.com>
5 years agommc: mtk-sd: add source_cg clock support
Fabien Parent [Sun, 24 Mar 2019 15:46:32 +0000 (16:46 +0100)]
mmc: mtk-sd: add source_cg clock support

Some MediaTek SoC need an additional clock "source_cg". Enable
this new clock. We reuse the same clock name as in the kernel.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
Acked-by: Ryder Lee <ryder.lee@mediatek.com>
5 years agopoplar: enable Ethernet driver support
Shawn Guo [Wed, 20 Mar 2019 07:32:41 +0000 (15:32 +0800)]
poplar: enable Ethernet driver support

The 'phy' reset of gmac device in kernel device tree is not generic
enough for u-boot to use, so we need to overwrite the 'resets' property
as needed.  With this device tree fixup and poplar_defconfig changes,
Ethernet starts working on Poplar board.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agonet: add higmacv300 Ethernet driver for HiSilicon platform
Shawn Guo [Wed, 20 Mar 2019 07:32:40 +0000 (15:32 +0800)]
net: add higmacv300 Ethernet driver for HiSilicon platform

It adds the driver for HIGMACV300 Ethernet controller found on HiSilicon
SoCs like Hi3798CV200.  It's based on a downstream U-Boot driver, but
quite a lot of code gets rewritten and cleaned up to adopt driver model
and PHY API.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoreset: add reset driver for HiSilicon platform
Shawn Guo [Wed, 20 Mar 2019 07:32:39 +0000 (15:32 +0800)]
reset: add reset driver for HiSilicon platform

It adds a Driver Model compatible reset driver for HiSlicon platform.
The driver implements a custom .of_xlate function, and uses .data field
as reset register offset and .id field as bit shift.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoreset: add polarity field into struct reset_ctl
Shawn Guo [Wed, 20 Mar 2019 07:32:38 +0000 (15:32 +0800)]
reset: add polarity field into struct reset_ctl

Some reset controllers support different polarities for reset operation,
so let's add a polarity field into struct reset_ctl.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agopci: Scale MAX_PCI_REGIONS based on CONFIG_NR_DRAM_BANKS
Thierry Reding [Fri, 15 Mar 2019 15:32:33 +0000 (16:32 +0100)]
pci: Scale MAX_PCI_REGIONS based on CONFIG_NR_DRAM_BANKS

If a platform defines CONFIG_NR_DRAM_BANKS, each DRAM bank will be added
as a PCI region. The number of MAX_PCI_REGIONS therefore needs to scale
with the number of DRAM banks, otherwise we will end up with too little
space in the hose->regions array to store all system memory regions.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agopci: Add boundary check for hose->regions
Thierry Reding [Fri, 15 Mar 2019 15:32:32 +0000 (16:32 +0100)]
pci: Add boundary check for hose->regions

Make sure that we don't overflow the hose->regions array, otherwise we
would end up overwriting the hose->region_count field and cause mayhem
to ensue. Also print an error message when we'd be overflowing because
it indicates that there aren't enough regions available and the number
needs to be increased.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agoARM: da850evm: Remove legacy MMC code
Adam Ford [Fri, 15 Mar 2019 19:29:20 +0000 (14:29 -0500)]
ARM: da850evm: Remove legacy MMC code

With the migration to DM in SPL and the DT support, the
old legacy code is no longer neaded, so this patch removes it

Signed-off-by: Adam Ford <aford173@gmail.com>
5 years agobcm963158: enable led support
Philippe Reynes [Fri, 22 Mar 2019 16:02:08 +0000 (17:02 +0100)]
bcm963158: enable led support

Enable the led support in the configuration
of the board bcm963158.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agodt: bcm963158: enable led controller
Philippe Reynes [Fri, 22 Mar 2019 16:02:07 +0000 (17:02 +0100)]
dt: bcm963158: enable led controller

Enable the led controller in the device tree
of the board bcm963158.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agodt: bcm63158: add led controller
Philippe Reynes [Fri, 22 Mar 2019 16:02:06 +0000 (17:02 +0100)]
dt: bcm63158: add led controller

Add the led controller in the bcm63158 device tree.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agoled: bcm6858: allow to use this driver on ARCH_963158
Philippe Reynes [Fri, 22 Mar 2019 16:02:05 +0000 (17:02 +0100)]
led: bcm6858: allow to use this driver on ARCH_963158

Allow the led bcm6858 driver to be used on bcm63158.
They have the same led controller.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agobcm968580xref: enable led support
Philippe Reynes [Fri, 22 Mar 2019 16:02:04 +0000 (17:02 +0100)]
bcm968580xref: enable led support

Enable the led support in the configuration
of the board bcm968580xref.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agodt: bcm968580xref: enable led controller
Philippe Reynes [Fri, 22 Mar 2019 16:02:03 +0000 (17:02 +0100)]
dt: bcm968580xref: enable led controller

Enable the led controller in the device tree
of the board bcm968580xref.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agodt: bcm6858: add led controller
Philippe Reynes [Fri, 22 Mar 2019 16:02:02 +0000 (17:02 +0100)]
dt: bcm6858: add led controller

Add the led controller in the bcm6858 device tree.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agoled: add initial support for bcm6858
Philippe Reynes [Fri, 22 Mar 2019 16:02:01 +0000 (17:02 +0100)]
led: add initial support for bcm6858

The driver add the support of the led IP on bcm6858.
This led IP can drive up to 32 leds, and can handle
blinking.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
5 years agoarm: arm64 32bit address relocation
Ibai Erkiaga [Fri, 15 Mar 2019 12:18:41 +0000 (12:18 +0000)]
arm: arm64 32bit address relocation

Current relocation code is limited to 21bit PC-relative addressing
which might not be enough for bigger code sizes. The following patch
increases the addressing to 32bit PC-relative. This feature is
specially interesting if U-Boot is build without optimiation (-O0) as
the text section is increased significativelly.

Signed-off-by: Ibai Erkiaga <ibai.erkiaga-elorza@xilinx.com>
5 years agotravis: Add srecord package
Marek Vasut [Thu, 14 Mar 2019 00:01:24 +0000 (01:01 +0100)]
travis: Add srecord package

At least MIPS Boston currently uses srec_cat tool to fiddle with
srecords. There will be other platforms coming, so install the
tool to prevent build problems.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: Tom Rini <trini@konsulko.com>
5 years agoAdd target to generate initial environment
Stefano Babic [Wed, 13 Mar 2019 08:46:45 +0000 (09:46 +0100)]
Add target to generate initial environment

The initial environment is linked to the u-boot binary. Modifying the
environment from User Space with the env tools requires that the tools
are always built together with the bootloader to be sure that they
contain the initial environment in case no environment is stored into
persistent storage or when a board boots with just the default
environment. This makes difficult for distros to provide a general
package to access the environment. A simpler way is if the tools are
generic for all boards and a configuration file is given to provide the
initial environment.

The patch just generates the initial environment by extracting it from
the compiled object. This file can then be used for tools in user space
to initialize the environment.

Signed-off-by: Stefano Babic <sbabic@denx.de>
5 years agospl: ymodem: Add support for loading full fitImages
Marek Vasut [Wed, 6 Mar 2019 21:04:31 +0000 (22:04 +0100)]
spl: ymodem: Add support for loading full fitImages

Add support for loading fully featured fitImages over YModem in SPL.
This is useful when various advanced features of full fitImages are
needed in SPL.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Tom Rini <trini@konsulko.com>
5 years agofit: load all fragments from the extra configurations
Peter Ujfalusi [Wed, 6 Mar 2019 13:52:27 +0000 (15:52 +0200)]
fit: load all fragments from the extra configurations

Currently only the first fdt is loaded from the extra configuration of
FIT image.
If the configuration have multiple fdt, load them all as well.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
5 years agomisc: fs_loader: Replace label with DT phandle
Tien Fong Chee [Tue, 5 Mar 2019 15:29:38 +0000 (23:29 +0800)]
misc: fs_loader: Replace label with DT phandle

In previously label which will be expanded to the node's full path was
used, and now replacing label with most commonly used DT phandle. The
codes were changed accordingly to the use of DT phandle and supporting
multiple instances.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
5 years agoarm: fix hvc call
Ibai Erkiaga [Mon, 25 Feb 2019 10:11:45 +0000 (10:11 +0000)]
arm: fix hvc call

HVC call makes use of 6 mandatory arguments rather than 7 in the same way
as SMC calls. The 7th argument is optional (Client ID) for both HVC and
SMC but is implemented as 16-bit parameter and register R7 or W7. The aim
of this patch is just fix compilation error due to an invalid asm code in
the HVC call so that's why the 7th argument is removed.

The issue does not report any error in a normal build as hvc_call is not
used at all and is optimized by the compiler. Using -O0 triggers the
error so the patch is intended to fix issues on a ongoing effor to build
U-Boot with -O0.

Signed-off-by: Ibai Erkiaga <ibai.erkiaga-elorza@xilinx.com>
5 years agoSupport boot Android image without address on bootm command
Shawn Guo [Fri, 22 Feb 2019 08:28:06 +0000 (16:28 +0800)]
Support boot Android image without address on bootm command

It works perfectly fine to boot an Android boot.img with bootm command
followed by an explicit address argument that holds the image.  But if
we have boot.img downloaded into default 'loadaddr', and then boot it
using bootm command without the address argument, we will run into
problem, because U-Boot fails to find ramdisk and fdt (second area) in
boot.img.

The current Android image support assumes there is always an address
argument on bootm command.  However just like booting any other images,
'loadaddr' should be used when address argument is missing from bootm
command.  It patches boot_get_ramdisk() and boot_get_fdt() a bit to
support this quite common usage of bootm command for Android image.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
5 years agocmd: ximg.c: Add support for getting external data address and length
Tien Fong Chee [Tue, 12 Feb 2019 12:49:30 +0000 (20:49 +0800)]
cmd: ximg.c: Add support for getting external data address and length

This function supports getting both data address and length for
existing FIT subimage and FIT external data.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
5 years agoARMv8: Disable fwcall when PSCI is enabled
Ang, Chee Hong [Tue, 12 Feb 2019 08:27:03 +0000 (00:27 -0800)]
ARMv8: Disable fwcall when PSCI is enabled

When PSCI is enabled, we are expecting U-Boot which now act
as EL3 software will handle all the PSCI calls. We won't need
fwcall as no further HVC or SMC are needed.

Signed-off-by: Ang, Chee Hong <chee.hong.ang@intel.com>
5 years agoARMv8: Allow SiP service extensions on top of PSCI code
Chee Hong Ang [Tue, 12 Feb 2019 08:27:02 +0000 (00:27 -0800)]
ARMv8: Allow SiP service extensions on top of PSCI code

Allow PSCI layer to handle any SiP service functions added by
platform vendors. PSCI layer will look for SiP service function
in the SiP function table located in '._secure_svc_tbl_entries'
section if the SMC function identifier is not found in the PSCI
standard functions table. Use DECLARE_SECURE_SVC macro to declare
and add platform specific SiP service function.
This new section '._secure_svc_tbl_entries' is located next to
'._secure.text' section. Refer to arch/arm/cpu/armv8/u-boot.lds.

Signed-off-by: Chee Hong Ang <chee.hong.ang@intel.com>
5 years agotest: call hexdump tests via `ut lib`
Heinrich Schuchardt [Mon, 11 Feb 2019 17:29:24 +0000 (18:29 +0100)]
test: call hexdump tests via `ut lib`

The unit tests in test/lib/hexdump.c are not related to the device tree.
So they should be executed via `ut lib` and not via `ut dm`.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
5 years agomisc: fs_loader: Add support for initializing block device
Tien Fong Chee [Thu, 31 Jan 2019 11:34:13 +0000 (19:34 +0800)]
misc: fs_loader: Add support for initializing block device

Firmware loader would encounter problem if the block device is accessed
before initializing it. This patch would adding the support of probing
block device and initializing block before the block device is accessed by
firmware loader.

Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agocmd: add exception command
Heinrich Schuchardt [Wed, 26 Dec 2018 16:20:35 +0000 (17:20 +0100)]
cmd: add exception command

The 'exception' command allows to test exception handling.

This implementation supports ARM, x86, RISC-V and the following exceptions:
* 'breakpoint' - prefetch abort exception (ARM 32bit only)
* 'unaligned'  - data abort exception (ARM only)
* 'undefined'  - undefined instruction exception

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
5 years agobcm963158: add nand support
Philippe Reynes [Fri, 15 Mar 2019 14:14:47 +0000 (15:14 +0100)]
bcm963158: add nand support

Enable the nand support (driver and command)
in the configuration of the board bcm963158.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agodt: bcm963158: enable nand controller
Philippe Reynes [Fri, 15 Mar 2019 14:14:46 +0000 (15:14 +0100)]
dt: bcm963158: enable nand controller

Enable the nand controller in the device tree
of the board bcm963158.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agodt: bcm63158: add nand controller
Philippe Reynes [Fri, 15 Mar 2019 14:14:45 +0000 (15:14 +0100)]
dt: bcm63158: add nand controller

Add the nand controller in the bcm63158 device tree.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agobcm968580xref: add nand support
Philippe Reynes [Fri, 15 Mar 2019 14:14:44 +0000 (15:14 +0100)]
bcm968580xref: add nand support

Enable the nand support (driver and command)
in the configuration of the board bcm968580xref.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agodt: bcm968580xref: enable nand controller
Philippe Reynes [Fri, 15 Mar 2019 14:14:43 +0000 (15:14 +0100)]
dt: bcm968580xref: enable nand controller

Enable the nand controller in the device tree
of the board bcm968580xref.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agodt: bcm6858: add nand controller
Philippe Reynes [Fri, 15 Mar 2019 14:14:42 +0000 (15:14 +0100)]
dt: bcm6858: add nand controller

Add the nand controller in the bcm6858 device tree.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agobcm968380gerg: add nand support
Philippe Reynes [Fri, 15 Mar 2019 14:14:41 +0000 (15:14 +0100)]
bcm968380gerg: add nand support

Enable the nand support (driver and command)
in the configuration of the board bcm96838gerg.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agodt: bcm968380gerg: enable nand controller
Philippe Reynes [Fri, 15 Mar 2019 14:14:40 +0000 (15:14 +0100)]
dt: bcm968380gerg: enable nand controller

Enable the nand controller in the device tree
of the board bcm96838gerg.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agodt: bcm6838: add nand controller
Philippe Reynes [Fri, 15 Mar 2019 14:14:39 +0000 (15:14 +0100)]
dt: bcm6838: add nand controller

Add the nand controller in the bcm6838 device tree.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agodrivers: nand: brcmnand: add an option to read the write-protect from device tree
Philippe Reynes [Fri, 15 Mar 2019 14:14:38 +0000 (15:14 +0100)]
drivers: nand: brcmnand: add an option to read the write-protect from device tree

The option write-protect may only change on the kernel command line,
we add a property in the device tree to be more flexible.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agodrivers: nand: brcmnand: add parameter parameter-page-big-endian
Philippe Reynes [Fri, 15 Mar 2019 14:14:37 +0000 (15:14 +0100)]
drivers: nand: brcmnand: add parameter parameter-page-big-endian

The parameter page isn't always in big endian, so we add
an option to choose the endiannes of the parameter page.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agodrivers: nand: brcmnand: add initial support
Philippe Reynes [Fri, 15 Mar 2019 14:14:36 +0000 (15:14 +0100)]
drivers: nand: brcmnand: add initial support

The driver brcmnand come from linux kernel 4.18.
Only SoC bcm6838 and bcm6858 are supported.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agocompat linux: import completion from linux 4.18
Philippe Reynes [Fri, 15 Mar 2019 14:14:35 +0000 (15:14 +0100)]
compat linux: import completion from linux 4.18

This patch port the file include/linux/completion.h
from linux 4.18 to u-boot. It define the structure
but all the function are stubbed.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agoinclude: linux: io: define devm_ioremap on board with ioremap
Philippe Reynes [Fri, 15 Mar 2019 14:14:34 +0000 (15:14 +0100)]
include: linux: io: define devm_ioremap on board with ioremap

The macro devm_ioremap is only defined for configuration
that doesn't have ioremap. But this macro may also be
defined on configuration with ioremap.
This patch remove the condition for the macro devm_ioremap,
so it's always defined.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agoarm: asm: io.h: define readX_relaxed and writeX_relaxed
Philippe Reynes [Fri, 15 Mar 2019 14:14:33 +0000 (15:14 +0100)]
arm: asm: io.h: define readX_relaxed and writeX_relaxed

This patch port the function readX_relaxed and
writeX_relaxed from kernel 4.18.

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
5 years agomtd: nand: provide several helpers to do common NAND operations
Boris Brezillon [Fri, 15 Mar 2019 14:14:32 +0000 (15:14 +0100)]
mtd: nand: provide several helpers to do common NAND operations

Linux commit 97d90da8a88 ("mtd: nand: provide several helpers
to do common NAND operations")

This is part of the process of removing direct calls to ->cmdfunc()
outside of the core in order to introduce a better interface to execute
NAND operations.

Here we provide several helpers and make use of them to remove all
direct calls to ->cmdfunc(). This way, we can easily modify those
helpers to make use of the new ->exec_op() interface when available.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
[miquel.raynal@free-electrons.com: rebased and fixed some conflicts]
Signed-off-by: Miquel Raynal <miquel.raynal@free-electrons.com>
Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
[Philippe Reynes: adapt code to u-boot and only keep new function]

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>