tegra20: move tegra20 SoC code to arch/arm/cpu/tegra20-common

In preparation for splitting out the armv4t code from tegra20, move
the tegra20 SoC code to arch/arm/cpu/tegra20-common.  This code will
be compiled armv4t for the arm7tdmi and armv7 for the cortex A9.

Signed-off-by: Allen Martin <amartin@nvidia.com>
tegra20: rename CONFIG_MACH_TEGRA_GENERIC

Rename CONFIG_MACH_TEGRA_GENERIC to the less confusing CONFIG_TEGRA.
The meaning of the config options is now:

CONFIG_TEGRA - Any tegra chip
CONFIG_TEGRA20 - A tegra20 family chip
CONFIG_TEGRA30 - A tegra30 family chip (not added yet)

Signed-off-by: Allen Martin <amartin@nvidia.com>
mkconfig: add support for SPL CPU

Add support for specifying a different CPU for main u-boot and SPL
u-boot builds.  This is done by adding an optional SPL CPU after the
main CPU in boards.cfg as follows:

     normal_cpu:spl_cpu

This this case CPU will be set to "normal_cpu" during the main u-boot
build and "spl_cpu" during the SPL build.

Signed-off-by: Allen Martin <amartin@nvidia.com>
ARM: Fix arm720t SPL build

Take a few SPL fixes from armv7 and apply them to arm720t:
-Use dummy exception handlers for SPL build
-Initialize relocation register r9 to 0 for the case of no relocation
-ifdef out interrupt handler code

Signed-off-by: Allen Martin <amartin@nvidia.com>
tegra20: remove timer_init from SPL build

Don't use timer_init from tegra board.c.  This comes out of arm720t
for the SPL build.

Signed-off-by: Allen Martin <amartin@nvidia.com>
ARM: add tegra20 support to arm720t

Add support for tegra20 arm7 boot processor.  This processor is used
to power on the Cortex A9 and transfer control to it.

Signed-off-by: Allen Martin <amartin@nvidia.com>
tegra20: add SPL config options for tegra20 boards

Add SPL options to tegra20 config files and enable SPL build for
tegra20 boards in boards.cfg

Signed-off-by: Allen Martin <amartin@nvidia.com>
tegra20: add u-boot-t2.bin target

Add target for tegra20 u-boot image.  This is a concatenation of tegra
spl and normal u-boot binaries.  For non-devicetree builds this is
named "u-boot-t2.bin" for devicetree builds is named
"u-boot-dtb-t2.bin".

Signed-off-by: Allen Martin <amartin@nvidia.com>
tegra: move SDRAM param save to later in boot

Move warmboot_save_sdram_params() to later in the boot sequence.  This
code relies on devicetree to get the address of the memory controller
and with upcoming changes for SPL boot it gets called early in the
boot process when devicetree is not initialized yet.

Signed-off-by: Allen Martin <amartin@nvidia.com>
tegra20: Remove CPU init code from tegra20 u-boot

This code is now included in the tegra20 SPL

Signed-off-by: Allen Martin <amartin@nvidia.com>
tegra20: Remove armv4t build flags

These flags were necessary when building tegra20 as a single binary
that supported ARM7TDMI and Cortex A9.  Now that the ARM7TDMI support
is split into a separate SPL, this is no longer necessary.

Signed-off-by: Allen Martin <amartin@nvidia.com>
tegra20: plutux: change obj directory mkdir commands

Change the mkdir commands for the object directories to be more
general purpose.  This fixes an issue when building for SPL where
SRCTREE and OBJTREE are the same, but $(obj) is under SPLTREE.

Signed-off-by: Allen Martin <amartin@nvidia.com>
tegra20: tec: add tegra20-common-post.h

Add tegra20-common-post.h to be consistent with other tegra20 boards.

Signed-off-by: Allen Martin <amartin@nvidia.com>