summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-08-24MLK-11724: ARM: dts: add mqs support mx6sx-sd-exp1 boardShengjiu Wang
Add mqs support for mx6sx-sd-exp1 board Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
2018-08-24MLK-11687 video: mxsfb: remove timestamp in wait for vsync ioctlFancy Fang
Remove the timestamp usage in the 'MXCFB_WAIT_FOR_VSYNC' ioctl handler, since the 64 bit timestamp would cause data overflow when writing it to user memory. Signed-off-by: Fancy Fang <chen.fang@freescale.com> (cherry picked from commit 4bfbf67a384f1292d217769b77858c08f38fe658) Conflicts: drivers/video/mxsfb.c
2018-08-24MLK-11602 arm: imx: set imx6qdl eim_slow clk to 135MhzGao Pan
weim nor read performance drop 32% compared with L3.10.53_1.1.0_GA because eim_slow clk rate drops. This patch set the eim_slow clk to 135Mhz to improve the performance. Signed-off-by: Fugang Duan <B38611@freescale.com> Signed-off-by: Gao Pan <b54642@freescale.com>
2018-08-24spi: check tx_buf and rx_buf in spi_unmap_msgRobin Gong
Some spi device drivers use the same tx_buf and rx_buf repeatly for better performance such as driver/input/touchsreen/ads7846.c, but spi core grab tx_buf /rx_buf of transfer and set them as dummy_tx/dummy_rx once they are NULL. Thus, in the second time the tx_buf/rx_buf will be replaced by dummy_tx/dummy_rx and the data which produced by the last tx or rx may be wrongly sent to the device or handled by the upper level protocol. This patch just keep the orignal value of tx_buf/rx_buf if they are NULL after this transfer processed. Signed-off-by: Robin Gong <b38343@freescale.com> Signed-off-by: Mark Brown <broonie@kernel.org> (cherry picked from commit bcd1c2dc8b54060ccb864130a83277d2dc1ff24e)
2018-08-24MLK-11239 ARM: dts: imx7d-sdb-touch: correct the format of u16 valuesHaibo Chen
In tsc2046 touch driver, the values such as ti,x-min is defined as a u16 value. the driver use API of_property_read_u16() read the value. For these u16 value, the dts entry should be like: property = /bits/ 16 <0x5000>; This describe the property as a u16 value. if the dts entry write like following: property = <0x5000>; of subsystem will read this property as a u32 value in default. Due to the DTB file is big-endian, and our memory system is little endian, this will make the driver can't read the correct value. This patch correct the format of u16 values, and set the default value defined in tsc2046 touch driver. Signed-off-by: Haibo Chen <haibo.chen@freescale.com> (cherry picked from commit a08be6b632438098eb7947ce8c0ce8af29575241)
2018-08-24MLK-10961-3 imx_v7_defconfig: enable tsc2046 touch screen controllerHaibo Chen
Enable tsc2046/ads7846 touch screen controller Signed-off-by: Haibo Chen <haibo.chen@freescale.com> (cherry picked from commit 2e805b48fd0f32b18653f5b5666c29f191d77753)
2018-08-24MLK-10961-1 arm: dts: imx7d-sdb-touch.dts: add support for touch screenHaibo Chen
Add an new dts file: imx7d-sdb-touch.dts.This file add tsc2046 touch screen controller support. Due to the pin PENIRQ of tsc2046 is conflict with the interrupt pin of HDMI, so in this patch, disable the HDMI. Signed-off-by: Haibo Chen <haibo.chen@freescale.com> (cherry picked from commit b690c1093a3a88a99da366200362fb4ae8172f9b) Conflicts: arch/arm/boot/dts/Makefile arch/arm/boot/dts/imx7d-sdb.dts
2018-08-24MGS-1133 porting vivante drm driver to 4.1 kernel.Yang Dong
Port imx_3.14.y vivante drm driver to 4.1 kernel. Date: Oct 13, 2015 Signed-off-by Yang Dong <b56112@freescale.com>
2018-08-24MLK-11703-9: ARM: dts: imx_v7_defconfig: add battery driverRobin Gong
add battery driver in imx_v7_defconfig Signed-off-by: Robin Gong <b38343@freescale.com>
2018-08-24MLK-11703-7: ARM: dts: imx6qdl-sabresd: add retain-state-suspended property ↵Robin Gong
in dts cherry-pick below patch: ENGR00295892-2: ARM: dts: imx6qdl-sabresd: add retain-state-suspended property in dts Add property "retain-state-suspended" in dts. Signed-off-by: Robin Gong <b38343@freescale.com> (cherry picked from commit aff480769c26ff7f64059f9631b10e8177c4791b) (cherry picked from commit 4a029915c4693b16db4806f078504cc86f34c069)
2018-08-24MLK-11703-6: ARM: imx6: Add charging led support on Sabresd boardRobin Gong
cherry-pick below patch: ENGR00290496-1 ARM: imx6: Add charging led support on Sabresd board Enable led lighting while the board in charging status. Implement it on Sabresd board. Signed-off-by: Robin Gong <b38343@freescale.com> (cherry picked from commit 7a47183634c524f5ac11c60fe555b0b18c0fe7e0) (cherry picked from commit 28b266aa0bdd531b8eb43a76435f2fcc658bab84)
2018-08-24MLK-11703-5: ARM: dts: imx6: add battery device node in dts fileRobin Gong
cherry-pick below patch: ENGR00330406-1: ARM: dts: imx6: add battery device node in dts file Add battery device node on imx6q/dl-sabresd and imx6sl-evk board Signed-off-by: Robin Gong <b38343@freescale.com> (cherry picked from commit 1f2670578decd4a527208864ab3a014d840773f6)
2018-08-24MLK-11703-4: sabresd_battery: fix usb charger detect when resume back on mx6slRobin Gong
cherry-pick below patch: ENGR00288351 sabresd_battery: fix usb charger detect when resume back on mx6sl Fix below redundant log after first resume back on mx6slevk: max8903-charger max8903.12: USB Charger Connected It's caused by not add enough prepare for uok&dok which are connected, such as i.MX6SL-EVK. In this case the board only support DC charger detect, so we didn't need judge the uok pin for USB charger detect, although uok share with dok pin. Signed-off-by: Robin Gong <b38343@freescale.com> (cherry picked from commit c5ba4940a72e8124db7ef91a67b337df4e45e3b0) (cherry picked from commit bcd7f8e5e19528abfc1c095049b55b3d409b27af)
2018-08-24MLK-11703-3: power: sabresd_battery: remove check charger offset on mx6slevkRobin Gong
cherry-pick below patch: ENGR00277663-3 power: sabresd_battery: remove check charger offset on mx6slevk No need check the charger offset on mx6slevk, since there is no adc converter Signed-off-by: Robin Gong <b38343@freescale.com> (cherry picked from commit 7683c62cf2290629f09983744d5a3987a4d64669) (cherry picked from commit 5f29715585ae82a435aa5ba0fe6393a53c10f87d)
2018-08-24MLK-11703-2: power: sabresd_battery: add sabresd_battery driverRobin Gong
cherry-pick below patch: ENGR00275004-4: power: sabresd_battery: add sabresd_battery driver Add sabresd battery driver which based on Max8903 charger IC. Signed-off-by: Robin Gong <b38343@freescale.com> (cherry picked from commit 19ac2dfcd1e0ea3f1ae231cfc230315eaa9a41be) (cherry picked from commit b9e81012c21d3318a633a4447797e4a52676c760)
2018-08-24MLK-11703-1: input: touchscreen: max11801_ts: Add DCM mode for max11801 ADCRobin Gong
cherry-pick below patch: ENGR00275004-1 input: touchscreen: max11801_ts: Add DCM mode for max11801 ADC We need add DCM mode/AUX mode for ADC converter function of max11801, so that it can be used to read voltage of battery. Meanwhile, let the driver based on device tree. The patchset is based on below patch (V3.5.7): commit 4001774cf51f0140ae7e4e8e0ec1d86475790682 Author: Rong Dian <b38775@freescale.com> Date: Fri Jan 18 14:24:28 2013 +0800 Engr00240284-1 MAX11801: Add DCM aux adc sample function 1.Add direct conversion mode operations 2.Add aux adc sample function Signed-off-by: Robin Gong <b38343@freescale.com> (cherry picked from commit 57b11d40431336c28f15a8a67af41907948c42b6) (cherry picked from commit 0cf609eb332e206fa6dac3df25ae906c7ab8bd4c)
2018-08-24MGS-1132 ARM: Kconfig: increase FORCE_MAX_ZONEORDER for ARCH_MXCXianzhong
Need increase the FORCE_MAX_ZONEORDER to 14 for high resolution camera (GPU 2D user case). The default value 11(4MB) is not enough now. Signed-off-by: Jason Liu <r64343@freescale.com> (cherry picked from commit fff642ffe868cb55f5caec0501e36fd28b6ece50)
2018-08-24MLK-11702-2 ARM: dts: imx6sx-sabreauto: add dts support for pxp v4l2 outputFancy Fang
Add dts support for pxp v4l2 output on imx6sx sabreauto board. Signed-off-by: Fancy Fang <chen.fang@freescale.com>
2018-08-24MLK-11702-1 ARM: dts: imx6sx-sabreauto: add dts support for pxpFancy Fang
Add dts support for pxp module on the imx6sx sabreauto board. Signed-off-by: Fancy Fang <chen.fang@freescale.com>
2018-08-24MLK-11701-2 ARM: dts: imx6sx-sdb: add dts support for pxp v4l2 outputFancy Fang
Add dts support for pxp v4l2 output on imx6sx sdb board. Signed-off-by: Fancy Fang <chen.fang@freescale.com>
2018-08-24MLK-11701-1 ARM: dts: imx6sx-sdb: add dts support for pxpFancy Fang
Add dts support for pxp module on the imx6sx sdb board. Signed-off-by: Fancy Fang <chen.fang@freescale.com>
2018-08-24MLK-11699-2 ARM: dts: imx6sx-sabreauto: add dts support for ldbFancy Fang
Add dts support for ldb module on the imx6sx sabreauto board. Signed-off-by: Fancy Fang <chen.fang@freescale.com>
2018-08-24MLK-11699-1 ARM: dts: imx6sx-sabreauto: add dts support for backlight and pwm4Fancy Fang
Add dts support for backlight and pwm4 modules on imx6sx sabreauto board. Signed-off-by: Fancy Fang <chen.fang@freescale.com>
2018-08-24MLK-10089 arm: imx: Add 198MHz OPP for i.MX6SXBai Ping
Update the i.MX6SX operating points to comply with the latest datasheet. Latest i.MX6SX datasheet of Rev.F, 1/2015 adds the 198MHz setpoint. For the RevB board, the VDD_ARM and ADD_SOC are connected together, so the voltage for 198MHz needs to be set to 1.175V. for the general setting, add a 25mV margin to cover the board IR drop. Signed-off-by: Bai Ping <b51503@freescale.com> (cherry picked from commit 62bd7207e6346f404589ed8305971c9815d2cf8b)
2018-08-24MLK-11281-1: input: keyboard: gpio_keys: add pinctl set in suspend and resumeRobin Gong
Add pinctrl restore to support LPSR. Signed-off-by: Robin Gong <b38343@freescale.com> (cherry picked from commit f7d40aa30ca2fe337ba9bb8f7eaca4393db900be)
2018-08-24MLK-11693-2: ARM: dts: imx7d-12x12-lpddr3-arm2: add gpio keysRobin Gong
add gpio keys. Signed-off-by: Robin Gong <b38343@freescale.com>
2018-08-24MLK-11693-1: ARM: dts: imx6qdl-sabreauto: add gpio keysRobin Gong
add gpio keys, please attach main board to test this function, since those gpio pins are located on main board. Signed-off-by: Robin Gong <b38343@freescale.com>
2018-08-24MLK-11692 ARM: dts: imx6sl-evk: add lcdif dts supportFancy Fang
Add lcdif dts support on imx6sl evk board. Signed-off-by: Fancy Fang <chen.fang@freescale.com>
2018-08-24MLK-11691 ARM: dts: imx6sl-evk: add pxp v4l2 output supportFancy Fang
Add pxp v4l2 output support for imx6sl evk board. Signed-off-by: Fancy Fang <chen.fang@freescale.com>
2018-08-24MLK-11690: dts: Add hdcp dtb file for imx6q/dl sabreSD boardSandor Yu
Add hdcp dtb file for imx6q/dl sabresd board. Signed-off-by: Sandor Yu <R01008@freescale.com>
2018-08-24MLK-11684: mipi dsi: Porting mxc mipi dsi driver from 3.14.ySandor Yu
Initial the mxc mipi dsi driver. Baseline copied from imx_3.14.y branch. Signed-off-by: Sandor Yu <R01008@freescale.com>
2018-08-24MLK-11606-02: dts: Enable mxc dcic driveSandor Yu
Add dcic driver property to imx6q/dl sabresd/auto and imx6sx sdb board. Signed-off-by: Sandor Yu <R01008@freescale.com>
2018-08-24MLK-11606-01: dcic: Porting dcic driver from 3.14.ySandor Yu
Initial the mxc dcic driver. Baseline copied from imx_3.14.y branch. Signed-off-by: Sandor Yu <R01008@freescale.com>
2018-08-24MLK-10008 ARM: imx6qdl: Enable pcie on imx6qdl sabreautoRichard Zhu
- enable pcie on imx6qdl sabreauto boards. Signed-off-by: Richard Zhu <richard.zhu@freescale.com> (cherry picked from commit 21c4323d54ec3a25bb73deb98d23ddd1bb3c6c03)
2018-08-24MLK-11685-7 mmc: core: add delay for SD3.0 UHS mode switchDong Aisheng
We may meet the following errors with a SD3.0 DDR50 cards during reboot test. mmc0: new ultra high speed DDR50 SDHC card at address aaaa mmcblk0: mmc0:aaaa SU08G 7.40 GiB mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xb00 mmcblk0: retrying using single block read mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0x0 end_request: I/O error, dev mmcblk0, sector 0 ..... Buffer I/O error on device mmcblk0, logical block 0 mmcblk0: unable to read partition table The root cause is still unknown. Since there's an errata of Sandisk eMMC card before that it requires delay for CMD6 for eMMC DDR mode to work stable, we also suspect the SD3.0 DDR requires similar delay. (Still not confirmed by Sandisk) By adding the delay, the overnight reboot test(run 2000+ times) did not show the issue anymore. Originally it can easy show the error after about 20 times of reboot test. So this patch would be the temporary workaround for Sandisk SD3.0 DDR50 mode unstable issue. Signed-off-by: Dong Aisheng <b29396@freescale.com> (cherry picked from commit ef3bce5feb2ed36c9f4483287454d35ae330dbe3) (cherry picked from commit c0cbde8a248036fae1768f232385290c23eddbd7) (cherry picked from commit 138bab9f78ea2285b6e7c7cd6c8cd956def44003) (cherry picked from commit 12d7e80e7505027feed3eb1ee6d037b1e6df249b) Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
2018-08-24MLK-11685-6 mmc: sdhci-esdhc-imx: do not enable wakeup by defaultDong Aisheng
After adding mega fast support, the default enabled usdhc wakeup will block M/F to gate off power domain. To avoid this issue, we only claim wakeup capability and reply on user to enable it via sysfs according to real needs. The drawback of such change is that for SDIO WiFi Wakeup On Wireless feature, User has to enable both uSDHC and WiFi WoW wakeup mannually to make WoW work well. BTW, due to the wakeup feature is controller itself, so we do not need to reply on WiFi PM flags to enable it. Signed-off-by: Dong Aisheng <b29396@freescale.com> (cherry picked from commit 58f91ff6f6719fef44f5122ae1d8a5df7e0061d5) Signed-off-by: Haibo Chen <haibo.chen@freescale.com> Conflicts: drivers/mmc/host/sdhci-esdhc-imx.c
2018-08-24MLK-11685-5 mmc: sdhci-esdhc-imx: no need busfreq for imx6qdlDong Aisheng
The usdhc of i.MX6Q/DL can work well under low power mode without request high bus freq. So we do not need request bus freq for i.MX6Q/DL. It can save power for i.MX6D/DL due to it saves a lot busfreq switch cost as well as the CPU time runing on high bus freq after switch during low power mode. A new flag ESDHC_FLAG_BUSFREQ is added to indicated this requirement. Currently only i.MX6SL is using it. Signed-off-by: Dong Aisheng <b29396@freescale.com> (cherry picked from commit 3b954ce55b56dfce195d65b84913ff3c0fcb9f82) Signed-off-by: Haibo Chen <haibo.chen@freescale.com> Conflicts: drivers/mmc/host/sdhci-esdhc-imx.c
2018-08-24MLK-11685-4 mmc: sdhci: do not enable card cd wakeup for gpio caseDong Aisheng
Do not need to enable the controller card cd interrupt wakeup if using GPIO as card detect since it's meaningless. Signed-off-by: Dong Aisheng <b29396@freescale.com> (cherry picked from commit e66bb4978fe4b4fb96e81a1a083c16f84f5aa710) Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
2018-08-24MLK-11685-3 mmc: sdhci: do not enable card detect interrupt for gpio cd typeDong Aisheng
Except SDHCI_QUIRK_BROKEN_CARD_DETECTION and MMC_CAP_NONREMOVABLE, we also do not need to handle controller native card detect interrupt for gpio as card detect case. If we wrong enabled the card detect interrupt for gpio case, it will cause a lot of unexpected card detect interrupts during data transfer which should not happen. Signed-off-by: Dong Aisheng <b29396@freescale.com> (cherry picked from commit 2bf47f78bee173798e6d6f360b12defd945c936c) Signed-off-by: Haibo Chen <haibo.chen@freescale.com> Conflicts: drivers/mmc/host/sdhci.c
2018-08-24MLK-11685-2 sdhci-esdhc-imx: use bus freq in runtime pmDong Aisheng
Request BUS_FREQ_HIGH when bus is busy and then release BUS_FREQ_HIGH when bus becomes idle. Signed-off-by: Dong Aisheng <b29396@freescale.com> (cherry picked from commit 64994f7115573c9ede53b51536b2c15f7cf0112a) Signed-off-by: Haibo Chen <haibo.chen@freescale.com> Conflicts: drivers/mmc/host/sdhci-esdhc-imx.c
2018-08-24MLK-11685-1 mmc: add delay after CMD6 befoer sending CMD13 for sandiskRyan QIAN
- Some sandisk emmc cards need certain delay befor sending cmd13 after cmd6. Original CR: ENGR174296 (commit: fd031f9) Acked-by: Aisheng Dong <b29396@freescale.com> Signed-off-by: Ryan QIAN <b32804@freescale.com> (cherry picked from commit f942bf1db36355d46f38792601594949f3f2c71b) Signed-off-by: Haibo Chen <haibo.chen@freescale.com> Conflicts: drivers/mmc/core/mmc_ops.c
2018-08-24MLK-11676 ARM: imx_v7_defconfig: disable CONFIG_SWP_EMULATEShengjiu Wang
According to the help text in the config SWP_EMULATE in arch/arm/mm/Kconfig: "In some older versions of glibc [<=2.8] SWP is used during futex trylock() operations with the assumption that the code will not be preempted. This invalid assumption may be more likely to fail with SWP emulation enabled, leading to deadlock of the user application." The audio codec toolchain version is gcc-4.1.1-glibc-2.4, we need turn off the CONFIG_SWP_EMULATE in the imx_v7_defconfig. Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
2018-08-24MLK-10629-6 dts: imx7d-sdb: do not enable wlreg_on alwaysDong Aisheng
Broadcom WiFi requires reset by operating wlreg_on regulator when doing insmod/rmmod. Keep wlreg_on will cause card state wrong and unable to re-insmod. Signed-off-by: Dong Aisheng <b29396@freescale.com> (cherry picked from commit d65683e1d0717fa039ebd4c55562e6ee745354b7) Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
2018-08-24MLK-10629-5 dts: imx7d-sdb: remove non-removable property of wifi hostDong Aisheng
The card detect of Broadcom WiFi on uSDHC2 port can not function well with a non-removalbe card. Because MMC core only enumerate one time for non-removable card which is not work for Broadcom WiFI. So remove it. Signed-off-by: Dong Aisheng <b29396@freescale.com> (cherry picked from commit ed4c1c749c755839775ff4ad2078e659fec18650) Signed-off-by: Haibo Chen <haibo.chen@freescale.com> Conflicts: arch/arm/boot/dts/imx7d-sdb.dts
2018-08-24MLK-10629-3 dts: imx7d-sdb: add wifi-host property for usdhc2Dong Aisheng
There's a Broadcom WiFi on usdhc2. Add this property due to Broadcom WiFi driver needs call wifi_card_detect function. Signed-off-by: Dong Aisheng <b29396@freescale.com> (cherry picked from commit 72015985537b5bd14ac7b0c97860ab26309ad1a1) Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
2018-08-24MLK-10629-2 mmc: sdhci-esdhc-imx: implement wifi_card_detect functionDong Aisheng
WiFi driver could call wifi_card_detect function to re-detect card, this is required by some special WiFi cards like broadcom WiFi. To use this function, a new property is introduced to indicate a wifi host. Signed-off-by: Dong Aisheng <b29396@freescale.com> (cherry picked from commit 74e71dd0aebb9e931f02aefa3dd1990cbe642ae4) Signed-off-by: Haibo Chen <haibo.chen@freescale.com> Conflicts: Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.txt
2018-08-24MLK-10629-1 dts: imx7d-sdb: add the integrated Broadcom WiFi chip supportDong Aisheng
Add Broadcom WiFi chip BCM4339 on board support. Need adds a bcmdhd_wlan@0 node for WiFi driver to probe properly. Signed-off-by: Dong Aisheng <b29396@freescale.com> (cherry picked from commit 24b44a415df9a27036b843284a179448dcc5fe20) Signed-off-by: Haibo Chen <haibo.chen@freescale.com> Conflicts: arch/arm/boot/dts/imx7d-sdb.dts
2018-08-24MLK-11316-4 video: mxc ipuv3 fb: Change on-the-fly switch mechanism for PRE ↵Liu Ying
workaround In order to workaround the PRE SoC bug recorded by errata ERR009624, the software cannot write the PRE_CTRL register when the PRE writes the PRE_CTRL register automatically to set the ENABLE bit(bit0) to 1 in the PRE repeat mode. Instead of setting the PRE_CTRL register any time we want to do on-the-fly switch(PRE keeps working before and after the switch), we change to set the register in the on-the-fly configuration interrupt(EOF) handler. This way, we may avoid encountering the problematic PRE automatic writing cycle for sure. Signed-off-by: Liu Ying <Ying.Liu@freescale.com> (cherry picked from commit 6218cbcf34f5fb7910a824a8d31cc58819d0bd00)
2018-08-24MLK-11316-3 video: mxc ipuv3 fb: Change pan display mechanism for PRE workaroundLiu Ying
In order to workaround the PRE SoC bug recorded by errata ERR009624, the software cannot write the PRE_CTRL register when the PRE writes the PRE_CTRL register automatically to set the ENABLE bit(bit0) to 1 in the PRE repeat mode. The software mechanism to set the PRE_CTRL register is different for PRE Y resolution higher than 9 lines and lower than or equal to 9 lines. For cases in which Y resolution is higher than 9 lines, before we update PRE shadow, we just need to wait until the PRE store engine status runs out of the problematic PRE automatic writing window. While for cases in which Y resolutin is lower than or equal to 9 lines, we have to update PRE shadow in the buffer flip interrupt handler. Signed-off-by: Liu Ying <Ying.Liu@freescale.com> (cherry picked from commit bd9c14e24aaf67926dfd31bd819ab0c87129fe4b)
2018-08-24MLK-11316-2 mxc IPUv3: PRE: Define small Y resolutionLiu Ying
In order to workaround the PRE SoC bug recorded by errata ERR009624, the software cannot write the PRE_CTRL register when the PRE writes the PRE_CTRL register automatically to set the ENABLE bit(bit0) to 1 in the PRE repeat mode. The software mechanism to set the PRE_CTRL register is different for PRE Y resolution higher than 9 lines and lower than or equal to 9 lines. So, this patch defines the small Y resolution and adds a helper to check the Y resolution. Signed-off-by: Liu Ying <Ying.Liu@freescale.com> (cherry picked from commit cf7df46e3b1d2142ff354498982194247bf07fea)