aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape
Commit message (Collapse)AuthorAgeFilesLines
* kernel: bump 4.14 to 4.14.112Koen Vandeputte2019-04-221-1/+1
| | | | | | | | | | | | Refreshed all patches. New symbol: - CONFIG_LDISC_AUTOLOAD Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.111Koen Vandeputte2019-04-082-4/+4
| | | | | | | | | Refreshed all patches. Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.110Koen Vandeputte2019-04-081-2/+2
| | | | | | | | | Refreshed all patches. Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.108Koen Vandeputte2019-03-272-6/+6
| | | | | | | | | | | | Refreshed all patches. Altered patches: - 950-0033-i2c-bcm2835-Add-debug-support.patch Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.107Koen Vandeputte2019-03-222-3/+3
| | | | | | | | | Refreshed all patches. Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6, x86_64 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.106Koen Vandeputte2019-03-181-2/+2
| | | | | | | | | Refreshed all patches. Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* layerscape: use wrapped nand_do_upgrade for traverse-ls1043 boardsMathew McBride2019-03-101-50/+15
| | | | | | | | Traverse LS1043 boards are set up with a dual-system layout, rootfs{1,2} and kernel{1,2}. nand_do_upgrade can do the image replacement work we were doing before as long as we give it the partition names. This greatly simplifies the /lib/upgrade/platform.sh. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* layerscape: rename Traverse boards along SoC linesMathew McBride2019-03-102-9/+7
| | | | | | | | | Upcoming product specification and branding changes mean that the names in tree do not accurately reflect released products. To reduce any confusion, sort our boards by SoC family, e.g traverse-ls1043. Any future boards using Layerscape family SoC's will be treated the same way, e.g Device/traverse-ls/lx/laXXXX. The affected boards so far have only been available through OEM channels and those aren't using the provided sysupgrade. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* kernel: bump 4.14 to 4.14.105Koen Vandeputte2019-03-071-2/+2
| | | | | | | | | Refreshed all patches. Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.104Koen Vandeputte2019-03-051-2/+2
| | | | | | | | | | | | Refreshed all patches. Altered patches: - 332-arc-add-OWRTDTB-section.patch Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* layerscape: fix VFIO driver build issue since linux-4.14.99Yangbo Lu2019-03-021-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The linux-4.14.99 had introduced below upstream patch. 6636dc5e01c6 arm64: io: Ensure value passed to __iormb() is held in a 64-bit register It was causing VFIO driver build issue. This patch is to fix it. CC drivers/vfio/fsl-mc/vfio_fsl_mc.o In file included from ./include/linux/scatterlist.h:9:0, from ./include/linux/iommu.h:22, from drivers/vfio/fsl-mc/vfio_fsl_mc.c:14: drivers/vfio/fsl-mc/vfio_fsl_mc.c: In function 'vfio_fsl_mc_dprc_wait_for_response': ./arch/arm64/include/asm/io.h:122:45: error: expected expression before ')' token : "=r" (tmp) : "r" ((unsigned long)(v)) \ ^ drivers/vfio/fsl-mc/vfio_fsl_mc.c:334:3: note: in expansion of macro '__iormb' __iormb(); ^~~~~~~ ./arch/arm64/include/asm/io.h:122:45: error: expected expression before ')' token : "=r" (tmp) : "r" ((unsigned long)(v)) \ ^ drivers/vfio/fsl-mc/vfio_fsl_mc.c:336:3: note: in expansion of macro '__iormb' __iormb(); ^~~~~~~ Reported-by: Mathew McBride <matt@traverse.com.au> Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* kernel: bump 4.14 to 4.14.103Koen Vandeputte2019-02-253-8/+8
| | | | | | | | | Refreshed all patches. Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.102Koen Vandeputte2019-02-221-1/+1
| | | | | | | | | | | | | | | | | | Refreshed all patches. Remove upstreamed: - 272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch Remove upstreamed hunks: - 080-pinctrl-msm-fix-gpio-hog-related-boot-issues.patch Fixes: - CVE-2018-1000026 Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.101Koen Vandeputte2019-02-151-1/+1
| | | | | | | | | | | | Refreshed all patches. Fixes: - CVE-2019-3819 Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.99Koen Vandeputte2019-02-146-14/+14
| | | | | | | | | | | | Refreshed all patches. Remove upstreamed: - 950-0434-mmc-bcm2835-Recover-from-MMC_SEND_EXT_CSD.patch Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.98Koen Vandeputte2019-02-081-3/+3
| | | | | | | | | | | | | | | Refreshed all patches. Remove upstreamed: - 100-arm-cns3xxx-fix-writing-to-wrong-PCI-registers-after.patch Altered patches: - 721-phy_packets.patch Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.97Koen Vandeputte2019-02-012-5/+5
| | | | | | | | | | | | Refreshed all patches. Adapted patches: - 012-kbuild-add-macro-for-controlling-warnings-to-linux-c.patch Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* layerscape: dts: Unify naming of gpio-keys nodesPetr Štetiar2019-01-242-2/+2
| | | | | | | | | | | | | | In DTS Checklist[1] we're now demanding proper generic node names, as the name of a node should reflect the function of the device and use generic name for that[2]. Everybody seems to be copy&pasting from DTS files available in the repository today, so let's unify that naming there as well and provide proper examples. 1. https://openwrt.org/submitting-patches#dts_checklist 2. https://github.com/devicetree-org/devicetree-specification/blob/master/source/devicetree-basics.rst#generic-names-recommendation Signed-off-by: Petr Štetiar <ynezz@true.cz> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [split up]
* kernel: bump 4.14 to 4.14.95Koen Vandeputte2019-01-242-7/+7
| | | | | | | | | | | | | | Refreshed all patches. Removed superseded patches: - 0400-Revert-MIPS-smp-mt-Use-CPU-interrupt-controller-IPI-.patch Compile-tested on: ar71xx, cns3xxx, imx6, lantiq (xrx200, AVM 3370), x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6, lantiq (xrx200, AVM 3370) Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Tested-by: Mathias Kresin <dev@kresin.me> Tested-by: Robert Resch <openwrt@webnmail.de>
* kernel: bump 4.14 to 4.14.91Koen Vandeputte2019-01-071-1/+1
| | | | | | | | | | | | Refreshed all patches. Removed upstreamed: - 500-ubifs-Handle-re-linking-of-inodes-correctly-while-re.patch Compile-tested on: ar71xx, cns3xxx, imx6 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: Deactivate CONFIG_COMPAT_BRKHauke Mehrtens2018-12-262-2/+0
| | | | | | | | | CONFIG_COMPAT_BRK disables the heap randomization which is only needed for very old and ancient user space applications, I am not aware that we run any of these, just deactivate this option for these targets to allow heap randomization. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: bump 4.14 to 4.14.90Kevin Darbyshire-Bryant2018-12-242-2/+2
| | | | | | | | | | | | | | Refresh all patches Remove upstream patch: backport-4.14/424-v4.20-net-dsa-fix-88e6060-roaming.patch Minor tweak to generic/hack-4.14/902-debloat_proc.patch to cleanly apply after upstream changes. Tested-on: ath79 Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* layerscape: use MKUBIFS_OPTS for per-device ubi parametersYangbo Lu2018-12-182-6/+3
| | | | | | | UBIFS_OPTS couldn't be used for per-device ubi parameters. Let's use MKUBIFS_OPTS instead. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: drop kernel 4.9 supportBiwen Li2018-12-1838-275972/+0
| | | | | | | This patch is to drop kernel 4.9 support. Signed-off-by: Biwen Li <biwen.li@nxp.com> Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: add LS1021AIOT board supportBiwen Li2018-12-183-2/+307
| | | | | | | | | | | | | | | | | | | | | | | The LS1021A-IoT gateway reference design based on the QorIQ LS1021A processor is a purpose-built, small footprint hardware platform with a wide array of high-speed connectivity and low-speed serial interfaces to support secure delivery of IoT services for home, business or other commercial location. - Combines standards-based, open source software with a feature-rich IoT gateway design to establish a common, open framework for secured IoT service delivery and management. - Provides a wide assortment of high-speed and serial-based connectivity in a compact, highly secure design. - High efficiency through the use of the Arm-based QorIQ LS1021A embedded processor. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> Signed-off-by: Biwen Li <biwen.li@nxp.com>
* layerscape: upgrade kernel to 4.14Biwen Li2018-12-1845-1/+242886
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is to upgrade kernel to 4.14 for layerscape. patches-4.14 for layerscape included two categories. - NXP Layerscape SDK kernel-4.14 patches All patches on tag LSDK-18.09-V4.14 were ported to OpenWrt kernel. Since there were hundreds patches, we had to make an all-in-one patch for each IP/feature. See below links for LSDK kernel. https://lsdk.github.io/components.html https://source.codeaurora.org/external/qoriq/qoriq-components/linux - Non-LSDK kernel patches Other patches which were not in LSDK were just put in patches-4.14. Kept below patches from patches-4.9. 303-dts-layerscape-add-traverse-ls1043.patch 821-add-esdhc-vsel-to-ls1043.patch 822-rgmii-fixed-link.patch Renamed and rebase them as below in patches-4.14, 303-add-DTS-for-Traverse-LS1043-Boards.patch 712-sdk-dpaa-rgmii-fixed-link.patch 824-mmc-sdhci-of-esdhc-add-voltage-switch-support-for-ls.patch Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> Signed-off-by: Biwen Li <biwen.li@nxp.com>
* kernel: bump 4.9 to 4.9.146Koen Vandeputte2018-12-182-3/+3
| | | | | | | | | | Refreshed all patches. Compile-tested on: brcm2708 Runtime-tested on: brcm2708 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Tested-by: Stijn Tintel <stijn@linux-ipv6.be>
* kernel: add missing symbol in some 4.9 subtargetsKoen Vandeputte2018-12-112-0/+2
| | | | | | | Buildbot revealed some subtargets are still missing the new symbol. Fixes: dfbf836a52e4 ("kernel: bump 4.9 to 4.9.143") Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.9 to 4.9.143Koen Vandeputte2018-12-102-4/+4
| | | | | | | | | | | | | | | | | | Refreshed all patches. Altered patches: - 950-0063-Improve-__copy_to_user-and-__copy_from_user-performa.patch - 201-extra_optimization.patch New symbol: - CONFIG_HARDEN_BRANCH_PREDICTOR Compile-tested on: ar7, at91, brcm2708, ixp4xx, layerscape, orion Runtime-tested on: none Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com> [fix brcm2708/950-0149-Update-vfpmodule.c.patch] Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* kernel: bump 4.9 to 4.9.137Koen Vandeputte2018-11-146-34/+23
| | | | | | | | | | | | Refreshed all patches. Removed upstreamed hunks in: - 703-phy-support-layerscape.patch Compile-tested on: ar71xx, layerscape Runtime-tested on: ar71xx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.9 to 4.9.135Koen Vandeputte2018-10-222-11/+11
| | | | | | | | | | | | Refreshed all patches. Fixes: - CVE-2018-10883 Compile-tested on: ar71xx, layerscape Runtime-tested on: ar71xx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.9 to 4.9.134Koen Vandeputte2018-10-191-6/+6
| | | | | | | | | Refreshed all patches. Compile-tested on: ar71xx, layerscape Runtime-tested on: ar71xx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: enable memory compactionFelix Fietkau2018-10-093-3/+0
| | | | | | | | | | | Compaction is the only memory management component to form high order (larger physically contiguous) memory blocks reliably. The page allocator relies on compaction heavily and the lack of the feature can lead to unexpected OOM killer invocations for high order memory requests. You shouldn't disable this option unless there really is a strong reason for it. Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Michal Hrusecky <michal.hrusecky@nic.cz>
* kernel: bump 4.9 to 4.9.131Koen Vandeputte2018-10-041-9/+9
| | | | | | | | | | | | | | Refreshed all patches. Fixes CVE: - CVE-2018-10880 - CVE-2018-7755 Compile-tested on: ar71xx Runtime-tested on: ar71xx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.9 to 4.9.130Koen Vandeputte2018-10-021-1/+1
| | | | | | | | | Refreshed all patches. Compile-tested on: ar71xx Runtime-tested on: ar71xx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* layerscape: fix Ethernet/DPAA/FMAN on Traverse boards after DTS refreshMathew McBride2018-09-291-2/+8
| | | | | | | | | | | Patch 303 is required for Traverse LS1043 targets when using the NXP DPAA1 driver. The recent refresh of 4.9 patches on layerscape changed how FMan/BMan memory regions were defined and meant Ethernet stopped working on these boards. (Note that these definitions are only required for NXP's Ethernet driver, the new upstream driver in >=4.15 works using the DTS provided in files/) Signed-off-by: Mathew McBride <matt@traverse.com.au>
* layerscape: armv7: activate USB support.Hauke Mehrtens2018-09-281-0/+1
| | | | | | | | The feature flags say that this target supports USB so packages depending on USB are being build, but actually the kernel configuration misses USB support. It looks like this SoC supports USB, so activate it. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* layerscape: kmod-ppfe: Fix kernel optionsHauke Mehrtens2018-09-271-1/+2
| | | | | | | | | The CONFIG_FSL_PPFE and the CONFIG_FSL_PPFE_UTIL_DISABLED are boolean, so they should be selected with an =y in OpenWrt, otherwise OpenWrt will select them as =m. These options will make pfe.ko being build as a module even if this is boolean. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: bump 4.9 to 4.9.129Koen Vandeputte2018-09-262-15/+15
| | | | | | | | | | | | Refreshed all patches. Removed upstreamed: - 203-MIPS-ath79-fix-restart.patch Compile-tested on: ar71xx Runtime-tested on: ar71xx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* layerscape: update README for SD card boot and new devicesYangbo Lu2018-09-221-100/+96
| | | | | | | This patch is to update the README since SD card boot support and LS1012AFRWY/LS1021ATWR were introduced. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: add ls1012afrwy support and drop ls1012afrdmYangbo Lu2018-09-222-35/+39
| | | | | | | | | | | | | | | | | | | | | | | ls1012afrdm was no longer supported in NXP Layerscape SDK. Instead a new board ls1012afrwy was introduced in LSDK. This patch is to drop ls1012afrdm and add ls1012afrwy support. Since only 2MB NOR flash could be used, we just put u-boot and firmware on NOR flash, and put kernel/dtb/rootfs on SD card. The Layerscape FRWY-LS1012A board is an ultra-low-cost development platform for LS1012A Series Communication Processors built on Arm Cortex-A53. This tool refines the FRDM-LS1012A with more features for a better hands-on experience for IoT, edge computing, and various advanced embedded applications. Features include easy access to processor I/O, low-power operation, micro SD card storage, an M2 connector, a small form factor, and expansion board options via mikroBUS Click Module. The MicroBUS Module provides easy expansion via hundreds of powerful modules supporting sensors, actuators, memories, and displays. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: add SD card boot supportYangbo Lu2018-09-225-1/+118
| | | | | | | | | NOR/QSPI Flash on Layerscape board only has limited 64MB memory size. Since some boards (ls1043ardb/ls1046ardb/ls1088ardb/ls1021atwr) could support SD card boot, we added SD boot support for them to put all things on SD card to meet large memory requirement. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: add armv7 subtarget and ls1021atwr board supportYangbo Lu2018-09-225-1/+1003
| | | | | | | | | | | | | | | | | | The NXP TWR-LS1021A module is a development system based on the QorIQ LS1021A processor. - This feature-rich, high-performance processor module can be used standalone or as part of an assembled Tower System development platform. - Incorporating dual Arm Cortex-A7 cores running up to 1 GHz, the TWR-LS1021A delivers an outstanding level of performance. - The TWR-LS1021A offers HDMI, SATA3 and USB3 connectors as well as a complete Linux software developer's package. - The module provides a comprehensive level of security that includes support for secure boot, Trust Architecture and tamper detection in both standby and active power modes, safeguarding the device from manufacture to deployment. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: split image makefile per subtargetYangbo Lu2018-09-223-185/+317
| | | | | | | | | | | | This patch is to split image makefile per subtarget. The ARMv7 subtarget will be added in the future. It will be not convinient if only one makefile is used for several subtargets management and future development. This patch also dropped 32-bit Traverse LS1043-S since Traverse only intended to support 64-bit and the 32-bit compile now had an issue. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: define ls-append functionYangbo Lu2018-09-221-73/+50
| | | | | | | This patch is to define a ls-append function for each device to reuse it for image appending. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: update linux 4.9 patches to LSDK-18.06Yangbo Lu2018-09-2223-12438/+23929
| | | | | | | This patch is to update linux 4.9 patches to LSDK-18.06 release and to adjust config-4.9 accordingly. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: add u-boot environment support for OpenWrt bootYangbo Lu2018-09-221-6/+16
| | | | | | | This patch is to implement u-boot environment txt files to support OpenWrt boot for all layerscape devices. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: update u-boot to LSDK-18.06Yangbo Lu2018-09-221-9/+21
| | | | | | | | | | | | | | The u-boot source code had been migrated to codeaurora for LSDK-18.06 release and the future release. This patch is to update u-boot to LSDK-18.06 for both uboot-layerscape and uboot-layerscape-armv8_32b packages. Besides, this patch also introduced some other changes. - Reworked uboot-layerscape makefile to make it more readable. - Define package in uboot-layerscape-armv8_32b for each board. - Fixed u-boot package selection in target image makefile. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: update ls-rcw to LSDK-18.06Yangbo Lu2018-09-221-6/+6
| | | | | | | | | | | | The rcw source code had been migrated to codeaurora for LSDK-18.06 release and the future release. The source code had also involved ls1012ardb/ls1012afrdm/ ls1088ardb/ls2088ardb rcw, so we updated ls-rcw to LSDK-18.06, reworked the makefile and dropped ls-rcw-bin package in this patch. Also reworked ls-rcw patch to adapt to the latest source code. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: update fman-ucode to LSDK-18.06Yangbo Lu2018-09-221-3/+3
| | | | | | | | | Actually there was no change for fman-ucode in LSDK-18.06 just tagged with LSDK-18.06. This patch is to rework the fman-ucode makefile to make it more readable, and to use lsdk-1806 as the PKG_VERSION. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>