platform/kernel/u-boot.git
15 years agoNAND: Fix misplaced return statement in nand_{read,write}_skip_bad().
Scott Wood [Tue, 25 Nov 2008 16:47:02 +0000 (10:47 -0600)]
NAND: Fix misplaced return statement in nand_{read,write}_skip_bad().

This caused the operation to be needlessly repeated if there were
no bad blocks and no errors.

Signed-off-by: Valeriy Glushkov <gvv@lstec.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
15 years agoMerge branch 'master' of git://git.denx.de/u-boot-arm
Wolfgang Denk [Tue, 25 Nov 2008 11:04:41 +0000 (12:04 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-arm

15 years agoMerge branch 'master' of git://git.denx.de/u-boot-ppc4xx
Wolfgang Denk [Tue, 25 Nov 2008 10:47:41 +0000 (11:47 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-ppc4xx

15 years agoMerge branch 'master' of git://git.denx.de/u-boot-mpc83xx
Wolfgang Denk [Tue, 25 Nov 2008 10:45:34 +0000 (11:45 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc83xx

15 years agoMerge branch 'master' of git://git.denx.de/u-boot-ubi
Wolfgang Denk [Tue, 25 Nov 2008 10:40:57 +0000 (11:40 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-ubi

15 years agoMerge branch 'master' of git://git.denx.de/u-boot-cfi-flash
Wolfgang Denk [Tue, 25 Nov 2008 10:32:10 +0000 (11:32 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-cfi-flash

15 years agoppc4xx: ml300 remove Xilinx BSP from ml300 folder
Michal Simek [Mon, 24 Nov 2008 11:09:50 +0000 (12:09 +0100)]
ppc4xx: ml300 remove Xilinx BSP from ml300 folder

This BSP should be outside u-boot source tree.
The second reason is that xilinx ppc405 was moved to generic platform.

Signed-off-by: Michal Simek <monstr@monstr.eu>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoppc4xx: Remove unused features
Matthias Fuchs [Mon, 24 Nov 2008 14:11:10 +0000 (15:11 +0100)]
ppc4xx: Remove unused features

This patch disables some unused features from the PCI405 configuration
to keep U-Boot image size below 192k.

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoppc4xx: Use correct io accessors for PCI405
Matthias Fuchs [Mon, 24 Nov 2008 14:11:09 +0000 (15:11 +0100)]
ppc4xx: Use correct io accessors for PCI405

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoppc4xx: Remove unused code from PCI405 code
Matthias Fuchs [Mon, 24 Nov 2008 14:11:08 +0000 (15:11 +0100)]
ppc4xx: Remove unused code from PCI405 code

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoAT91RM9200DK: fix broken boot from NOR flash
Wolfgang Denk [Mon, 24 Nov 2008 20:50:59 +0000 (21:50 +0100)]
AT91RM9200DK: fix broken boot from NOR flash

Signed-off-by: Wolfgang Denk <wd@denx.de>
15 years agoat91rm9200: fix broken boot from nor flash
Jens Scharsig [Tue, 18 Nov 2008 09:48:46 +0000 (10:48 +0100)]
at91rm9200: fix broken boot from nor flash

This patch fix the broken boot from NOR Flash on AT91RM9200 boards, if
CONFIG_AT91RM9200 is defined and nor preloader is used.

Signed-off-by: Jens Scharsig <esw@bus-elektronik.de>
15 years agoUBI: Add proof-of-concept CFI flash support
Piotr Ziecik [Mon, 17 Nov 2008 14:58:00 +0000 (15:58 +0100)]
UBI: Add proof-of-concept CFI flash support

With this patch UBI can be used on CFI flash chips.

Signed-off-by: Piotr Ziecik <kosmo@semihalf.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agomtd: Remove a printf() from add_mtd_device().
Piotr Ziecik [Mon, 17 Nov 2008 14:57:59 +0000 (15:57 +0100)]
mtd: Remove a printf() from add_mtd_device().

Remove a printf() from add_mtd_device(), which produces spurious output.

Signed-off-by: Piotr Ziecik <kosmo@semihalf.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agocfi-mtd: Add cfi-mtd driver.
Piotr Ziecik [Mon, 17 Nov 2008 14:57:58 +0000 (15:57 +0100)]
cfi-mtd: Add cfi-mtd driver.

Add cfi-mtd driver, which exports CFI flash to MTD layer.
This allows CFI flash devices to be used from MTD layer.

Building of the new driver is controlled by CONFIG_FLASH_CFI_MTD
option. Initialization is done by calling cfi_mtd_init() from
flash_init().

Signed-off-by: Piotr Ziecik <kosmo@semihalf.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agocfi_flash: Add interface for flash verbosity control
Piotr Ziecik [Mon, 17 Nov 2008 14:49:32 +0000 (15:49 +0100)]
cfi_flash: Add interface for flash verbosity control

Add interface for flash verbosity control. It allows
to disable output from low-level flash API. It is useful
when calling these low-level functions from context other
than flash commands (for example the MTD/CFI interface
implmentation).

Signed-off-by: Piotr Ziecik <kosmo@semihalf.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agocfi_flash: Export flash_sector_size() function.
Piotr Ziecik [Thu, 20 Nov 2008 14:17:38 +0000 (15:17 +0100)]
cfi_flash: Export flash_sector_size() function.

Export flash_sector_size() function from drivers/mtd/cfi_flash.c,
so that it can be used in the upcoming cfi-mtd driver.

Signed-off-by: Piotr Ziecik <kosmo@semihalf.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agocfi_flash: Make all flash access functions weak
Stefan Roese [Mon, 17 Nov 2008 13:45:22 +0000 (14:45 +0100)]
cfi_flash: Make all flash access functions weak

This patch defines all flash access functions as weak so that
they can be overridden by board specific versions.

This will be used by the upcoming VCTH board support where the NOR
FLASH unfortunately can't be accessed memory-mapped. Special
accessor functions are needed here.

To enable this weak functions you need to define
CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS in your board config header.
Otherwise the "old" default functions will be used resulting
in smaller code.

Signed-off-by: Stefan Roese <sr@denx.de>
Acked-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
15 years agoUBI: Change parsing of size in commands to default to hex
Stefan Roese [Mon, 24 Nov 2008 07:31:16 +0000 (08:31 +0100)]
UBI: Change parsing of size in commands to default to hex

Currently the size parameters of the UBI commands (e.g. "ubi write") are
decoded as decimal instead of hex as default. This patch now interprets
all these values consistantly as hex, as all other standard U-Boot commands
do.

Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoppc4xx: ML2 shouldn't include the 4xx EMAC driver
Stefan Roese [Fri, 21 Nov 2008 12:06:06 +0000 (13:06 +0100)]
ppc4xx: ML2 shouldn't include the 4xx EMAC driver

Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoppc4xx: katmai: Change default config
Yuri Tikhonov [Fri, 14 Nov 2008 13:19:19 +0000 (16:19 +0300)]
ppc4xx: katmai: Change default config

 This patch enables support for EXT2, and increases the
CONFIG_SYS_BOOTMAPSZ size for the default configuration
of the katmai boards to use them as the RAID-reference
AMCC setups.

 EXT2 enabling allows one to boot kernels from the EXT2
formatted Compact Flash cards.

 CONFIG_SYS_BOOTMAPSZ increasing allows one to boot the
Linux kernels, which use PAGE_SIZE of 256KB. Otherwise,
the memory area with DTB file (which is placed at the
end of the bootmap area) will turn out to be overlapped
with the BSS segment of the 256KB kernel, and zeroed
in early_init() of Linux.

 Actually, increasing of the bootmap size could be done
via setting of the bootm_size U-Boot variable, but it looks
like the current U-Boot implementation have some bootm_size-
related functionality lost. In many places through the U-Boot
code the CONFIG_SYS_BOOTMAPSZ definition is used directly
(instead of trying to read the corresponding value from the
environment). The same is truth for the boot_jump_linux()
function in lib_ppc/bootm.c, where U-Boot transfers control
to Linux passing the CONFIG_SYS_BOOTMAPSZ (not bootm_size)
value to the booting kernel.

Signed-off-by: Yuri Tikhonov <yur@emcraft.com>
Signed-off-by: Ilya Yanok <yanok@emcraft.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoppc4xx: Changed 460EX/GT OCM TLB and internal SRAM initialization
Dave Mitchell [Thu, 20 Nov 2008 20:09:50 +0000 (14:09 -0600)]
ppc4xx: Changed 460EX/GT OCM TLB and internal SRAM initialization

Expanded OCM TLB to allow access to 64K OCM as well as 256K of
internal SRAM.

Adjusted internal SRAM initialization to match updated user
manual recommendation.

OCM & ISRAM are now mapped as follows:
        physical        virtual         size
ISRAM   0x4_0000_0000   0xE300_0000     256k
OCM     0x4_0004_0000   0xE304_0000     64k

A single TLB was used for this mapping.

Signed-off-by: Dave Mitchell <dmitch71@gmail.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoppc4xx: Added ppc4xx-isram.h for internal SRAM and L2 cache DCRs
Dave Mitchell [Thu, 20 Nov 2008 20:00:49 +0000 (14:00 -0600)]
ppc4xx: Added ppc4xx-isram.h for internal SRAM and L2 cache DCRs

Added include/asm-ppc/ppc4xx-isram.h and moved internal SRAM and
L2 cache DCRs from ppc440.h to this new header.

Also converted these DCR defines from lowercase to uppercase and
modified referencing modules to use them.

Signed-off-by: Dave Mitchell <dmitch71@gmail.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoppc4xx: Delete unused definitions for SDR0_DDRCFG from ppc4xx.h
Steven A. Falco [Thu, 20 Nov 2008 19:37:57 +0000 (14:37 -0500)]
ppc4xx: Delete unused definitions for SDR0_DDRCFG from ppc4xx.h

The definitions of bits in SDR_CFG are incorrect, and not used within
U-Boot.  Therefore, they can be removed.

The naming of the sdr_ddrdl/sdr_cfg registers do not follow conventions,
and are unused, so they can be removed too.

A definition for SDR0_DDRCFG is added.

Signed-off-by: Steven A. Falco <sfalco@harris.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoARM: OMAP: Convert IO macros
Dirk Behme [Mon, 10 Nov 2008 19:15:25 +0000 (20:15 +0100)]
ARM: OMAP: Convert IO macros

Convert IO macros to readx/writex.

Signed-off-by: Dirk Behme <dirk.behme@gmail.com>
15 years agolib_arm: do_bootm_linux() - correct a small mistake
Ilko Iliev [Sun, 9 Nov 2008 14:53:14 +0000 (15:53 +0100)]
lib_arm: do_bootm_linux() - correct a small mistake

This patch corrects a small bug in the "if" condition:
the parameter "flag" is 0 and the "if" condition is always true.
The result is - the boom command doesn't start the kernel.
Affected targets: all arm based.

Signed-off-by: Ilko Iliev <iliev@ronetix.at>
15 years agoAT91: Enable PLLB for USB
Stelian Pop [Sat, 8 Nov 2008 23:14:46 +0000 (00:14 +0100)]
AT91: Enable PLLB for USB

At least some (old ?) versions of the AT91Bootstrap do not set up the
PLLB correctly to 48 MHz in order to make USB host function correctly.

This patch sets up the PLLB to the same values Linux uses, and makes USB
work ok on the following CPUs:
- AT91CAP9
- AT91SAM9260
- AT91SAM9263

This patch also defines CONFIG_USB_STORAGE and CONFIG_CMD_FAT for all
the relevant AT91CAP9/AT91SAM9 atmel boards.

Signed-off-by: Stelian Pop <stelian@popies.net>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
15 years agoAT91: Use AT91_CPU_CLOCK in displays
Stelian Pop [Fri, 7 Nov 2008 12:55:14 +0000 (13:55 +0100)]
AT91: Use AT91_CPU_CLOCK in displays

Introduce AT91_CPU_CLOCK and use it for displaying the CPU
speed in the LCD driver.

Also make AT91_MAIN_CLOCK and AT91_MASTER_CLOCK reflect the
corresponding board clocks.

Signed-off-by: Stelian Pop <stelian@popies.net>
15 years agoppc4xx: Clear all potentially pending exceptions in MCSR
Stefan Roese [Thu, 20 Nov 2008 10:46:20 +0000 (11:46 +0100)]
ppc4xx: Clear all potentially pending exceptions in MCSR

This is needed on Canyonlands which still has an exception pending
while running relocate_code(). This leads to a failure after trap_init()
is moved to the top of board_init_r().

Signed-off-by: Stefan Roese <sr@denx.de>
15 years agopowerpc: 83xx: add missing TIMING_CFG1_CASLAT_* defines
Heiko Schocher [Wed, 19 Nov 2008 09:10:30 +0000 (10:10 +0100)]
powerpc: 83xx: add missing TIMING_CFG1_CASLAT_* defines

Signed-off-by: Heiko Schocher <hs@denx.de>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
15 years agompc83xx: Improve the performance of DDR memory
Howard Gregory [Tue, 4 Nov 2008 06:55:33 +0000 (14:55 +0800)]
mpc83xx: Improve the performance of DDR memory

modify the CAS timings. my understanding is that these
settings decrease various wait times in the DDR interface.
Because these wait times are in clock cycles, and the DDR
clock on the 8315 RDB runs slower than on some other 83xx
platforms, we can dial down these values without a problem,
thereby decreasing the latency of memory a little.

Signed-off-by: Howard Gregory <Greg.Howard@freescale.com>
Signed-off-by: Dave Liu <daveliu@freescale.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
15 years agoARM: Add Apollon UBI support
Kyungmin Park [Fri, 24 Oct 2008 12:55:33 +0000 (14:55 +0200)]
ARM: Add Apollon UBI support

To enable UBI on Apollon you need to uncomment the CONFIG_SYS_USE_UBI
macro.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoUBI: Add UBI command support
Kyungmin Park [Wed, 19 Nov 2008 10:47:05 +0000 (11:47 +0100)]
UBI: Add UBI command support

This patch adds these UBI commands:

ubi part [nand|onenand] [part] - Show or set current partition
ubi info [l[ayout]] -Display volume and UBI layout information
ubi create[vol] volume [size] [type] - Create volume name with size
ubi write[vol] address volume size - Write volume from address with size
ubi read[vol] address volume [size] - Read volume to address with size
ubi remove[vol] volume - Remove volume

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoUBI: Add basic UBI support to U-Boot (Part 8/8)
Kyungmin Park [Wed, 19 Nov 2008 15:38:24 +0000 (16:38 +0100)]
UBI: Add basic UBI support to U-Boot (Part 8/8)

This patch adds basic UBI (Unsorted Block Image) support to U-Boot.
It's based on the Linux UBI version and basically has a "OS"
translation wrapper that defines most Linux specific calls
(spin_lock() etc.) into no-ops. Some source code parts have been
uncommented by "#ifdef UBI_LINUX". This makes it easier to compare
this version with the Linux version and simplifies future UBI
ports/bug-fixes from the Linux version.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoUBI: Add basic UBI support to U-Boot (Part 7/8)
Kyungmin Park [Wed, 19 Nov 2008 15:36:36 +0000 (16:36 +0100)]
UBI: Add basic UBI support to U-Boot (Part 7/8)

This patch adds basic UBI (Unsorted Block Image) support to U-Boot.
It's based on the Linux UBI version and basically has a "OS"
translation wrapper that defines most Linux specific calls
(spin_lock() etc.) into no-ops. Some source code parts have been
uncommented by "#ifdef UBI_LINUX". This makes it easier to compare
this version with the Linux version and simplifies future UBI
ports/bug-fixes from the Linux version.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoUBI: Add basic UBI support to U-Boot (Part 6/8)
Kyungmin Park [Wed, 19 Nov 2008 15:32:36 +0000 (16:32 +0100)]
UBI: Add basic UBI support to U-Boot (Part 6/8)

This patch adds basic UBI (Unsorted Block Image) support to U-Boot.
It's based on the Linux UBI version and basically has a "OS"
translation wrapper that defines most Linux specific calls
(spin_lock() etc.) into no-ops. Some source code parts have been
uncommented by "#ifdef UBI_LINUX". This makes it easier to compare
this version with the Linux version and simplifies future UBI
ports/bug-fixes from the Linux version.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoUBI: Add basic UBI support to U-Boot (Part 5/8)
Kyungmin Park [Wed, 19 Nov 2008 15:28:06 +0000 (16:28 +0100)]
UBI: Add basic UBI support to U-Boot (Part 5/8)

This patch adds basic UBI (Unsorted Block Image) support to U-Boot.
It's based on the Linux UBI version and basically has a "OS"
translation wrapper that defines most Linux specific calls
(spin_lock() etc.) into no-ops. Some source code parts have been
uncommented by "#ifdef UBI_LINUX". This makes it easier to compare
this version with the Linux version and simplifies future UBI
ports/bug-fixes from the Linux version.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoUBI: Add basic UBI support to U-Boot (Part 4/8)
Kyungmin Park [Wed, 19 Nov 2008 15:27:23 +0000 (16:27 +0100)]
UBI: Add basic UBI support to U-Boot (Part 4/8)

This patch adds basic UBI (Unsorted Block Image) support to U-Boot.
It's based on the Linux UBI version and basically has a "OS"
translation wrapper that defines most Linux specific calls
(spin_lock() etc.) into no-ops. Some source code parts have been
uncommented by "#ifdef UBI_LINUX". This makes it easier to compare
this version with the Linux version and simplifies future UBI
ports/bug-fixes from the Linux version.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoUBI: Add basic UBI support to U-Boot (Part 3/8)
Kyungmin Park [Wed, 19 Nov 2008 15:26:54 +0000 (16:26 +0100)]
UBI: Add basic UBI support to U-Boot (Part 3/8)

This patch adds basic UBI (Unsorted Block Image) support to U-Boot.
It's based on the Linux UBI version and basically has a "OS"
translation wrapper that defines most Linux specific calls
(spin_lock() etc.) into no-ops. Some source code parts have been
uncommented by "#ifdef UBI_LINUX". This makes it easier to compare
this version with the Linux version and simplifies future UBI
ports/bug-fixes from the Linux version.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoUBI: Add basic UBI support to U-Boot (Part 2/8)
Kyungmin Park [Wed, 19 Nov 2008 15:25:44 +0000 (16:25 +0100)]
UBI: Add basic UBI support to U-Boot (Part 2/8)

This patch adds basic UBI (Unsorted Block Image) support to U-Boot.
It's based on the Linux UBI version and basically has a "OS"
translation wrapper that defines most Linux specific calls
(spin_lock() etc.) into no-ops. Some source code parts have been
uncommented by "#ifdef UBI_LINUX". This makes it easier to compare
this version with the Linux version and simplifies future UBI
ports/bug-fixes from the Linux version.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoUBI: Add basic UBI support to U-Boot (Part 1/8)
Kyungmin Park [Wed, 19 Nov 2008 15:23:06 +0000 (16:23 +0100)]
UBI: Add basic UBI support to U-Boot (Part 1/8)

This patch adds basic UBI (Unsorted Block Image) support to U-Boot.
It's based on the Linux UBI version and basically has a "OS"
translation wrapper that defines most Linux specific calls
(spin_lock() etc.) into no-ops. Some source code parts have been
uncommented by "#ifdef UBI_LINUX". This makes it easier to compare
this version with the Linux version and simplifies future UBI
ports/bug-fixes from the Linux version.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoMTD: Add MTD paritioning infrastructure
Kyungmin Park [Wed, 19 Nov 2008 15:20:36 +0000 (16:20 +0100)]
MTD: Add MTD paritioning infrastructure

This MTD part infrastructure will be used by the upcoming
UBI support.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Stefan Roese <sr@denx.de>
15 years agoAlign end of bss by 4 bytes
Selvamuthukumar [Thu, 16 Oct 2008 17:24:03 +0000 (22:54 +0530)]
Align end of bss by 4 bytes

Most of the bss initialization loop increments 4 bytes
at a time. And the loop end is checked for an 'equal'
condition. Make the bss end address aligned by 4, so
that the loop will end as expected.

Signed-off-by: Selvamuthukumar <selva.muthukumar@e-coninfotech.com>
Signed-off-by: Wolfgang Denk <wd@denx.de>
15 years agoMerge branch 'master' of git://git.denx.de/u-boot-mpc86xx
Wolfgang Denk [Tue, 18 Nov 2008 20:40:38 +0000 (21:40 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc86xx

16 years agompc8641: fix address-cells default in old .dts detection
Becky Bruce [Tue, 11 Nov 2008 01:45:35 +0000 (19:45 -0600)]
mpc8641: fix address-cells default in old .dts detection

address-cells defaults to 2, not 1; so in the unlikely
event that it isn't specified, this patch is required
for correct operation.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agolib_ppc: Move trap_init to occur earlier
Becky Bruce [Fri, 31 Oct 2008 22:14:39 +0000 (17:14 -0500)]
lib_ppc: Move trap_init to occur earlier

Doing trap_init immediately once we're running from RAM
means we're no longer dependent on the physical location of
the flash on non-BookE platforms. Before trap_init, those
platforms switch to real mode and go to 0xfff00100 on exception.
After the switch, they go to 0x00000100  This makes it easier to
move the flash location.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agompc8641: Try to detect old .dts files
Becky Bruce [Fri, 7 Nov 2008 19:46:19 +0000 (13:46 -0600)]
mpc8641: Try to detect old .dts files

Since we've changed the memory map of the board, be nice and
add some checking to try to catch out-of-date .dts files.  We do
this by checking the CCSRBAR location in the .dts and comparing
it to the CCSRBAR location in u-boot.  If they don't match, a
warning msg is printed.  This isn't foolproof, but it's simple and
will catch most of the cases where an out-of-date .dts is present,
including all of the cases where a new u-boot is used with an old
standard MPC8641 .dts file as supplied with Linux.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agotoplevel Makefile: Add MPC8641HPCN_36BIT target
Becky Bruce [Thu, 6 Nov 2008 19:04:09 +0000 (13:04 -0600)]
toplevel Makefile: Add MPC8641HPCN_36BIT target

This will enable CONFIG_PHYS_36BIT for MPC8641HPCN.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agompc8641: Support 36-bit physical addressing
Becky Bruce [Thu, 6 Nov 2008 23:37:35 +0000 (17:37 -0600)]
mpc8641: Support 36-bit physical addressing

This patch creates a memory map with all the devices
in 36-bit physical space, in addition to the 32-bit map.
The CCSR relocation is moved (again, sorry) to
allow for the physical address to be 36 bits - this
requires translation to be enabled.  With 36-bit physical
addressing enabled, we are no longer running with VA=PA
translations.  This means we have to distinguish between
the two in the config file.  The existing region name is
used to indicate the virtual address, and a _PHYS variety
is created to represent the physical address.

Large physical addressing is not enabled by default.
Set CONFIG_PHYS_64BIT in the config file to turn this on.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agompc8641: Change 32-bit memory map
Becky Bruce [Thu, 6 Nov 2008 23:36:04 +0000 (17:36 -0600)]
mpc8641: Change 32-bit memory map

The memory map on the 8641hpcn is modified to look more like
the 85xx boards; this is a step towards a more standardized
layout going forward. As part of this change, we now relocate
the flash.

The regions for some of the mappings were far larger than they
needed to be.  I have reduced the mappings to match the
actual sizes supported by the hardware.

In addition I have removed the comments at the head
of the BAT blocks in the config file, rather than updating
them.  These get horribly out of date, and it's a simple
matter to look at the defines to see what they are set to
since everything is right here in the same file.

Documentation has been changed to reflect the new map, as this
change is user visible, and affects the OS which runs post-uboot.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agompc86xx: Change early FLASH mapping to 1M at CONFIG_MONITOR_BASE_EARLY
Becky Bruce [Wed, 5 Nov 2008 20:55:35 +0000 (14:55 -0600)]
mpc86xx: Change early FLASH mapping to 1M at CONFIG_MONITOR_BASE_EARLY

We define CONFIG_MONITOR_BASE_EARLY to define the initial location
of the bootpage in flash.   Use this to create an early mapping
definition for the FLASH, and change the early_bats code to use this.

This  change facilitates the relocation of the flash since the early
mappings are no longer tied to the final location of the flash.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agompc86xx: Use SRR0/1/rfi to enable address translation, not blr
Becky Bruce [Wed, 5 Nov 2008 20:55:34 +0000 (14:55 -0600)]
mpc86xx: Use SRR0/1/rfi to enable address translation, not blr

Using a mtmsr/blr means that you have to be executing at the
same virtual address once you enable translation.  This is
unnecessarily restrictive, and is not really how this is
usually done.  Change it to use the more common mtspr SRR0/SRR1
and rfi method.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agompc8641: make DIAG_ADDR == FLASH_BASE
Becky Bruce [Wed, 5 Nov 2008 20:55:33 +0000 (14:55 -0600)]
mpc8641: make DIAG_ADDR == FLASH_BASE

Currently, that's what it is, but it's hardcoded.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agompc8641: Drop imaginary second flash bank, map 8MB
Becky Bruce [Wed, 5 Nov 2008 20:55:32 +0000 (14:55 -0600)]
mpc8641: Drop imaginary second flash bank, map 8MB

There's a lot of setup and foo for the second flash
bank.  The problem is, this board doesn't actually have one.
Clean this up.  Also, the flash is 8M in size.  Get rid
of the confusing aliased overmapping, and just map 8M.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agompc8641: only define CONFIG_ENV_SIZE once
Becky Bruce [Wed, 5 Nov 2008 20:55:31 +0000 (14:55 -0600)]
mpc8641: only define CONFIG_ENV_SIZE once

It's currently defined twice inside in an if/else block, but
both halves set the same value.  Move the define outside
the if.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agompc86xx: Move setup_bats into cpu_init_f
Becky Bruce [Wed, 5 Nov 2008 20:55:30 +0000 (14:55 -0600)]
mpc86xx: Move setup_bats into cpu_init_f

In order to later allow for a physical relocation of the
flash, setup_bats, which sets up the final BAT mapping
for the board, needs to happen *after* init_laws().
Otherwise, there will be no window programmed for the flash
at the new physical location at the point when we change
the mmu translation.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agompc8641: Remove extra "0" from BR2 define
Becky Bruce [Wed, 5 Nov 2008 20:55:29 +0000 (14:55 -0600)]
mpc8641: Remove extra "0" from BR2 define

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agoMerge commit 'wd/master'
Jon Loeliger [Mon, 10 Nov 2008 16:04:51 +0000 (10:04 -0600)]
Merge commit 'wd/master'

16 years agodrivers/qe/uec_phy.c: Added PHY-less (fixed PHY) driver.
Richard Retanubun [Thu, 23 Oct 2008 13:08:18 +0000 (09:08 -0400)]
drivers/qe/uec_phy.c: Added PHY-less (fixed PHY) driver.

Copied over the fixed PHY driver as used in pp4xx/4xx_enet.c.
This adds support for PHY-less MAC connections to the UEC.

Signed-off-by: Richard Retanubun <RichardRetanubun@RuggedCom.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
16 years agoColdFire: Add mii driver in drivers/net
TsiChung Liew [Thu, 23 Oct 2008 16:27:24 +0000 (16:27 +0000)]
ColdFire: Add mii driver in drivers/net

All CF platforms' mii.c are consolidated into one

Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
16 years agoMoved initialization of PPC4xx EMAC to cpu_eth_init()
Ben Warren [Tue, 28 Oct 2008 06:53:17 +0000 (23:53 -0700)]
Moved initialization of PPC4xx EMAC to cpu_eth_init()

Removed initialization of the driver from net/eth.c

Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
Acked-by: Stefan Roese <sr@denx.de>
16 years agoMoved PPC4xx EMAC driver to drivers/net
Ben Warren [Mon, 10 Nov 2008 05:29:23 +0000 (21:29 -0800)]
Moved PPC4xx EMAC driver to drivers/net

Also changed path in all linker scripts that reference this driver

Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
Acked-by: Stefan Roese <sr@denx.de>
16 years agoChanged PPC4xx EMAC driver to require CONFIG_PPC4xx_EMAC
Ben Warren [Tue, 28 Oct 2008 06:50:15 +0000 (23:50 -0700)]
Changed PPC4xx EMAC driver to require CONFIG_PPC4xx_EMAC

All in-tree IBM/AMCC PPC4xx boards using the EMAC get this new CONFIG

Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
Acked-by: Stefan Roese <sr@denx.de>
16 years agoMoved initialization of MPC8XX SCC to cpu_eth_init()
Ben Warren [Fri, 24 Oct 2008 05:02:49 +0000 (22:02 -0700)]
Moved initialization of MPC8XX SCC to cpu_eth_init()

Removed initialization of the driver from net/eth.c

Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
16 years agoMoved initialization of MPC8220 FEC to cpu_eth_init()
Ben Warren [Thu, 23 Oct 2008 06:47:51 +0000 (23:47 -0700)]
Moved initialization of MPC8220 FEC to cpu_eth_init()

Removed initialization of the driver from net/eth.c

Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
16 years agoMoved initialization of QE Ethernet controller to cpu_eth_init()
Ben Warren [Thu, 23 Oct 2008 06:32:48 +0000 (23:32 -0700)]
Moved initialization of QE Ethernet controller to cpu_eth_init()

Removed initialization of the driver from net/eth.c

Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
16 years agoMoved initialization of FCC Ethernet controller to cpu_eth_init
Ben Warren [Thu, 23 Oct 2008 06:20:29 +0000 (23:20 -0700)]
Moved initialization of FCC Ethernet controller to cpu_eth_init

Affected boards:
    Several MPC8xx boards
    Several MPC8260/MPC8272 boards
    Several MPC85xx boards

Removed initialization of the driver from net/eth.c

Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
16 years agoFix typo in cpu/mpc85xx/cpu.c
Ben Warren [Fri, 31 Oct 2008 05:15:35 +0000 (22:15 -0700)]
Fix typo in cpu/mpc85xx/cpu.c

CONFIG_MPC85xx_FEC -> CONFIG_MPC85XX_FEC

Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
16 years agonet: Move initialization of Au1x00 SoC ethernet MAC to cpu_eth_init
Shinya Kuribayashi [Sun, 19 Oct 2008 03:08:50 +0000 (12:08 +0900)]
net: Move initialization of Au1x00 SoC ethernet MAC to cpu_eth_init

This patch will move au1x00_eth_initialize from net/eth.c to cpu_eth_init
as a part of ongoing eth_initialize cleanup work.  The function ret value
is also fixed as it should be negative on fail.

Signed-off-by: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
16 years agoMoved initialization of IXP4XX_NPE Ethernet controller to cpu_eth_init()
Ben Warren [Fri, 5 Sep 2008 05:55:22 +0000 (01:55 -0400)]
Moved initialization of IXP4XX_NPE Ethernet controller to cpu_eth_init()

Also, removed the driver initialization from net/eth.c

Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
16 years agoxilinx_emaclite buffer overrun
Clive Stubbings [Mon, 27 Oct 2008 15:05:00 +0000 (15:05 +0000)]
xilinx_emaclite buffer overrun

Patch to fix buffer allocation size and alignment. Buffer needs to be u32 aligned and
PKTSIZE_ALIGN bytes long.

Acked-by: Michal Simek <monstr@monstr.eu>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
16 years agoNET: QE: UEC: Make uec_miiphy_read() and uec_miiphy_write() use the devname arg.
richardretanubun [Fri, 26 Sep 2008 12:59:12 +0000 (08:59 -0400)]
NET: QE: UEC: Make uec_miiphy_read() and uec_miiphy_write() use the devname arg.

The current uec_miiphy_read and uec_miiphy_write hardcode access devlist[0]
This patch makes these function use the devname argument that is passed in to
allow access to the phy registers of other devices in devlist[].

Signed-of-by: Richard Retanubun <RichardRetanubun@RugggedCom.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
16 years agoAdds two more ethernet interface to 83xx
richardretanubun [Mon, 6 Oct 2008 19:31:43 +0000 (15:31 -0400)]
Adds two more ethernet interface to 83xx

Fixed compiler warning "declared but unused" eth5_uec_info and eth6_uec_info.
Signed-off-by: Richard Retanubun <RichardRetanubun@RugggedCom.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
16 years agoMerge branch 'master' of /home/wd/git/u-boot/custodians
Wolfgang Denk [Sat, 8 Nov 2008 23:33:44 +0000 (00:33 +0100)]
Merge branch 'master' of /home/wd/git/u-boot/custodians

16 years agoMerge branch 'master' of git://git.denx.de/u-boot-arm
Wolfgang Denk [Sat, 8 Nov 2008 23:33:10 +0000 (00:33 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-arm

16 years agoMerge branch 'master' of /home/wd/git/u-boot/custodians
Wolfgang Denk [Sat, 8 Nov 2008 23:10:03 +0000 (00:10 +0100)]
Merge branch 'master' of /home/wd/git/u-boot/custodians

16 years agoMerge branch 'master' of git://git.denx.de/u-boot-at91
Wolfgang Denk [Sat, 8 Nov 2008 23:09:51 +0000 (00:09 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-at91

16 years agoMerge branch 'master' of /home/wd/git/u-boot/custodians
Wolfgang Denk [Sat, 8 Nov 2008 23:01:59 +0000 (00:01 +0100)]
Merge branch 'master' of /home/wd/git/u-boot/custodians

16 years agoMerge branch 'master' of git://git.denx.de/u-boot-coldfire
Wolfgang Denk [Sat, 8 Nov 2008 23:01:42 +0000 (00:01 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-coldfire

16 years agoAT91: Replace AT91_BASE_EMAC by the board specific values.
Stelian Pop [Fri, 7 Nov 2008 12:54:31 +0000 (13:54 +0100)]
AT91: Replace AT91_BASE_EMAC by the board specific values.

AT91_BASE_EMAC is never used outside the board specific files,
so replace its usage by the board specific AT91xxx_BASE_EMAC.

Signed-off-by: Stelian Pop <stelian@popies.net>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
16 years agoAT91: Replace (undefined) AT91_ID_US* by the board specific values.
Stelian Pop [Fri, 7 Nov 2008 11:09:21 +0000 (12:09 +0100)]
AT91: Replace (undefined) AT91_ID_US* by the board specific values.

AT91_ID_US0 / AT91_ID_US1 / AT91_ID_US2 were used but never defined.
Since they are never used outside the board specific files, they can
be replaced by the board specific AT91xxx_ID_US0 / AT91xxx_ID_US1 /
AT91xxx_ID_US2.

Bug spotted by Jesus Alvarez <jalvarez@micromint.com>.

Signed-off-by: Stelian Pop <stelian@popies.net>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
16 years agoMakefile/at91sam9: move some at91sam9 to the correct subsection for arm926ejs
Jean-Christophe PLAGNIOL-VILLARD [Sat, 1 Nov 2008 09:47:59 +0000 (10:47 +0100)]
Makefile/at91sam9: move some at91sam9 to the correct subsection for arm926ejs

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
16 years agoCustom AFEB9260 board support
Sergey Lapin [Fri, 31 Oct 2008 11:28:43 +0000 (12:28 +0100)]
Custom AFEB9260 board support

This patch provides support for AFEB9260 board, a product of
OpenSource hardware and software. Some commertial projects
are made with this design. A board is basically AT91SAM9260-EK
with some modifications and different peripherals and different
parts used. Main purpose of this project is to gain experience in
hardware design.
More info: http://groups.google.com/group/arm9fpga-evolution-board
(In Russian only, sorry).
Subversion repository: svn://194.85.238.22/home/users/george/svn/arm9eb

Signed-off-by: Sergey Lapin <slapin@ossfans.org>
16 years agoChange to use "do_div" macro
Tomohiro Masubuchi [Tue, 21 Oct 2008 04:17:16 +0000 (13:17 +0900)]
Change to use "do_div" macro

Signed-off-by: Tomohiro Masubuchi <tomohiro_masubuchi@tripeaks.co.jp>
16 years agoARM926EJ-S: relocate OMAP specific 'cpuinfo.c' into OMAP directory
Roman Mashak [Wed, 22 Oct 2008 20:00:26 +0000 (16:00 -0400)]
ARM926EJ-S: relocate OMAP specific 'cpuinfo.c' into OMAP directory

OMAP identification is implemented in 'cpuinfo.c' and located in ARM926EJ-S directory.
It makes sense to place this file in OMAP specific subdirectory, i.e. cpu/arm926ejs/omap

Signed-off-by: Roman Mashak <romez777@gmail.com>
16 years agoARM/Versatile port: Removed unused functions
Roman Mashak [Tue, 21 Oct 2008 10:01:41 +0000 (03:01 -0700)]
ARM/Versatile port: Removed unused functions

Removal of never used functions.

Signed-off-by: Roman Mashak <romez777@gmail.com>
16 years agopowerpc: change 86xx SMP boot method
Becky Bruce [Mon, 3 Nov 2008 21:44:01 +0000 (15:44 -0600)]
powerpc: change 86xx SMP boot method

We put the bootpg for the secondary cpus into memory and use
BPTR to get to it.  This is a step towards converting to the
ePAPR boot methodology.  Also, the code is written to
deal properly with more than 4GB of RAM.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years ago8641HPCN: Config file cleanup
Becky Bruce [Fri, 31 Oct 2008 22:13:49 +0000 (17:13 -0500)]
8641HPCN: Config file cleanup

There are several items in the config file that were hardcoded
but that should really be based on other config options, since
the regions are contiguous and depend on being so.  This cleans
that up a bit.  Also, add BR_PHYS_ADDR() macro to convert
addresses into the proper format for BR registers.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years ago86xx: Make dram_size a phys_size_t
Becky Bruce [Fri, 31 Oct 2008 22:13:32 +0000 (17:13 -0500)]
86xx: Make dram_size a phys_size_t

It's currently a long and should be phys_size_t.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agopowerpc 86xx: Handle CCSR relocation earlier
Becky Bruce [Mon, 3 Nov 2008 00:19:32 +0000 (18:19 -0600)]
powerpc 86xx: Handle CCSR relocation earlier

Currently, the CCSR gets relocated while translation is
enabled, meaning we need 2 BAT translations to get to both the
old location and the new location.  Also, the DEFAULT
CCSR location has a dependency on the BAT that maps the
FLASH region.  Moving the relocation removes this unnecessary
dependency. This makes it easier and more intutive to
modify the board's memory map.

Swap BATs 3 and 4 on 8610 so that all 86xx boards use the same
BAT for CCSR space.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agompc8641: Make PCI and RIO mutually exclusive, fix non-PCI build
Becky Bruce [Fri, 31 Oct 2008 22:14:14 +0000 (17:14 -0500)]
mpc8641: Make PCI and RIO mutually exclusive, fix non-PCI build

You can't actually have both, and with some coming changes to
change the memory map for the board and support 36-bit physical,
we need the extra BAT that is being consumed by having both.

I also make non-PCI configs build cleanly, for the sake of sanity.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agompc8641: Stop supporting non-PCI_PNP configs
Becky Bruce [Fri, 31 Oct 2008 22:14:00 +0000 (17:14 -0500)]
mpc8641: Stop supporting non-PCI_PNP configs

We don't actually ever do this, remove the code so we
can stop maintaining it.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
16 years agoColdFire: Fix M5329EVB and M5373EVB nand issue
TsiChung Liew [Fri, 24 Oct 2008 12:59:12 +0000 (12:59 +0000)]
ColdFire: Fix M5329EVB and M5373EVB nand issue

Fix compilation issue caused by a few mismatches.
Provide proper nand chip select enable/disable in
nand_hwcontrol() rather than in board_nand_init()
just enable once. Remove redundant local nand driver
functions - nand_read_byte(), nand_write_byte() and
nand_dev_ready() to use common nand driver.

Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
16 years agoColdFire: Fix compilation error
TsiChung Liew [Wed, 22 Oct 2008 11:55:30 +0000 (11:55 +0000)]
ColdFire: Fix compilation error

The error was caused by the change for strmhz() in cpu.c.
A few of them were one extra close parenthesis.

Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
16 years agoColdFire: Add MCF5301x CPU and M53017EVB support
TsiChung Liew [Wed, 22 Oct 2008 11:38:21 +0000 (11:38 +0000)]
ColdFire: Add MCF5301x CPU and M53017EVB support

Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
16 years agoColdFire: Add SBF support for M52277EVB
TsiChung Liew [Tue, 21 Oct 2008 15:37:02 +0000 (15:37 +0000)]
ColdFire: Add SBF support for M52277EVB

Add serial boot support

Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
16 years agoColdFire: Use CFI driver for M5272C3
TsiChung Liew [Tue, 21 Oct 2008 14:19:26 +0000 (14:19 +0000)]
ColdFire: Use CFI driver for M5272C3

Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
16 years agoColdFire: Relocate FEC's GPIO and mii functions protocols
TsiChung Liew [Tue, 21 Oct 2008 13:47:54 +0000 (13:47 +0000)]
ColdFire: Relocate FEC's GPIO and mii functions protocols

Place FEC pin assignments in cpu_init.c from platform's
mii.c

Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
16 years agoColdFire: Remove platforms mii.c file
TsiChung Liew [Tue, 21 Oct 2008 12:15:44 +0000 (12:15 +0000)]
ColdFire: Remove platforms mii.c file

Will use mcfmii.c driver in drivers/net rather than
keep creating new mii.c for each future platform.
Remove EB+MCF-EV123, cobra5272, idmr, M5235EVB,
M5271EVB, M5272C3, M5275EVB, M5282EVB, M5329EVB,
M5373EVB, M54451EVB, M54455EVB, M547xEVB, and M548xEVB's
mii.c

Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
16 years agoColdFire: Modules header files cleanup
TsiChung Liew [Tue, 21 Oct 2008 10:03:07 +0000 (10:03 +0000)]
ColdFire: Modules header files cleanup

Consolidate ATA, ePORT, QSPI, FlexCan, PWM, RNG,
MDHA, SKHA, INTC, and FlexBus structures and
definitions in immap_5xxx.h to more unify modules
header files. Append DSPI support for m547x_8x.
SSI cleanup. Remove USB Host structure from immap_539.h.
Apply changes to use FlexBus structures in mcf52x2's
cpu_init.c and platform configuration files.

Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>