]> git.kernelconcepts.de Git - karo-tx-uboot.git/log
karo-tx-uboot.git
9 years agomain: Hide the hush/simple details inside cli.c
Simon Glass [Fri, 11 Apr 2014 02:01:34 +0000 (20:01 -0600)]
main: Hide the hush/simple details inside cli.c

Move these details from main (which doesn't care which parser is used) to
cli.c where they belong.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoSimplify the main loop
Simon Glass [Fri, 11 Apr 2014 02:01:33 +0000 (20:01 -0600)]
Simplify the main loop

The main loop is easier to follow if the code is grouped into separate
functions. Make this change, so that main_loop() is easier to read.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agom68k: powerpc: Clean up do_mdm_init
Simon Glass [Fri, 11 Apr 2014 02:01:32 +0000 (20:01 -0600)]
m68k: powerpc: Clean up do_mdm_init

This code seems unnecessarily complex. We really just need to check the
global_data. Now that is it all in one place, and not arch-specific, this
is pretty easy.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoRename bootretry functions and remove #ifdefs
Simon Glass [Fri, 11 Apr 2014 02:01:31 +0000 (20:01 -0600)]
Rename bootretry functions and remove #ifdefs

Add a bootretry_ prefix to these two functions, and remove the need for
the #ifdef around everything (it moves to the Makefile).

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoMove bootretry code into bootretry.c and clean up
Simon Glass [Fri, 11 Apr 2014 02:01:30 +0000 (20:01 -0600)]
Move bootretry code into bootretry.c and clean up

This code is only used by one board, so it seems a shame to clutter up
the readline code with it. Move it into its own file.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoMove command line API into cli.c
Simon Glass [Fri, 11 Apr 2014 02:01:29 +0000 (20:01 -0600)]
Move command line API into cli.c

We now have a single entry point to the CLI, whether simple or hush. Put
this in its own file.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoMove autoboot code to autoboot.c
Simon Glass [Fri, 11 Apr 2014 02:01:28 +0000 (20:01 -0600)]
Move autoboot code to autoboot.c

The autoboot code is complex and long. It deserves its own file with
a simple interface from main.c.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoAdd cli_ prefix to readline functions
Simon Glass [Fri, 11 Apr 2014 02:01:27 +0000 (20:01 -0600)]
Add cli_ prefix to readline functions

This makes it clear where the code resides.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoSplit out simple parser and readline into separate files
Simon Glass [Fri, 11 Apr 2014 02:01:26 +0000 (20:01 -0600)]
Split out simple parser and readline into separate files

It doesn't make sense to have the simple parser and the readline code
all in main. Split them out into separate files.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agomove CLI prototypes to cli.h and add comments
Simon Glass [Fri, 11 Apr 2014 02:01:25 +0000 (20:01 -0600)]
move CLI prototypes to cli.h and add comments

Move the CLI prototypes from common.h to cli.h as part of an effort to
reduce the size of common.h.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoRename hush to cli_hush
Simon Glass [Fri, 11 Apr 2014 02:01:24 +0000 (20:01 -0600)]
Rename hush to cli_hush

Hush is a command-line interpreter, so rename it to make that clearer.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoRemove unnecessary use of hush header file
Simon Glass [Fri, 11 Apr 2014 02:01:23 +0000 (20:01 -0600)]
Remove unnecessary use of hush header file

Some files include hush.h but don't actually use it. Remove this where
possible.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoMerge branch 'master' of git://git.denx.de/u-boot-arc
Tom Rini [Tue, 27 May 2014 15:44:19 +0000 (11:44 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-arc

9 years agotb100 - add Abilis TB100 board
Alexey Brodkin [Wed, 21 May 2014 10:39:32 +0000 (14:39 +0400)]
tb100 - add Abilis TB100 board

Development board for headless gateway platform from Abilis Systems.
Initial commit with working UART and DW GMAC.

For now with generic Ethernet PHY due to problems in Realtek PHY driver.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Christian Ruppert <christian.ruppert@abilis.com>
Cc: Pierrick Hascoet <pierrick.hascoet@abilis.com>
9 years agoPrepare v2014.07-rc2 v2014.07-rc2
Tom Rini [Tue, 27 May 2014 14:22:07 +0000 (10:22 -0400)]
Prepare v2014.07-rc2

Signed-off-by: Tom Rini <trini@ti.com>
9 years agodm: rename device struct to udevice
Heiko Schocher [Thu, 22 May 2014 10:43:05 +0000 (12:43 +0200)]
dm: rename device struct to udevice

using UBI and DM together leads in compiler error, as
both define a "struct device", so rename "struct device"
in include/dm/device.h to "struct udevice", as we use
linux code (MTD/UBI/UBIFS some USB code,...) and cannot
change the linux "struct device"

Signed-off-by: Heiko Schocher <hs@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Cc: Marek Vasut <marex@denx.de>
9 years agoMerge branch 'master' of git://git.denx.de/u-boot-arm
Tom Rini [Sat, 24 May 2014 10:34:08 +0000 (06:34 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-arm

9 years agoMerge branch 'u-boot-ti/master' into 'u-boot-arm/master'
Albert ARIBAUD [Sat, 24 May 2014 07:50:00 +0000 (09:50 +0200)]
Merge branch 'u-boot-ti/master' into 'u-boot-arm/master'

9 years agocompulab: eeprom: enable any i2c driver
Ilya Ledvich [Wed, 16 Apr 2014 10:48:26 +0000 (13:48 +0300)]
compulab: eeprom: enable any i2c driver

Make the common eeprom library available for any I2C driver.

Signed-off-by: Ilya Ledvich <ilya@compulab.co.il>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
9 years agocm-t54: add environment partition runtime detection
Dmitry Lifshitz [Sun, 27 Apr 2014 10:18:48 +0000 (13:18 +0300)]
cm-t54: add environment partition runtime detection

Add environment partition runtime detection callback.

Signed-off-by: Dmitry Lifshitz <lifshitz@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
9 years agocm-t54: add EEPROM support and MAC address handling
Dmitry Lifshitz [Sun, 27 Apr 2014 10:18:46 +0000 (13:18 +0300)]
cm-t54: add EEPROM support and MAC address handling

cm-t54 Eth MAC address is stored in onboard EEPROM.
Add EEPROM support and setup stored Eth MAC address.

If EEPROM does not contain a valid MAC, then generate it from the
processor ID code (reference code is taken from OMAP5 uEvm board file).

Modify Device Tree blob MAC address field with retrieved data.

Signed-off-by: Dmitry Lifshitz <lifshitz@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
9 years agocm-t54: add cm-t54 board support
Dmitry Lifshitz [Mon, 19 May 2014 09:50:54 +0000 (12:50 +0300)]
cm-t54: add cm-t54 board support

Add cm-t54 board directory, config file. Enable build.

Basic support includes:

Serial console
SD/MMC
eMMC
USB
Ethernet

Signed-off-by: Dmitry Lifshitz <lifshitz@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
9 years agoam33xx: report silicon revision instead of code
Sergey Alyoshin [Thu, 22 May 2014 07:56:03 +0000 (11:56 +0400)]
am33xx: report silicon revision instead of code

As revision code 1 is for silicon revision 2.0, it is easily confused with
silicon revision 1.0.

Device type report also reworked in same style.

Signed-off-by: Sergey Alyoshin <alyoshin.s@gmail.com>
9 years agoARM: OMAP: Fix omap_sdram_size calculation
Lokesh Vutla [Mon, 12 May 2014 08:19:33 +0000 (13:49 +0530)]
ARM: OMAP: Fix omap_sdram_size calculation

Last section of DMM is used for trapping tiler unmapped sections.
Corresponding trap_size should be deducted from total SDRAM size
only if trap section is overlapping with available SDRAM
based on DMM sections. Fixing the same.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
9 years agoarm, am33xx: Enable CONFIG_SYS_GENERIC_BOARD for siemens boards
Heiko Schocher [Wed, 14 May 2014 10:40:27 +0000 (12:40 +0200)]
arm, am33xx: Enable CONFIG_SYS_GENERIC_BOARD for siemens boards

Signed-off-by: Heiko Schocher <hs@denx.de>
Cc: Tom Rini <trini@ti.com>
Cc: Samuel Egli <samuel.egli@siemens.com>
Cc: Roger Meier <r.meier@siemens.com>
Tested-by: Samuel Egli <samuel.egli@siemens.com>
9 years agoomap4: duovero: Add Gumstix DuoVero machine.
Ash Charles [Wed, 14 May 2014 15:34:34 +0000 (08:34 -0700)]
omap4: duovero: Add Gumstix DuoVero machine.

This adds the Gumstix DuoVero machine [1].  This is a OMAP4430-based
computer-on-module (COM aka SOM) that can be mounted on various
expansion boards with different peripherals.

[1] https://store.gumstix.com/index.php/category/43/

Signed-off-by: Ash Charles <ash@gumstix.com>
[trini: Rename gpmc_enable_gpmc_cs_config to gpmc_enable_gpmc_net_config]
Signed-off-by: Tom Rini <trini@ti.com>
9 years agoarmv7:TI: Add <asm/ti-common/sys_proto.h> and migrate omap_hw_init_context
Tom Rini [Fri, 16 May 2014 17:02:24 +0000 (13:02 -0400)]
armv7:TI: Add <asm/ti-common/sys_proto.h> and migrate omap_hw_init_context

The omap_hw_init_context function (and assorted helpers) is the same for
all OMAP-derived parts as when CHSETTINGS are used, that's the same and
our DDR base is also always the same.  In order to make this common we
simply need to update the names of the define for DDR address space
which is also common.

Cc: Sricharan R. <r.sricharan@ti.com>
Cc: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Tom Rini <trini@ti.com>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
9 years agocompulab: eeprom: add default eeprom address
Igor Grinberg [Thu, 15 May 2014 08:25:09 +0000 (11:25 +0300)]
compulab: eeprom: add default eeprom address

Add default eeprom address setting.

Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
9 years agoARM: DRA7xx: ctrl: Fix efuse register addresses
Lokesh Vutla [Thu, 15 May 2014 05:38:42 +0000 (11:08 +0530)]
ARM: DRA7xx: ctrl: Fix efuse register addresses

Efuse register addresses are wrongly programmed.
Fixing the same.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Acked-by: Tom Rini <trini@ti.com>
9 years agoARM: DRA72x: Update EMIF data
Lokesh Vutla [Thu, 15 May 2014 05:38:41 +0000 (11:08 +0530)]
ARM: DRA72x: Update EMIF data

DRA72 has 1GB connected to EMIF1 only. Updating the details.
And also enable WA for BUG0039 only if corresponding EMIF is present.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Acked-by: Tom Rini <trini@ti.com>
9 years agoARM: DRA72x: clocks: Update the hwdata
Lokesh Vutla [Thu, 15 May 2014 05:38:40 +0000 (11:08 +0530)]
ARM: DRA72x: clocks: Update the hwdata

Adding the prcm, dplls, control module hooks for DRA72x.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Acked-by: Tom Rini <trini@ti.com>
9 years agoARM: DRA72x: volt: Update the pmic offsets
Keerthy [Thu, 15 May 2014 05:38:39 +0000 (11:08 +0530)]
ARM: DRA72x: volt: Update the pmic offsets

TPS65917 is used in DRA722 evm. Update the address offsets accordingly.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
Acked-by: Tom Rini <trini@ti.com>
9 years agoARM: DRA72x: Add Silicon ID support
Lokesh Vutla [Thu, 15 May 2014 05:38:38 +0000 (11:08 +0530)]
ARM: DRA72x: Add Silicon ID support

Add silicon ID code for DRA722 silicon.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Acked-by: Tom Rini <trini@ti.com>
9 years agoARM: omap: merge GPMC initialization code for all platform
pekon gupta [Thu, 8 May 2014 16:13:47 +0000 (21:43 +0530)]
ARM: omap: merge GPMC initialization code for all platform

GPMC controller on TI's OMAP SoC is general purpose controller to interface
with different types of external devices like;
 - parallel NOR flash
 - parallel NAND flash
 - OneNand flash
 - SDR RAM
 - Ethernet Devices like LAN9220

Though GPMC configurations may be different for each platform depending on
clock-frequency and external device interfacing with controller. But
initialization sequence remains common across all platfoms.

Thus this patch merges gpmc_init() scattered in different arch-xx/mem.c
files into single omap-common/mem-common.c

However, actual platforms specific register config values are still sourced
from corresponding platform specific headers like;
 AM33xx: arch/arm/include/asm/arch-am33xx/mem.h
 OMAP3:  arch/arm/include/asm/arch-omap3/mem.h
 OMAP4:  arch/arm/include/asm/arch-omap4/mem.h
 OMAP4:  arch/arm/include/asm/arch-omap5/mem.h

Also, CONFIG_xx passed by board-profile decide config for which set of macros
need to be used for initialization
 CONFIG_NAND:    initialize GPMC for NAND device
 CONFIG_NOR:     initialize GPMC for NOR device
 CONFIG_ONENAND: initialize GPMC for ONENAND device

Signed-off-by: Pekon Gupta <pekon@ti.com>
[trini: define GPMC_SIZE_256M for omap3]
Signed-off-by: Tom Rini <trini@ti.com>
9 years agoexamples: select libgcc for non-default architecture
Alexey Brodkin [Fri, 16 May 2014 08:54:17 +0000 (12:54 +0400)]
examples: select libgcc for non-default architecture

In case of multilib-enabled toolchains if default architecture differ from
the one examples are being built for linker will fail to link example object
files with libgcc of another (non-compatible) architecture.

Interesting enough for years in main Makefile we used CFLAGS/c_flags for this
but not for examples.

So fixing it now.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Tom Rini <trini@ti.com>
Cc: Wolfgang Denx <wd@denx.de>
Acked-by: WOlfgang Denk <wd@denx.de>
Acked-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
9 years agodoc:git-mailrc: Add entry for dfu subsystem
Łukasz Majewski [Thu, 22 May 2014 13:26:55 +0000 (15:26 +0200)]
doc:git-mailrc: Add entry for dfu subsystem

Entry for dfu subsystem have been added to doc/git-mailrc file

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agoAdd myself as maintainer for chromebook-x86
Simon Glass [Thu, 15 May 2014 20:42:11 +0000 (14:42 -0600)]
Add myself as maintainer for chromebook-x86

This is currently the only x86 board.

Signed-off-by: Simon Glass <sjg@chromium.org>
9 years agoMerge branch 'u-boot-sh/rmobile' into 'u-boot-arm/master'
Albert ARIBAUD [Fri, 23 May 2014 20:50:43 +0000 (22:50 +0200)]
Merge branch 'u-boot-sh/rmobile' into 'u-boot-arm/master'

9 years agoMerge branch 'u-boot-microblaze/zynq' into 'u-boot-arm/master'
Albert ARIBAUD [Fri, 23 May 2014 20:50:23 +0000 (22:50 +0200)]
Merge branch 'u-boot-microblaze/zynq' into 'u-boot-arm/master'

9 years agoARM: omap5: add platform specific info for GPMC and ELM controllers
pekon gupta [Thu, 8 May 2014 16:13:46 +0000 (21:43 +0530)]
ARM: omap5: add platform specific info for GPMC and ELM controllers

This patch moves platform specific information for GPMC and ELM controller
into separate header files, so that any derivative devices do not mess other
header files.

Platform specific information added into arch-xx/../hardware.h
 - CPU related platform specific details like base-address of GPMC and ELM

Platform specific information added into arch-xx/../mem.h
 - Generic configs for GPMC and ELM initialization.
 - Hardware parameters or constrains specific to GPMC and ELM IP like;
   number of max number of chip-selects available

Signed-off-by: Pekon Gupta <pekon@ti.com>
9 years agoARM: omap4: add platform specific info for GPMC and ELM controllers
pekon gupta [Thu, 8 May 2014 16:13:45 +0000 (21:43 +0530)]
ARM: omap4: add platform specific info for GPMC and ELM controllers

This patch moves platform specific information for GPMC and ELM controller
into separate header files, so that any derivative devices do not mess other
header files.

Platform specific information added into arch-xx/../hardware.h
 - CPU related platform specific details like base-address of GPMC and ELM

Platform specific information added into arch-xx/../mem.h
 - Generic configs for GPMC and ELM initialization.
 - Hardware parameters or constrains specific to GPMC and ELM IP like;
   number of max number of chip-selects available

Signed-off-by: Pekon Gupta <pekon@ti.com>
9 years agoomap3: overo: Use common configurations for Overo
Ash Charles [Wed, 21 May 2014 21:04:55 +0000 (14:04 -0700)]
omap3: overo: Use common configurations for Overo

Clean-up the board configuration file for the Gumstix Overo board by
including common omap3 definitions from ti_omap3_common.h as suggested
here [1].

[1] http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/185960

Signed-off-by: Ash Charles <ashcharles@gmail.com>
Conflicts:
include/configs/omap3_overo.h

9 years agoAllow overo to boot with device tree
Ash Charles [Wed, 21 May 2014 21:04:54 +0000 (14:04 -0700)]
Allow overo to boot with device tree

Update the board configuration for Gumstix Overo. In particular,
add support for zImage and DTB files on boot.

Signed-off-by: Ash Charles <ashcharles@gmail.com>
9 years agoOMAP3: overo: add some Gumstix expansion boards
Ash Charles [Wed, 21 May 2014 21:04:53 +0000 (14:04 -0700)]
OMAP3: overo: add some Gumstix expansion boards

Add EEPROM ID switches for Alto35, Arbor43C, Stagecoach, Thumbo, and
Turtlecore Gumstix Overo expansion boards.

Signed-off-by: Ash Charles <ash@gumstix.com>
9 years agoAdd Board Revision for Wireless chip
Ash Charles [Wed, 21 May 2014 21:04:52 +0000 (14:04 -0700)]
Add Board Revision for Wireless chip

Gumstix Overo COMs with board revision 0x4 use a different Wifi and
Bluetooth module: Wi2Wi's W2CBW0015.  No other code changes are required
in u-boot---just handling of this particular board revision.

Signed-off-by: Ash Charles <ashcharles@gmail.com>
9 years agoarm: omap3: Fix omap3_overo SPL boot hangup
Ash Charles [Wed, 21 May 2014 21:04:51 +0000 (14:04 -0700)]
arm: omap3: Fix omap3_overo SPL boot hangup

Patch f33b9bd3
[arm: omap3: Enable clocks for peripherals only if they are used]
breaks SPL booting on Overo. Since some gpio inputs are
read to detect the board revision. But with this patch above, the
clocks to the GPIO subsystems are not enabled per default any more.
The GPIO banks need to be configured specifically now.

Signed-off-by: Ash Charles <ashcharles@gmail.com>
9 years agoOMAP3: overo: eliminate hard-coded partition offsets
Ash Charles [Wed, 21 May 2014 21:04:50 +0000 (14:04 -0700)]
OMAP3: overo: eliminate hard-coded partition offsets

The linux kernel is at nand0,3 using the current layout, but is best
accessed through the partition label "linux".  Since CONFIG_CMD_MTDPARTS is
defined the CONFIG_JFFS2 settings are unreferenced; use "setenv partition
rootfs" to set the default mtd partition for jffs2.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Tested-by: Ash Charles <ash@gumstix.com>
9 years agoOMAP3: overo: increase linux partition to 8 MiB
Peter A. Bigot [Wed, 21 May 2014 21:04:49 +0000 (14:04 -0700)]
OMAP3: overo: increase linux partition to 8 MiB

Linux kernel at version 3.5 is about 3.5 MiB; test kernels for 3.10 exceed 4
MiB.  Prepare for future upgrades by increasing the NAND partition now.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Tested-by: Ash Charles <ash@gumstix.com>
9 years agoOMAP3: overo: add command support for mtd and ubi
Ash Charles [Wed, 21 May 2014 21:04:48 +0000 (14:04 -0700)]
OMAP3: overo: add command support for mtd and ubi

The NAND linux partition format default was changed from jffs2 to ubi in
254973e6df0e48f1a72b67905185c774dcd9f394 but the corresponding commands were
not enabled.

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Tested-by: Ash Charles <ash@gumstix.com>
9 years agoomap: overo: allow the use of a plain text env file instead boot scripts
Ash Charles [Wed, 21 May 2014 21:04:47 +0000 (14:04 -0700)]
omap: overo: allow the use of a plain text env file instead boot scripts

Adapted from d70f5480 described below.

    commit d70f54808dfa83b574e1239c3eccbcf3317343e1
    Author: Javier Martinez Canillas <javier@dowhile0.org>
    Date:   Mon Jan 7 03:51:20 2013 +0000

    omap4: allow the use of a plain text env file instead boot scripts

    For production systems it is better to use script images since
    they are protected by checksums and carry valuable information like
    name and timestamp. Also, you can't validate the content passed to
    env import.

    But for development, it is easier to use the env import command and
    plain text files instead of script-images.

    Since both OMAP4 supported boards (Panda and TI SDP4430) are used
    primarily for development, this patch allows U-Boot to load env var
    from a text file in case that an boot.scr script-image is not present.

    The variable uenvcmd (if existent) will be executed (using run) after
    uEnv.txt was loaded. If uenvcmd doesn't exist the default boot sequence
    will be started.

Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Acked-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Tested-by: Ash Charles <ash@gumstix.com>
9 years agoesdhc/usdhc: Fix warning when CONFIG_SYS_FSL_ESDHC_USE_PIO is not set
Tom Rini [Fri, 23 May 2014 13:19:05 +0000 (09:19 -0400)]
esdhc/usdhc: Fix warning when CONFIG_SYS_FSL_ESDHC_USE_PIO is not set

In 7168977 we made calls to check_and_invalidate_dcache_range()
conditional on !CONFIG_SYS_FSL_ESDHC_USE_PIO.  Only define this function
in this case as well.

Signed-off-by: Tom Rini <trini@ti.com>
9 years agoMerge branch 'master' of git://git.denx.de/u-boot-mmc
Tom Rini [Fri, 23 May 2014 12:13:59 +0000 (08:13 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-mmc

9 years agocmd_mmc: use new mmc_select_hwpart() function
Stephen Warren [Wed, 7 May 2014 18:19:03 +0000 (12:19 -0600)]
cmd_mmc: use new mmc_select_hwpart() function

The implementation of mmc_select_hwpart() was cribbed from do_mmcops().
Update do_mmcops() to call mmc_select_hwpart() to avoid duplication.

<panto> Manual patch update due to patch order.

Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
9 years agommc: provide a select_hwpart implementation for get_device()
Stephen Warren [Wed, 7 May 2014 18:19:02 +0000 (12:19 -0600)]
mmc: provide a select_hwpart implementation for get_device()

This enables specifying which eMMC HW partition to target for any U-Boot
command that uses the generic get_partition() function to parse its
command-line arguments.

Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
9 years agodisk: support devices with HW partitions
Stephen Warren [Wed, 7 May 2014 18:19:01 +0000 (12:19 -0600)]
disk: support devices with HW partitions

Some device types (e.g. eMMC) have hardware-level partitions (for eMMC,
separate boot and user data partitions). This change allows the user to
specify the HW partition they wish to access when passing a device ID to
U-Boot Commands such as part, ls, load, ums, etc.

The syntax allows an optional ".$hwpartid" to be appended to the device
name string for those commands.

Existing syntax, for MMC device 0, default HW partition ID, SW partition
ID 1:

ls mmc 0:1 /

New syntax, for MMC device 0, HW partition ID 1 (boot0), SW partition
ID 2:

ls mmc 0.1:2 /

For my purposes, this is most useful for the ums (USB mass storage
gadget) command, but there's no reason not to allow the new syntax
globally.

This patch adds the core support infra-structure. The next patch will
provide the implementation for MMC.

Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
9 years agocmd_part: fix typo in part command help text
Stephen Warren [Wed, 7 May 2014 18:19:00 +0000 (12:19 -0600)]
cmd_part: fix typo in part command help text

All the sub-commands start with the main command name, but it was
missing from one of the help texts.

<panto> typos fix.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Tom Rini <trini@ti.com>
Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
9 years agoeMMC: cmd_mmc.c adds the 'rpmb' sub-command for the 'mmc' command
Pierre Aubert [Thu, 24 Apr 2014 08:30:08 +0000 (10:30 +0200)]
eMMC: cmd_mmc.c adds the 'rpmb' sub-command for the 'mmc' command

This sub-command adds support for the RPMB partition of an eMMC:
* mmc rpmb key <address of the authentication key>
  Programs the authentication key in the eMMC This key can not
  be overwritten.
* mmc rpmb read <address> <block> <#count> [address of key]
  Reads <#count> blocks of 256 bytes in the RPMB partition
  beginning at block number <block>. If the optionnal
  address of the authentication key is provided, the
  Message Authentication Code (MAC) is verified on each
  block.
* mmc rpmb write <address> <block> <#count> <address of key>
  Writes <#count> blocks of 256 bytes in the RPMB partition
  beginning at block number <block>. The datas are signed
  with the key provided.
* mmc rpmb counter
  Returns the 'Write counter' of the RPMB partition.

The sub-command is conditional on compilation flag CONFIG_SUPPORT_EMMC_RPMB

Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Signed-off-by: Pierre Aubert <p.aubert@staubli.com>
CC: Wolfgang Denk <wd@denx.de>
9 years agoAdd the function 'confirm_yesno' for interactive
Pierre Aubert [Thu, 24 Apr 2014 08:30:07 +0000 (10:30 +0200)]
Add the function 'confirm_yesno' for interactive

User's confirmation is asked in different commands. This commit adds a
function for such confirmation.

Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Signed-off-by: Pierre Aubert <p.aubert@staubli.com>
9 years agoeMMC: add support for operations in RPMB partition
Pierre Aubert [Thu, 24 Apr 2014 08:30:06 +0000 (10:30 +0200)]
eMMC: add support for operations in RPMB partition

This patch adds functions for read, write and authentication
key programming for the Replay Protected Memory Block partition
in the eMMC.

Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Signed-off-by: Pierre Aubert <p.aubert@staubli.com>
9 years agommc: Handle switch error status bit in MMC card status
Andrew Gabbasov [Thu, 3 Apr 2014 09:34:32 +0000 (04:34 -0500)]
mmc: Handle switch error status bit in MMC card status

MMC switch command for unsupported feature (e.g. bus width) sets a switch
error bit in card status. This bit should be checked, and, if it's set,
no access with new controller settings should be performed.

Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Signed-off-by: Andrew Gabbasov <andrew_gabbasov@mentor.com>
9 years agommc: postponed needless timer initialization
Mateusz Zalega [Tue, 29 Apr 2014 18:15:30 +0000 (20:15 +0200)]
mmc: postponed needless timer initialization

mmc_init() doesn't call get_timer() anymore if MMC is already
initialized.

<panto> Minor formatting fix.

Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Signed-off-by: Mateusz Zalega <m.zalega@samsung.com>
9 years agoAdd board_mmc_init(...) function for init mmc1 only
Hannes Petermaier [Tue, 8 Apr 2014 06:39:20 +0000 (08:39 +0200)]
Add board_mmc_init(...) function for init mmc1 only

Since B&R boards uses only MMC-Controller #1, it only
wastes time if we initialize #0 first to see that there is nothing.

Cc: <trini@ti.com>
Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
9 years agoMerge branch 'fpga' of git://www.denx.de/git/u-boot-microblaze
Tom Rini [Thu, 22 May 2014 18:38:19 +0000 (14:38 -0400)]
Merge branch 'fpga' of git://www.denx.de/git/u-boot-microblaze

9 years agoMerge branch 'master' of git://git.denx.de/u-boot-arm
Tom Rini [Thu, 22 May 2014 18:29:41 +0000 (14:29 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-arm

9 years agoMerge branch 'pr-15052014' of git://git.denx.de/u-boot-usb
Tom Rini [Thu, 22 May 2014 17:42:26 +0000 (13:42 -0400)]
Merge branch 'pr-15052014' of git://git.denx.de/u-boot-usb

9 years agoMerge branch 'master' of git://git.denx.de/u-boot-usb
Tom Rini [Thu, 22 May 2014 16:56:15 +0000 (12:56 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-usb

9 years agoesdhc/usdhc: Fix PIO mode bug in fsl_esdhc driver
Ye.Li [Thu, 20 Feb 2014 10:00:57 +0000 (18:00 +0800)]
esdhc/usdhc: Fix PIO mode bug in fsl_esdhc driver

When configure the fsl_esdhc driver to PIO mode by defining
"CONFIG_SYS_FSL_ESDHC_USE_PIO", the SD/MMC read and write will fail.

Two bugs in the driver to cause the issue:
1. The read buffer was invalidated after reading from DATAPORT register,
which should be only applied to DMA mode. The valid data in cache was
overwritten by physical memory.
2. The watermarks are not set in PIO mode, will cause according state not
be set.

Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Signed-off-by: Ye.Li <B37916@freescale.com>
9 years agoarm: rmobile: lager: Enable CONFIG_SYS_GENERIC_BOARD
Nobuhiro Iwamatsu [Mon, 19 May 2014 07:10:51 +0000 (16:10 +0900)]
arm: rmobile: lager: Enable CONFIG_SYS_GENERIC_BOARD

Add CONFIG_SYS_GENERIC_BOARD to use common/board_*.c for lager.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
9 years agoarm: rmobile: koelsch: Enable CONFIG_SYS_GENERIC_BOARD
Nobuhiro Iwamatsu [Mon, 19 May 2014 07:10:12 +0000 (16:10 +0900)]
arm: rmobile: koelsch: Enable CONFIG_SYS_GENERIC_BOARD

Add CONFIG_SYS_GENERIC_BOARD to use common/board_*.c for koelsch.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
9 years agoarm: rmobile: armadillo800eva: Enable CONFIG_SYS_GENERIC_BOARD
Nobuhiro Iwamatsu [Mon, 19 May 2014 07:09:47 +0000 (16:09 +0900)]
arm: rmobile: armadillo800eva: Enable CONFIG_SYS_GENERIC_BOARD

Add CONFIG_SYS_GENERIC_BOARD to use common/board_*.c for armadillo800eva.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
9 years agoarm: rmobile: koelsch: Fix QoS revision 0.240 and 0.320
Nobuhiro Iwamatsu [Mon, 19 May 2014 03:23:35 +0000 (12:23 +0900)]
arm: rmobile: koelsch: Fix QoS revision 0.240 and 0.320

Add register define of DBSC3 operation adjustment register,
and add initial value.

Signed-off-by: Hisashi Nakamura <hisashi.nakamura.ak@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
9 years agoarm: rmobile: r8a7791: Fix MOD_SEL3 function table about FN_SEL_IEB
Nobuhiro Iwamatsu [Mon, 19 May 2014 03:10:05 +0000 (12:10 +0900)]
arm: rmobile: r8a7791: Fix MOD_SEL3 function table about FN_SEL_IEB

FN_SEL_IEB is assigned 2bit, and 2bit can represent 4 patterns.
However FN_SEL_IEB but we only use 3. It adds empty patterns as 0.

Signed-off-by: Hisashi Nakamura <hisashi.nakamura.ak@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
9 years agoarm: rmobile: koelsch: Add support ext4/fat write command
Nobuhiro Iwamatsu [Mon, 31 Mar 2014 06:22:31 +0000 (15:22 +0900)]
arm: rmobile: koelsch: Add support ext4/fat write command

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
9 years agoarm: rmobile: lager: Add support ext4/fat write command
Nobuhiro Iwamatsu [Mon, 31 Mar 2014 06:22:31 +0000 (15:22 +0900)]
arm: rmobile: lager: Add support ext4/fat write command

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
9 years agoarm: rmobile: lager: Add support command and filesystems of VFAT
Nobuhiro Iwamatsu [Fri, 28 Mar 2014 08:07:03 +0000 (17:07 +0900)]
arm: rmobile: lager: Add support command and filesystems of VFAT

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
9 years agoarm: rmobile: lager: Add support USB controller
Nobuhiro Iwamatsu [Thu, 27 Mar 2014 05:14:58 +0000 (14:14 +0900)]
arm: rmobile: lager: Add support USB controller

Lager board has USB ports. This add support of USB controller of rmobile.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
9 years agoarm: rmobile: koelsch: Add support command and filesystems of VFAT
Nobuhiro Iwamatsu [Fri, 28 Mar 2014 08:29:45 +0000 (17:29 +0900)]
arm: rmobile: koelsch: Add support command and filesystems of VFAT

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
9 years agoarm: rmobile: koelsch: Add support USB controller
Nobuhiro Iwamatsu [Thu, 27 Mar 2014 05:13:06 +0000 (14:13 +0900)]
arm: rmobile: koelsch: Add support USB controller

Koelsch board has USB ports. This add support of USB controller of rmobile.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
9 years agogpio: r8a7790-gpio: Fix typo in macro
Nobuhiro Iwamatsu [Mon, 7 Apr 2014 01:58:40 +0000 (10:58 +0900)]
gpio: r8a7790-gpio: Fix typo in macro

Fix typo from __ASM_R8A7790_H__ to __ASM_R8A7790_GPIO_H__.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
9 years agogpio: r8a7791-gpio: Fix typo in macro
Nobuhiro Iwamatsu [Mon, 7 Apr 2014 01:58:35 +0000 (10:58 +0900)]
gpio: r8a7791-gpio: Fix typo in macro

Fix typo from __ASM_R8A7791_H__ to __ASM_R8A7791_GPIO_H__.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
9 years agoarm: rmobile: lager: Enable optimization of thumb
Nobuhiro Iwamatsu [Mon, 7 Apr 2014 08:11:52 +0000 (17:11 +0900)]
arm: rmobile: lager: Enable optimization of thumb

This adds CONFIG_SYS_THUMB_BUILD to config, in order to enable optimization
of thumb.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
9 years agoarm: rmobile: lager: Remove CONFIG_USE_ARCH_MEMSET and MEMCPY
Nobuhiro Iwamatsu [Mon, 7 Apr 2014 07:59:53 +0000 (16:59 +0900)]
arm: rmobile: lager: Remove CONFIG_USE_ARCH_MEMSET and MEMCPY

Because do not need these feature to lager board, this delete it.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
9 years agoarm: rmobile: lager: Remove define of SCIF register
Nobuhiro Iwamatsu [Mon, 7 Apr 2014 02:22:21 +0000 (11:22 +0900)]
arm: rmobile: lager: Remove define of SCIF register

The define of SCIF register was already defined in rcar-base.h.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
9 years agoarm: rmobile: koelsch: Enable optimization of thumb
Nobuhiro Iwamatsu [Mon, 7 Apr 2014 08:11:52 +0000 (17:11 +0900)]
arm: rmobile: koelsch: Enable optimization of thumb

This adds CONFIG_SYS_THUMB_BUILD to config, in order to enable optimization
of thumb.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
9 years agoarm: rmobile: koelsch: Remove CONFIG_USE_ARCH_MEMSET and MEMCPY
Nobuhiro Iwamatsu [Mon, 7 Apr 2014 07:59:53 +0000 (16:59 +0900)]
arm: rmobile: koelsch: Remove CONFIG_USE_ARCH_MEMSET and MEMCPY

Because do not need these feature to koelsch board, this delete it.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
9 years agoarm: rmobile: koelsch: Remove define of SCIF register
Nobuhiro Iwamatsu [Mon, 7 Apr 2014 02:22:23 +0000 (11:22 +0900)]
arm: rmobile: koelsch: Remove define of SCIF register

The define of SCIF register was already defined in rcar-base.h.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
9 years agoarm: rmobile: Add define of SCIF register for R8A7790 and R8A7791
Nobuhiro Iwamatsu [Mon, 7 Apr 2014 02:19:03 +0000 (11:19 +0900)]
arm: rmobile: Add define of SCIF register for R8A7790 and R8A7791

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
9 years agofpga: Added support to load bit stream from SD/MMC
Siva Durga Prasad Paladugu [Fri, 14 Mar 2014 11:05:37 +0000 (16:35 +0530)]
fpga: Added support to load bit stream from SD/MMC

Added support to load a bitstream image in chunks by reading it in
chunks from SD/MMC.
Command format:
loadfs [dev] [address] [image size] [blocksize] <interface>
       [<dev[:part]>] <filename>
Example: fpga loadfs 0 1000000 3dbafc 4000 mmc 0 fpga.bin

Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
9 years agozynq: Enable fpga loadp and loadbp commands
Michal Simek [Fri, 2 May 2014 12:50:50 +0000 (14:50 +0200)]
zynq: Enable fpga loadp and loadbp commands

Use new fpga commands for loading partial bitstreams.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
9 years agofpga: zynqpl: Clean partial bitstream handling
Michal Simek [Fri, 2 May 2014 12:15:27 +0000 (14:15 +0200)]
fpga: zynqpl: Clean partial bitstream handling

Do not do partial bitstream detection based on bitstream
size and use bitstream_type argument which is passed
from the fpga core.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
9 years agofpga: Add support to load partial bitstreams
Michal Simek [Fri, 2 May 2014 11:43:39 +0000 (13:43 +0200)]
fpga: Add support to load partial bitstreams

Added support to load partial bitstreams.
The partial bitstreams can be loaded using the below commands
Commands:
fpga loadp <dev> <addr> <size>
fpga loadbp <dev> <addr> <size>
The full bit streams can be loaded using the
old commands(fpga load and fpga loadb).

Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
9 years agofpga: Define bitstream type based on command selection
Michal Simek [Fri, 2 May 2014 12:09:30 +0000 (14:09 +0200)]
fpga: Define bitstream type based on command selection

Clean up partial, full and compressed bitstream handling.
U-Boot supports full bitstream loading and partial
based on detection which is not 100% correct.
Extending fpga_load/fpga_loadbitstream() with one more
argument which stores bitstream type.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
9 years agofpga: Guard the LOADMK functionality with CMD_FPGA_LOADMK
Siva Durga Prasad Paladugu [Fri, 14 Mar 2014 11:05:38 +0000 (16:35 +0530)]
fpga: Guard the LOADMK functionality with CMD_FPGA_LOADMK

Guard the LOADMK functionality with config to provide
an option to enable or disable it.
Enable it for all platforms in mainline which enable CONFIG_CMD_FPGA.

Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
9 years agoconfigs: iocom: Fix typo on CMD_FPGA command
Michal Simek [Fri, 2 May 2014 11:34:21 +0000 (13:34 +0200)]
configs: iocom: Fix typo on CMD_FPGA command

Fix typo in CMD_FPGA command enabling.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
9 years agoMerge remote-tracking branch 'u-boot/master'
Albert ARIBAUD [Tue, 20 May 2014 08:05:42 +0000 (10:05 +0200)]
Merge remote-tracking branch 'u-boot/master'

Conflicts:
boards.cfg

Conflicts were trivial once u-boot-arm/master boards.cfg was
reformatted (commit 6130c146) to match u-boot/master's own
reformatting (commit 1b37fa83).

9 years agoboards.cfg: reformat
Albert ARIBAUD [Tue, 20 May 2014 07:31:40 +0000 (09:31 +0200)]
boards.cfg: reformat

Apply command "tools/reformat.py -i -d '-' -s 8 <boards.cfg
>boards0.cfg && mv boards0.cfg boards.cfg" in preparation of
pull request from ARM to main tree.

9 years agoMerge branch 'master' of git://git.denx.de/u-boot-mpc85xx
Tom Rini [Fri, 16 May 2014 22:30:33 +0000 (18:30 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx

9 years agopowerpc/srio-pcie-boot: Adjust addresses for SRIO/PCIE boot
Liu Gang [Thu, 15 May 2014 06:30:34 +0000 (14:30 +0800)]
powerpc/srio-pcie-boot: Adjust addresses for SRIO/PCIE boot

The new 768KB u-boot image size requires changes for
SRIO/PCIE boot. These addresses need to be updated to
appropriate locations.

The updated addresses are used to configure the SRIO/PCIE
inbound windows for the boot, and they must be aligned
with the window size based on the SRIO/PCIE modules requirement.
So for the 768KB u-boot image, the inbound window cannot be set
with 0xfff40000 base address and 0xc0000 size, it should be
extended to 1MB size and the base address can be aligned with
the size.

Signed-off-by: Liu Gang <Gang.Liu@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agompc85xx: configs: remove c=ffe from default environment
Kim Phillips [Thu, 15 May 2014 00:33:45 +0000 (19:33 -0500)]
mpc85xx: configs: remove c=ffe from default environment

AFAICT, c=ffe does nothing and was a typo from the original commit
d17123696c6180ac8b74fbd318bf14652623e982 "powerpc/p4080: Add support
for the P4080DS board" and just kept on getting duplicated
in subsequently added board config files.

Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Acked-by: Edward Swarthout <ed.swarthout@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
9 years agoboard/p1_p2_rdb:Enable p1_p2_rdb boot from NAND/SD/SPI in SPL
Prabhakar Kushwaha [Thu, 15 May 2014 11:13:12 +0000 (16:43 +0530)]
board/p1_p2_rdb:Enable p1_p2_rdb boot from NAND/SD/SPI in SPL

In the earlier patches, the SPL/TPL fraamework was introduced.
For SD/SPI flash booting way, we introduce the SPL to enable a loader stub. The
SPL was loaded by the code from the internal on-chip ROM. The SPL initializes
the DDR according to the SPD and loads the final uboot image into DDR, then
jump to the DDR to begin execution.

For NAND booting way, the nand SPL has size limitation on some board(e.g.
P1010RDB), it can not be more than 4KB, we can call it "minimal SPL", So the
dynamic DDR driver doesn't fit into this minimum SPL. We added the TPL that is
loaded by the the minimal SPL. The TPL initializes the DDR according to the SPD
and loads the final uboot image into DDR,then jump to the DDR to begin execution.

This patch enabled SPL/TPL for P1_P2_RDB to support starting from NAND/SD/SPI
flash with SPL framework and initializing the DDR according to SPD in the SPL/TPL.
Because the minimal SPL load the TPL to L2 SRAM and the jump to the L2 SRAM to
execute, so the section .resetvec is no longer needed.

Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>