arm: Add option to disable code relocation

This permits disabling the code relation in U-Boot which is useful when
debugging with an ICE.

To use it define CONFIG_SYS_SKIP_ARM_RELOCATION in your board.

Signed-off-by: Simon Glass <sjg@chromium.org>
mx6q: Skip the relocation for the ARM2 and SabreLite boards

The boot ROM code copies U-Boot already into the RAM at address
CONFIG_SYS_TEXT_BASE.  To improve the boot time, skip the relocation
(i.e. the copy RAM -> RAM).

ATTENTION: Please read

http://lists.denx.de/pipermail/u-boot/2012-February/117140.html

why you normally don't want this!

Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
part_dos: align disk buffers on cache line to enable DMA and cache

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
mmc: fsl_esdhc: Poll until card is not busy anymore

This patch imports parts of two patches from the Freescale U-Boot with the following
commit messages:

ENGR00156405 ESDHC: Add workaround for auto-clock gate errata ENGcm03648
http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/commit/drivers/mmc/imx_esdhc.c?h=imx_v2009.08_12.01.01&id=e436525a70fe47623d346bc7d9f08f12ff8ad787
The errata, not applicable to USDHC, causes ESDHC to shut off clock to the card
when auto-clock gating is enabled for commands with busy signalling and no data
phase. The card might require the clock to exit the busy state, so the workaround
is to disable the auto-clock gate bits in SYSCTL register for such commands. The
workaround also entails polling on DAT0 bit in the PRSSTAT register to learn when
busy state is complete. Auto-clock gating is re-enabled at the end of busy state.

ENGR00156670-1 ESDHC/USDHC: Remove delay before each cmd and some bug fixes
http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/commit/drivers/mmc/imx_esdhc.c?h=imx_v2009.08_12.01.01&id=a77c6fec8596891be96b2cdbc742c9824844b92a
Removed delay of 10 ms before each command. There should not be a need to have this
delay after the ENGR00156405 patch that polls until card is not busy anymore before
proceeding to next cmd.

This patch imports the polling part of both patches. The auto-clock gating code
don't apply for i.MX6 as implemented in these two patches.

SYSCTL_RSTA was defined twice. Remove one definition.

Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
CC: Andy Fleming <afleming@freescale.com>
CC: Fabio Estevam <fabio.estevam@freescale.com>
CC: Stefano Babic <sbabic@denx.de>
i.mx: i.mx6x: NO_MUX_I/NO_PAD_I not set correctly

If one PAD does not have mux or pad config register, we need
set the NO_MUX_I/NO_PAD_I to 0, the old value is not correct

Signed-off-by: Jason Liu <jason.hui@linaro.org>
CC: Stefano Babic <sbabic@denx.de>
fs/fat: align disk buffers on cache line to enable DMA and cache

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
mx6qsabresd: Add basic support

Add basic support for mx6qsabresd board.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
mx6qsabrelite: No need to set the direction for GPIO3_23 again

There is a 'gpio_direction_output(87, 0);' call previously, so the GPIO direction is
already established.

Use gpio_set_value() for changing the GPIO output then.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
i.MX6: Add ANATOP regulator init

Init the core regulator voltage to 1.2V. This is required for the correct
functioning of the GPU and when the ARM LDO is set to 1.225V. This is a
workaround to fix some memory clock jitter.

Note: This should be but can't be done in the DCD. The bootloader
      prevents access to the ANATOP registers.

Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
CC: Jason Chen <b02280@freescale.com>
CC: Jason Liu <r64343@freescale.com>
CC: Ranjani Vaidyanathan <ra5478@freescale.com>
CC: Stefano Babic <sbabic@denx.de>
CC: Fabio Estevam <festevam@gmail.com>
Add doc/README.kbd

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
mxc_i2c: specify i2c base address in config file

The following platforms had their config files changed
flea3, imx31_phycore, mx35pdk, mx53ard, mx53evk, mx53smd

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
mx6qsabrelite: add i2c support

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
mxc_i2c: remove setting speed at each start

Other then being very weird, this code was also wrong.
For example, say I set speed to 100K. I'll read back the speed
as 85937. But the speed is really 85937.5, so we I reset
the speed to 85937, I'll get 73660.7. After a couple of transactions
my speed is now exactly 68750 so it will remain there.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
i.MX6Q: mx6qsabrelite: Add keypress support to alter boot flow

Uses the 'magic_keys' idiom as described in doc/README.kbd:
	http://lists.denx.de/pipermail/u-boot/2012-April/122502.html

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
Acked-by: Marek Vasut <marex@denx.de>
i.MX: fsl_esdhc: allow use with cache enabled.

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
Resend: i.MX6: add enable_sata_clock()

This patch requires Stefano's driver for MX5/MX6 to be useful.
	http://lists.denx.de/pipermail/u-boot/2012-February/118530.html

This is the first and board-independent part of what's needed to enable
SATA on an i.MX6 board as discussed in this thread:
	http://lists.denx.de/pipermail/u-boot/2012-March/120919.html

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
i.MX6: mx6q_sabrelite: add SATA bindings

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>