oweals/u-boot.git
5 years agoarm64: zynqmp: Align u-boot-spl.bin for boot.bin creation
Michal Simek [Wed, 16 Jan 2019 11:14:00 +0000 (12:14 +0100)]
arm64: zynqmp: Align u-boot-spl.bin for boot.bin creation

Bootrom is not capable to work with non align bootloader partition
that's why it is necessary to align it before boot.bin creation.
The patch is creating new spl/u-boot-spl-align.bin which is used only
for boot.bin.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agotools: zynqmpimage: Align image_size/image_stored_size
Michal Simek [Fri, 14 Dec 2018 09:53:54 +0000 (10:53 +0100)]
tools: zynqmpimage: Align image_size/image_stored_size

Bootrom is not capable to work with non aligned bootloader sizes.
SPL with OF_SEPARATE generates non-align images quite often that's
why this change is required before OF_SEPARATE enableding.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agotravis: Wire Xilinx Versal Virt platform
Michal Simek [Thu, 20 Dec 2018 07:40:25 +0000 (08:40 +0100)]
travis: Wire Xilinx Versal Virt platform

Test Xilinx Versal Virt platform running on the v3.1.0 Qemu.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: zynqmp: Disable MMC for for zc12xx_revA boards
Michal Simek [Tue, 15 Jan 2019 11:00:52 +0000 (12:00 +0100)]
arm64: zynqmp: Disable MMC for for zc12xx_revA boards

All these boards have no SD enabled.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: zynqmp: Enable FPGA_LOAD_SECURE command
Michal Simek [Tue, 15 Jan 2019 10:01:54 +0000 (11:01 +0100)]
arm64: zynqmp: Enable FPGA_LOAD_SECURE command

Enable fpga load secure feature for xilinx platforms.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: zynqmp: Enable ISSI flash for some platforms
Michal Simek [Tue, 15 Jan 2019 09:45:41 +0000 (10:45 +0100)]
arm64: zynqmp: Enable ISSI flash for some platforms

Enable ISSI flash for platforms. Xilinx reference boards are also used
internally with different flash part to increase coverage that's why
enable also ISSI parts for all these boards even if that board is
released only with one part.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: zynqmp: Enable SPI on several boards
Michal Simek [Tue, 15 Jan 2019 08:30:38 +0000 (09:30 +0100)]
arm64: zynqmp: Enable SPI on several boards

Enable GQSPI driver, SF command and SPL support for some platforms.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: zynqmp: Setup proper SPI dependency
Michal Simek [Tue, 15 Jan 2019 09:50:39 +0000 (10:50 +0100)]
arm64: zynqmp: Setup proper SPI dependency

Select DM_SPI/DM_SPI_FLASH for the whole SoC.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoARM: zynqmp_r5: Setup DM_ETH/MMC if NET/MMC is enabled
Michal Simek [Tue, 15 Jan 2019 08:06:46 +0000 (09:06 +0100)]
ARM: zynqmp_r5: Setup DM_ETH/MMC if NET/MMC is enabled

Setup proper ETH/MMC dependency for the whole platform.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: zynqmp: Enable net configs for zc1275
Siva Durga Prasad Paladugu [Fri, 12 Oct 2018 11:25:37 +0000 (16:55 +0530)]
arm64: zynqmp: Enable net configs for zc1275

This patch enable net configs for zc1275 board.

Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: zynqmp: Setup DM_ETH/MMC if NET/MMC is enabled
Michal Simek [Tue, 15 Jan 2019 07:52:51 +0000 (08:52 +0100)]
arm64: zynqmp: Setup DM_ETH/MMC if NET/MMC is enabled

Setup proper ETH/MMC dependency for the whole platform.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: versal: Setup DM_ETH/MMC if NET/MMC is enabled
Michal Simek [Tue, 15 Jan 2019 07:52:46 +0000 (08:52 +0100)]
arm64: versal: Setup DM_ETH/MMC if NET/MMC is enabled

Setup proper ETH/MMC dependency for the whole platform.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agofpga: zynqmp: show an error message when FPGA programming fails
Luca Ceresoli [Fri, 11 Jan 2019 16:09:45 +0000 (17:09 +0100)]
fpga: zynqmp: show an error message when FPGA programming fails

When FPGA programming fails, it does so silently, unless debugging
code is enabled. This makes it hard to detect problems in production
environments.

Print the error message unconditionally so the error doesn't go
unnoticed.

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: zynqmp: Fix tcminit help text alignment
Michal Simek [Wed, 21 Nov 2018 06:49:18 +0000 (07:49 +0100)]
arm64: zynqmp: Fix tcminit help text alignment

Trivial patch.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agonet: phy: Move fixed link code to separate routine
Siva Durga Prasad Paladugu [Tue, 27 Nov 2018 06:19:10 +0000 (11:49 +0530)]
net: phy: Move fixed link code to separate routine

This patch moves fixed-link functionality code to a separate
routine inorder to make it more modular and cleaner.

Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
5 years agoarm64: zynqmp: Fix mmc node names to be in sync with kernel
Siva Durga Prasad Paladugu [Thu, 3 Jan 2019 10:14:24 +0000 (15:44 +0530)]
arm64: zynqmp: Fix mmc node names to be in sync with kernel

This patches renames sd nodes in dts to be in line with
kernel. This patch also modifies the references for the same
in code.
It checks mmc first to have no time penalty for new DT node names based
on left-to-right expression evaluation.

Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agozynq-gem: Use appropriate cache flush/invalidate for RX and TX
Stefan Theil [Mon, 17 Dec 2018 08:12:30 +0000 (09:12 +0100)]
zynq-gem: Use appropriate cache flush/invalidate for RX and TX

The cache was only flushed before *transmitting* packets, but not
when receiving them, leading to an issue where new packets were
handed to the receive handler with old contents in cache. This
only happens when a lot of packets are received without sending
packages every now and then. Also flushing the receive buffers
in the transmit function makes no sense and can be removed.

Signed-off-by: Stefan Theil <stefan.theil@mixed-mode.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: zynqmp: Protect board_late_init function
Michal Simek [Thu, 20 Dec 2018 08:33:38 +0000 (09:33 +0100)]
arm64: zynqmp: Protect board_late_init function

Function should be compiled only when CONFIG_BOARD_LATE_INIT is defined.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: zynqmp: Do not protect zynqmp_pmufw_version()
Michal Simek [Thu, 20 Dec 2018 08:41:12 +0000 (09:41 +0100)]
arm64: zynqmp: Do not protect zynqmp_pmufw_version()

There is hard dependency for CLK_ZYNQMP to have zynqmp_pmufw_version()
but also FPGA code is calling this function which is possible to use
without actual CLK_ZYNQMP firmware driver to be enabled.
This patch enables the case where only fixed-clock CLK setup is used.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agommc: zynq: Remove unused pwrseq variable
Michal Simek [Wed, 5 Dec 2018 11:40:55 +0000 (12:40 +0100)]
mmc: zynq: Remove unused pwrseq variable

This variable was incorrectly added by:
"mmc: zynq_sdhci: Add support for SD3.0"
(sha1: d1f4e39d58db32a4fd1a1b4085e0ede498bd773f)
which had nothing to do with MMC power sequence provider.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoarm64: zynqmp: Enable 2 NAND chips for zc1751 dc2
Michal Simek [Mon, 3 Dec 2018 15:24:45 +0000 (16:24 +0100)]
arm64: zynqmp: Enable 2 NAND chips for zc1751 dc2

This board contains 2 nand chips that's why enable this feature.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agomtd: nand: arasan_nfc: Add support for nand multi chip select
T Karthik Reddy [Mon, 3 Dec 2018 10:41:58 +0000 (16:11 +0530)]
mtd: nand: arasan_nfc: Add support for nand multi chip select

This patch adds support for nand multi chip select.
Also adding CONFIG_SYS_NAND_MAX_CHIPS to Kconfig to specify maximum number
of nand chips.

Signed-off-by: Tummala Karthik Reddy <t.karthik.reddy@xilinx.com>
Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agotools: zynqmpimage: round up partition size
Michael Tretter [Mon, 3 Dec 2018 15:37:53 +0000 (16:37 +0100)]
tools: zynqmpimage: round up partition size

The FSBL copies "Total Partition Word Length" * 4 bytes from the boot.bin,
which implies that the partition size is 4 byte aligned. When writing the
partition, mkimage calculates "Total Partition Word Length" by dividing
the size by 4. This implicitly cuts unaligned bytes at the end of the
added binary.

Instead of rounding down, the size must be round up to 4 bytes and the
binary padded accordingly.

Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
5 years agoMerge tag 'mips-pull-2019-01-23' of git://git.denx.de/u-boot-mips
Tom Rini [Wed, 23 Jan 2019 22:24:31 +0000 (17:24 -0500)]
Merge tag 'mips-pull-2019-01-23' of git://git.denx.de/u-boot-mips

- MIPS: mscc: ocelot: add ethernet switch and network support
- MIPS: mscc: add support for ServalT SoC family
- MIPS: mscc: add support for Serval SoC family

5 years agoMSCC: Add board support for Serval SoC family.
Horatiu Vultur [Wed, 23 Jan 2019 15:39:45 +0000 (16:39 +0100)]
MSCC: Add board support for Serval SoC family.

Add board support and configuration for Jaguar2 SoC family.
The detection of the board type is based on the phy ids.

Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
5 years agoMSCC: Add device tree for Serval pcb106 board
Horatiu Vultur [Wed, 23 Jan 2019 15:39:44 +0000 (16:39 +0100)]
MSCC: Add device tree for Serval pcb106 board

Add device tree based on evaluation board pcb106.

Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
5 years agoMSCC: add device tree for Serval pcb105 board
Horatiu Vultur [Wed, 23 Jan 2019 15:39:43 +0000 (16:39 +0100)]
MSCC: add device tree for Serval pcb105 board

Add device tree based on evaluation board pcb105.

Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
5 years agoMSCC: Add support for Serval SoC family.
Horatiu Vultur [Wed, 23 Jan 2019 15:39:42 +0000 (16:39 +0100)]
MSCC: Add support for Serval SoC family.

As Ocelot, Servalt, Luton and Jaguar2, this family of SoCs are
found in Microsemi Switches solution.

Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
5 years agopinctrl: mscc: Add gpio and pinctrl for Serval SoC family.
Horatiu Vultur [Wed, 23 Jan 2019 15:39:41 +0000 (16:39 +0100)]
pinctrl: mscc: Add gpio and pinctrl for Serval SoC family.

The Serval SoC family has 32 pins. Currently there is no
support for Serval in Linux kernel.

Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
5 years agoMSCC: Add board support for Servalt SoC family
Horatiu Vultur [Thu, 17 Jan 2019 14:33:28 +0000 (15:33 +0100)]
MSCC: Add board support for Servalt SoC family

Add board support, configuration and DTS for Servalt SoC
family. Currently there is one board in this family.

Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
5 years agoMSCC: Add support for Servalt SoC family.
Horatiu Vultur [Thu, 17 Jan 2019 14:33:27 +0000 (15:33 +0100)]
MSCC: Add support for Servalt SoC family.

As Ocelot, Luton and Jaguar2, this family of SoCs are found
in Microsemi Switches solution.

Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
5 years agopinctrl: mscc: Add gpio and pinctrl for Servalt SoC family.
Horatiu Vultur [Thu, 17 Jan 2019 14:33:26 +0000 (15:33 +0100)]
pinctrl: mscc: Add gpio and pinctrl for Servalt SoC family.

The Servalt SoC family has 36 pins. Currently there is not support
for Servalt pinctrl in Linux kernel.

Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
5 years agoconfigs: mscc_ocelot: add network support
Gregory CLEMENT [Thu, 17 Jan 2019 16:07:15 +0000 (17:07 +0100)]
configs: mscc_ocelot: add network support

Now that network support is added for the ocelot platform, let's add it
in the default configuration.

Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
5 years agoMIPS: mscc: ocelot: add switch reset support
Gregory CLEMENT [Thu, 17 Jan 2019 16:07:14 +0000 (17:07 +0100)]
MIPS: mscc: ocelot: add switch reset support

On some ocelots platform a workaround is needed in order to be able to
reset the switch without resetting the DDR.

Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
5 years agonet: add MSCC Ocelot switch support
Gregory CLEMENT [Thu, 17 Jan 2019 16:07:13 +0000 (17:07 +0100)]
net: add MSCC Ocelot switch support

This patch adds support for the Microsemi Ethernet switch present on
Ocelot SoCs.

Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
5 years agoMIPS: mscc: ocelot: Add ethernet nodes for Ocelot
Gregory CLEMENT [Thu, 17 Jan 2019 16:07:12 +0000 (17:07 +0100)]
MIPS: mscc: ocelot: Add ethernet nodes for Ocelot

Import Ethernet related nodes from Linux

Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
5 years agoMerge git://git.denx.de/u-boot-nds32
Tom Rini [Wed, 23 Jan 2019 03:00:20 +0000 (22:00 -0500)]
Merge git://git.denx.de/u-boot-nds32

- Support nds32 prebuilt toolchain.
- Fix some compile issues.
- Fix dts mmc node compatible string.

5 years agonds32: dts: Fix mmc node compatible string
Rick Chen [Tue, 15 Jan 2019 05:30:35 +0000 (13:30 +0800)]
nds32: dts: Fix mmc node compatible string

In the two commits:
cf3922dddc44a968685b535f2af195f1e51f4a7b
mmc: ftsdc010_mci: Sync compatible with DT mmc node

c14e90e8445e7b1c3531b4bdeb778c47bd6570eb
riscv: dts: Sync DT with Linux Kernel

ftsdc010_mci's compatible has been modified as
"andestech,atfsdc010" for RISC-V synchronization.
But ae3xx.dts and ag101p.dts which are used for
nds32 adp-ae3xx and adp-ag101p platforms did not
be modified correctly at that time. It will cause
mmc detection failure. Fix it here.

Signed-off-by: Rick Chen <rick@andestech.com>
Cc: Greentime Hu <greentime@andestech.com>
5 years agonds32: Fix boot fail issue when build with elf-mculib.
Rick Chen [Tue, 15 Jan 2019 03:07:54 +0000 (11:07 +0800)]
nds32: Fix boot fail issue when build with elf-mculib.

Add -mcmodel=large can let elf-mculib have
the same default behavior just like linux-glibc.
And it help to pass U-Boot booting sequence.

Signed-off-by: Rick Chen <rick@andestech.com>
Cc: Greentime Hu <greentime@andestech.com>
5 years agonds32: Generate SW fpu instruction.
Rick Chen [Tue, 15 Jan 2019 02:41:20 +0000 (10:41 +0800)]
nds32: Generate SW fpu instruction.

Force it to generate SW fup instruction.
It help to avoid bugs when running on no-HW-fpu board, but
compile with v3f which support HW fpu instruction.

Signed-off-by: Rick Chen <rick@andestech.com>
Cc: Greentime Hu <greentime@andestech.com>
5 years agonds32: Remove gcc unused option
Rick Chen [Thu, 10 Jan 2019 03:22:43 +0000 (11:22 +0800)]
nds32: Remove gcc unused option

-G0 is an old option, not support now,
So remove it.
It can help to fix compile error when
build with nds32 pre-build toolchain.

Signed-off-by: Rick Chen <rick@andestech.com>
Cc: Greentime Hu <greentime@andestech.com>
5 years ago.travis.yml: Support nds32 prebuilt toolchain
Rick Chen [Mon, 14 Jan 2019 05:36:15 +0000 (13:36 +0800)]
.travis.yml: Support nds32 prebuilt toolchain

Download nds32 prebuild toolchain from github
which is base on gcc 8.0.1 version for regression.

Signed-off-by: Rick Chen <rick@andestech.com>
Cc: Greentime Hu <greentime@andestech.com>
5 years agoMerge git://git.denx.de/u-boot-marvell
Tom Rini [Mon, 21 Jan 2019 16:59:21 +0000 (11:59 -0500)]
Merge git://git.denx.de/u-boot-marvell

- Sync Armada-38x dts with Linux 4.20 from Chris
- Misc changes and enhancements to Turris Mox (v4) from Marek
- Reserve PSCI area for Armada 8k from Heinrich
- New Allied Telesis x530 board (Armada-385) from Chris
- Misc minor changes (defconfig etc)

5 years agoMerge git://git.denx.de/u-boot-mpc83xx
Tom Rini [Mon, 21 Jan 2019 16:59:00 +0000 (11:59 -0500)]
Merge git://git.denx.de/u-boot-mpc83xx

5 years agoRevert "env: sf: fix environment in SPI NOR"
Tom Rini [Mon, 21 Jan 2019 16:57:58 +0000 (11:57 -0500)]
Revert "env: sf: fix environment in SPI NOR"

Per Heiko the original changes were correct and something is misbehaving
on his hardware.

This reverts commit 3d5931e5986a49c44cdab845c6751d845812e8d8.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoARM: at91: Convert SPL_GENERATE_ATMEL_PMECC_HEADER to Kconfig
Derald D. Woods [Sat, 15 Dec 2018 07:36:46 +0000 (01:36 -0600)]
ARM: at91: Convert SPL_GENERATE_ATMEL_PMECC_HEADER to Kconfig

This commit converts the following items to Kconfig:

CONFIG_ATMEL_NAND_HWECC
CONFIG_ATMEL_NAND_HW_PMECC
CONFIG_PMECC_CAP
CONFIG_PMECC_SECTOR_SIZE
CONFIG_SPL_GENERATE_ATMEL_PMECC_HEADER

[PMECC References]
https://www.at91.com/linux4sam/bin/view/Linux4SAM/PmeccConfigure
https://www.at91.com/linux4sam/bin/view/Linux4SAM/AT91Bootstrap

[Mailing List Thread]
https://lists.denx.de/pipermail/u-boot/2018-December/350666.html

Fixes: 5541543f ("configs: at91: Remove CONFIG_SYS_EXTRA_OPTIONS assignment")
[trini: Make the migration be size neutral and possibly not fix the
above in all cases]
Reported-by: Daniel Evans <photonthunder@gmail.com>
Cc: Eugen Hristev <eugen.hristev@microchip.com>
Signed-off-by: Derald D. Woods <woods.technical@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoARM: mvebu: add support for Allied Telesis x530
Chris Packham [Thu, 10 Jan 2019 08:01:00 +0000 (21:01 +1300)]
ARM: mvebu: add support for Allied Telesis x530

This is a range of stackable network switches. The SoC is Armada-385 and
there are a number of variants with differing network port
configurations. The DP variants are intended for a harsher operating
environment so they use a different i2c mux and fit industrial-temp
parts.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agoboard: mvebu: drop unused ETH_PHY macro definitions
Baruch Siach [Wed, 2 Jan 2019 16:26:42 +0000 (18:26 +0200)]
board: mvebu: drop unused ETH_PHY macro definitions

These macros are not used anywhere in the boards code.

Cc: Chris Packham <chris.packham@alliedtelesis.co.nz>
Cc: Dirk Eibach <dirk.eibach@gdsys.cc>
Cc: Mario Six <mario.six@gdsys.cc>
Cc: Dennis Gilmore <dgilmore@redhat.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agoarm64: mvebu: defconfig: enable CONFIG_CMD_NVME
Heinrich Schuchardt [Wed, 26 Dec 2018 09:37:55 +0000 (10:37 +0100)]
arm64: mvebu: defconfig: enable CONFIG_CMD_NVME

An NVME drive may be installed on the MACCHIATObin board using the PCIe
slot or on the Clearfog Pro using mini a PCI-e slot. With the configuration
change it becomes usable.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agoarm64: dts: marvell: armada-ap806: reserve PSCI area
Heinrich Schuchardt [Fri, 21 Dec 2018 16:30:46 +0000 (17:30 +0100)]
arm64: dts: marvell: armada-ap806: reserve PSCI area

The memory area [0x4000000-0x4200000[ is occupied by the PSCI firmware. Any
attempt to access it from U-Boot leads to an immediate crash.

So let's make the same memory reservation as the vendor device tree.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agoarm: mvebu: configs: turris_mox: Add 64 MiB of boot memory
Marek Behún [Mon, 17 Dec 2018 15:10:10 +0000 (16:10 +0100)]
arm: mvebu: configs: turris_mox: Add 64 MiB of boot memory

This is needed for some scenarios, such as booting large FIT image.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agoarm: mvebu: turris_mox: Support 1 GB version of Turris Mox
Marek Behún [Mon, 17 Dec 2018 15:10:09 +0000 (16:10 +0100)]
arm: mvebu: turris_mox: Support 1 GB version of Turris Mox

Use get_ram_size to determine if the RAM size on Turris Mox is 512 MiB
or 1 GiB.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agoarm: mvebu: turris_mox: Read info (and ethaddrs) from OTP
Marek Behún [Mon, 17 Dec 2018 15:10:08 +0000 (16:10 +0100)]
arm: mvebu: turris_mox: Read info (and ethaddrs) from OTP

Add support for reading One-Time Programmable memory via mailbox, which
communicates with CZ.NIC's firmware on the Secure Processor (Cortex-M3)
of Armada 3720.

Display product serial number and additional info, and also set MAC
addresses.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agoMAINTAINERS: Add entry for CZ.NIC's Turris project
Marek Behún [Mon, 17 Dec 2018 15:10:07 +0000 (16:10 +0100)]
MAINTAINERS: Add entry for CZ.NIC's Turris project

Add myself as the maintainer of CZ.NIC's Turris Omnia and Turris Mox
projects.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agowatchdog: armada_37xx: Fix compliance with kernel's driver
Marek Behún [Mon, 17 Dec 2018 15:10:06 +0000 (16:10 +0100)]
watchdog: armada_37xx: Fix compliance with kernel's driver

The Armada 37xx watchdog driver was recently accepted for mainline
kernel by watchdog subsystem maintainer, but the driver works a little
different than the one in U-Boot. This patch fixes this.

In the previous implementation there was a tiny period of time when the
watchdog was disabled and the system was vulnerables - this was during
pinging, which was done by disabling, setting, and enabling the counter.

Now pinging is done without disabling the watchdog. We use 2 counters:
Counter 1 is the watchdog counter - on expiry, the system is reset.
Counter 0 is used to reset Counter 1 to start counting from the set
timeout again. So Counter 1 is set to be reset on Counter 0 expiry event
event and pinging is done by forcing an immediate expiry event on
Counter 0.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agoarm: mvebu: turris_mox: Update defconfig
Marek Behún [Mon, 17 Dec 2018 15:10:05 +0000 (16:10 +0100)]
arm: mvebu: turris_mox: Update defconfig

Add gpio command to defconfig - this can be used to detect whether the
button is pressed or light LEDs.
Add DS1307 RTC driver and the date command.
Add CONFIG_WATCHDOG, so that U-Boot calls watchdog_reset.
Add CONFIG_MISC_INIT_R so that ethernet addresses are read from OTP
before network controller is initialized.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agoarm: mvebu: dts: Fix Turris Mox device tree
Marek Behún [Mon, 17 Dec 2018 15:10:04 +0000 (16:10 +0100)]
arm: mvebu: dts: Fix Turris Mox device tree

DTC issues a warning because #address-cells and #size-cells properties
are not set in the mdio node.
Also add ethernet1 alias.
Also add RTC node.
Also fix USB3 regulator startup delay time.
Also fix PCI Express SERDES speed to 5 GHz (this is only cosmetic, the
speed value is not used byt the comphy driver for PCI Express, but
should be 5 GHz nonetheless).

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agoarm: mvebu: turris_mox: Check and configure modules
Marek Behún [Mon, 17 Dec 2018 15:10:03 +0000 (16:10 +0100)]
arm: mvebu: turris_mox: Check and configure modules

Check if Mox modules are connected in supported mode, then configure
the MDIO addresses of switch modules.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agoarm: mvebu: turris_mox: Change SERDES map depending on module topology
Marek Behún [Mon, 17 Dec 2018 15:10:02 +0000 (16:10 +0100)]
arm: mvebu: turris_mox: Change SERDES map depending on module topology

When SFP module is connected directly to CPU module we want the SGMII
lane speed at 1.25 Gbps.

This is a temporary solution till there is a comphy driver in the kernel
capable of changing SGMII speed at runtime.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agoarm: mvebu: turris_mox: Cosmetic restructurization
Marek Behún [Mon, 17 Dec 2018 15:10:01 +0000 (16:10 +0100)]
arm: mvebu: turris_mox: Cosmetic restructurization

Restructure the board initialization source.
Remove the module_topology environment variable since it won't be
needed.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agoARM: mvebu: sync Armada-38x dts with Linux 4.20
Chris Packham [Mon, 10 Dec 2018 07:07:51 +0000 (20:07 +1300)]
ARM: mvebu: sync Armada-38x dts with Linux 4.20

Sync the Armada-38x device tree files with Linux 4.20-rc5. The changes
not taken are new compatible strings for the uart and nand flash
controller. The nand binding is best updated if/when the mtd/nand
infrastructure is updated.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
5 years agompc83xx: Add support for -msingle-pic-base
Joakim Tjernlund [Wed, 28 Nov 2018 09:59:55 +0000 (10:59 +0100)]
mpc83xx: Add support for -msingle-pic-base

-msingle-pic-base is a new gcc(from 4.6) option for ppc and
it reduces the size of my u-boot with about 4 KB.
While at it, add -fno-jump-tables too to save a
few more bytes.

Signed-off-by: Joakim Tjernlund <joakim.tjernlund@infinera.com>
Reviewed-by: Mario Six <mario.six@gdsys.cc>
Tested-by: Mario Six <mario.six@gdsys.cc> (on MPC8308)
5 years agoKconfig: Migrate BOUNCE_BUFFER
Philipp Tomsich [Fri, 30 Nov 2018 21:13:25 +0000 (22:13 +0100)]
Kconfig: Migrate BOUNCE_BUFFER

The bounce buffer is used by a few drivers (most of the MMC drivers)
to overcome limitations in their respective DMA implementation.

This moves the configuration to Kconfig and makes it user-selectable
(even though it will be a required feature to make those drivers
work): the expected usage is for drivers depending on this to 'select'
it unconditionally from their respective Kconfig (see follow-up
patches).

This commit includes a full migration using moveconfig.py to ensure
that each commit compiles.  To ensure bisectability we update
dependencies of various drivers to now select BOUNCE_BUFFER when needed.

[trini: Squash all patches to ensure bisectability]
Signed-off-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Otavio Salvador <otavio@ossystems.com.br> [dw_mmc portion]
Reviewed-by: Fabio Estevam <festevam@gmail.com> [mxsmmc portion]
Reviewed-by: Simon Glass <sjg@chromium.org> [tegra portion]
5 years agoconfigs: Resync with savedefconfig
Tom Rini [Sat, 19 Jan 2019 14:39:42 +0000 (09:39 -0500)]
configs: Resync with savedefconfig

Rsync all defconfig files using moveconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoMerge tag 'fsl-qoriq-for-v2019.04-rc1' of git://git.denx.de/u-boot-fsl-qoriq
Tom Rini [Sat, 19 Jan 2019 04:11:51 +0000 (23:11 -0500)]
Merge tag 'fsl-qoriq-for-v2019.04-rc1' of git://git.denx.de/u-boot-fsl-qoriq

Add TFA boot flow for more boards

Add TFA boot defconfig for ls1088a and ls2088a.
Add dts fixup for PCIe endpoint and root complex.

5 years agoMerge branch '2019-01-18-master-imports'
Tom Rini [Fri, 18 Jan 2019 18:40:41 +0000 (13:40 -0500)]
Merge branch '2019-01-18-master-imports'

- Bugfix for SPI environment optimization
- Spelling fixes
- Remove some defconfigs per various maintainers
- Minor db410, bananapi r2 fixes
- Bump QEMU to v3.1.0 for most platforms

5 years agoenv: sf: fix environment in SPI NOR
Heiko Schocher [Fri, 18 Jan 2019 09:45:56 +0000 (10:45 +0100)]
env: sf: fix environment in SPI NOR

commit 9a9d66f5eff0 ("env: add spi_flash_read_env function")

breaks Environment functionality, as it reads only
until 2 \0 are found, but fills the buffer with 0x0
instead 0xff which leads in an incorrect crc sum.

Fix: init the read buffer with 0xff instead 0x00

Signed-off-by: Heiko Schocher <hs@denx.de>
5 years agoarm: dts: am335x-pdu001: Sync with Linux 5.0-rc2
Felix Brack [Thu, 17 Jan 2019 10:51:09 +0000 (11:51 +0100)]
arm: dts: am335x-pdu001: Sync with Linux 5.0-rc2

This patch synchronizes the PDU001 board DTS file with the one used by
Linux 5.0-rc2.
Signed-off-by: Felix Brack <fb@ltec.ch>
5 years agoconfigs: Remove am335x_boneblack_defconfig
Faiz Abbas [Thu, 17 Jan 2019 10:14:06 +0000 (15:44 +0530)]
configs: Remove am335x_boneblack_defconfig

The am335x_evm_defconfig supports all am335x_boneblack variants. Remove
the redundant am335x_boneblack_defconfig.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
5 years agoarm: am335x-pdu001: Remove SPI support
Felix Brack [Thu, 17 Jan 2019 09:40:42 +0000 (10:40 +0100)]
arm: am335x-pdu001: Remove SPI support

On this board SPI is only used to configure the SoC driving the LC TFT
display which is not used in U-Boot. Hence remove SPI support.

Signed-off-by: Felix Brack <fb@ltec.ch>
5 years agocmd: mtd: fix compilation warning for help when SYS_LONGHELP=n
Quentin Schulz [Thu, 17 Jan 2019 09:18:47 +0000 (10:18 +0100)]
cmd: mtd: fix compilation warning for help when SYS_LONGHELP=n

cmd/mtd.c:447:13: warning: ‘mtd_help_text’ defined but not used [-Wunused-variable]
static char mtd_help_text[] =
            ^~~~~~~~~~~~~

When SYS_LONGHELP is not defined. After looking at how other commands
work, we should surround the whole help text (even its declaration) with
an #ifdef CONFIG_SYS_LONGHELP, since it's compiled out when calling
_CMD_HELP[1] on the help text variable argument to U_BOOT_CMD.

[1] https://elixir.bootlin.com/u-boot/latest/source/include/command.h#L181

Signed-off-by: Quentin Schulz <quentin.schulz@bootlin.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
5 years agotravis: Switch QEMU to 3.1.0 version
Michal Simek [Wed, 16 Jan 2019 14:18:44 +0000 (15:18 +0100)]
travis: Switch QEMU to 3.1.0 version

Vexpress ca15_tc2 is failing with 3.1.0 because of QEMU issue.
When this patch is applied
https://patchwork.kernel.org/patch/10754401/
Vexpress can be also turn to newer QEMU version.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
5 years agotravis: Setup QEMU_VERSION as variable
Michal Simek [Wed, 16 Jan 2019 14:18:43 +0000 (15:18 +0100)]
travis: Setup QEMU_VERSION as variable

This change enables setting up specific Qemu version or sha1 for new
targets which are added after (current) v3.0.0 version.
This changes is preparation step for adding new Xilinx Versal Virt
platform which was merge after v3.0.0.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
5 years agotravis: Break up the NXP Layerscape jobs more
Tom Rini [Wed, 16 Jan 2019 12:19:26 +0000 (07:19 -0500)]
travis: Break up the NXP Layerscape jobs more

The single job for all Layerscape 10xx platforms is close to, and
sometimes exceeds the time limit for a single job configuration.  Break
this down into jobs for LS101x, LS104x and LS108x instead.  While in
here, in the name portion of these jobs, refer to them as NXP for ARM
and not Freescale as they've been NXP for quite some time.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 years agoconfigs: Remove am43xx_evm_ethboot_defconfig
Vignesh R [Wed, 16 Jan 2019 09:24:36 +0000 (14:54 +0530)]
configs: Remove am43xx_evm_ethboot_defconfig

am43xx_evm_ethboot_defconfig is not being actively used and has not been
moved to DM or DT. Also, ethboot cannot be tested on AM43xx EVM as such
due EVM limitations. Therefore delete it.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
5 years agoconfigs: Remove unused am335x_evm defconfigs
Vignesh R [Wed, 16 Jan 2019 09:08:04 +0000 (14:38 +0530)]
configs: Remove unused am335x_evm defconfigs

These defconfigs don't seem be actively used any more, and have not been
moved to adapt DM or DT. Therefore delete them.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
5 years agoconfigs: am335x_evm: Enable DM_SPI and DM_SPI_FLASH
Vignesh R [Wed, 16 Jan 2019 06:46:11 +0000 (12:16 +0530)]
configs: am335x_evm: Enable DM_SPI and DM_SPI_FLASH

Enable DM_SPI and DM_SPI_FLASH for actively used defconfigs for
am335x_evm.

Signed-off-by: Vignesh R <vigneshr@ti.com>
5 years agoadding saveenv-command for bananapi r2
Frank Wunderlich [Tue, 15 Jan 2019 17:49:06 +0000 (18:49 +0100)]
adding saveenv-command for bananapi r2

bananapi r2 can be booted from sd-card and emmc
saving the environment have to choose the storage
from which the device has booted

also the offset is set to 1MB to make sure env is written
to block "user data area" between uboot and first partition

https://www.fw-web.de/dokuwiki/lib/exe/fetch.php?cache=&media=bpi-r2:boot-structure.png

Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
5 years agomkimage: fixup CONFIG_FIT_EXTERNAL_OFFSET
Patrick Wildt [Tue, 15 Jan 2019 15:34:19 +0000 (16:34 +0100)]
mkimage: fixup CONFIG_FIT_EXTERNAL_OFFSET

The last parameter is expected to be the imagefile.  Since -E is a
flag having the output name before -p will make mkimage ignore the
external offset option.

Signed-off-by: Patrick Wildt <patrick@blueri.se>
5 years agolib: Kconfig: spelling fixes
Chris Packham [Sun, 13 Jan 2019 09:13:28 +0000 (22:13 +1300)]
lib: Kconfig: spelling fixes

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agovideo: Kconfig: spelling fixes
Chris Packham [Sun, 13 Jan 2019 09:13:27 +0000 (22:13 +1300)]
video: Kconfig: spelling fixes

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
5 years agopinctrl: Kconfig: spelling fixes
Chris Packham [Sun, 13 Jan 2019 09:13:26 +0000 (22:13 +1300)]
pinctrl: Kconfig: spelling fixes

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agoi2c: Kconfig: spelling fixes
Chris Packham [Sun, 13 Jan 2019 09:13:25 +0000 (22:13 +1300)]
i2c: Kconfig: spelling fixes

Signed-off-by: Chris Packham <judge.packham@gmail.com>
5 years agodrivers: Kconfig: spelling fixes
Chris Packham [Sun, 13 Jan 2019 09:13:24 +0000 (22:13 +1300)]
drivers: Kconfig: spelling fixes

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agowork_92105: Kconfig: spelling fixes
Chris Packham [Sun, 13 Jan 2019 09:13:23 +0000 (22:13 +1300)]
work_92105: Kconfig: spelling fixes

Signed-off-by: Chris Packham <judge.packham@gmail.com>
5 years agox86: Kconfig: spelling fixes
Chris Packham [Sun, 13 Jan 2019 09:13:22 +0000 (22:13 +1300)]
x86: Kconfig: spelling fixes

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agoarm: Kconfig: spelling fixes
Chris Packham [Sun, 13 Jan 2019 09:13:21 +0000 (22:13 +1300)]
arm: Kconfig: spelling fixes

Signed-off-by: Chris Packham <judge.packham@gmail.com>
5 years agocommon: spl: Kconfig: spelling fixes
Chris Packham [Sun, 13 Jan 2019 09:13:20 +0000 (22:13 +1300)]
common: spl: Kconfig: spelling fixes

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agoKconfig: fix spelling
Chris Packham [Sun, 13 Jan 2019 09:13:19 +0000 (22:13 +1300)]
Kconfig: fix spelling

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agodisk: efi: GUIDs should be const
Heinrich Schuchardt [Sat, 12 Jan 2019 10:25:25 +0000 (11:25 +0100)]
disk: efi: GUIDs should be const

Make system_guid const.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 years agomach-snapdragon: db410: pinctrl: fix pin count
Ramon Fried [Sat, 12 Jan 2019 09:48:28 +0000 (11:48 +0200)]
mach-snapdragon: db410: pinctrl: fix pin count

Pin count in APQ8016 was wrong, fix that.

Fixes: ad97051b7ff6 ("mach-snapdragon: Introduce pinctrl driver")
Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
5 years agodts: db410: fix indentation
Ramon Fried [Sat, 12 Jan 2019 09:48:27 +0000 (11:48 +0200)]
dts: db410: fix indentation

Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
5 years agoMerge tag 'mips-pull-2019-11-16' of git://git.denx.de/u-boot-mips
Tom Rini [Fri, 18 Jan 2019 00:12:55 +0000 (19:12 -0500)]
Merge tag 'mips-pull-2019-11-16' of git://git.denx.de/u-boot-mips

- MIPS: mscc: various enhancements for Luton and Ocelot platforms
- MIPS: mscc: added support for Jaguar2 platform
- MIPS: optimised SPL linker script
- MIPS: bcm6368: fix restart flow issues
- MIPS: fixed CONFIG_OF_EMBED warnings for all MIPS boards
- MIPS: mt7688: small fixes and enhancements
- mmc: compile-out write support if disabled

5 years agoMerge branch '2019-01-16-master-imports'
Tom Rini [Thu, 17 Jan 2019 22:42:03 +0000 (17:42 -0500)]
Merge branch '2019-01-16-master-imports'

- Fixes for CVE-2018-18440 and CVE-2018-18439
- Patch to allow disabling unneeded NAND ECC layouts
- Optimize SPI flash env read process

5 years agoarmv8: ls2088ardb: Update MAINTAINERS
York Sun [Wed, 16 Jan 2019 15:49:25 +0000 (15:49 +0000)]
armv8: ls2088ardb: Update MAINTAINERS

Signed-off-by: York Sun <york.sun@nxp.com>
CC: Rajesh Bhagat <rajesh.bhagat@nxp.com>
5 years agoarmv8: ls1088ardb: Update MAINTAINERS
York Sun [Wed, 16 Jan 2019 15:49:19 +0000 (15:49 +0000)]
armv8: ls1088ardb: Update MAINTAINERS

Signed-off-by: York Sun <york.sun@nxp.com>
CC: Rajesh Bhagat <rajesh.bhagat@nxp.com>
5 years agoarmv7: dts: ls1021a: Remove aliases property name warning
Rajesh Bhagat [Sat, 5 Jan 2019 08:06:14 +0000 (08:06 +0000)]
armv7: dts: ls1021a: Remove aliases property name warning

Remove aliases property name warning while compilation:
Warning (alias_paths): /aliases: aliases property name must
include only lowercase and '-'

Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
5 years agopci: layerscape: Add the dts fixup for EP and RC
Xiaowei Bao [Fri, 26 Oct 2018 01:56:26 +0000 (09:56 +0800)]
pci: layerscape: Add the dts fixup for EP and RC

Add the dts fixup when PCI controller work diffferent mode.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
5 years agopci: layerscape: Do not scan when PEX work in EP mode
Xiaowei Bao [Fri, 26 Oct 2018 01:56:25 +0000 (09:56 +0800)]
pci: layerscape: Do not scan when PEX work in EP mode

Don't scan the bus when the PEX work in EP mode.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
5 years agopci: layerscape: Modify the EP and RC mode judge method
Xiaowei Bao [Fri, 26 Oct 2018 01:56:24 +0000 (09:56 +0800)]
pci: layerscape: Modify the EP and RC mode judge method

Modify the RC and EP mode judge method, save the mode as a variable,
the variable will be used by other function.

Signed-off-by: Xiaowei Bao <xiaowei.bao@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>