diff options
author | Nikita Kiryanov <nikita@compulab.co.il> | 2014-11-21 10:47:26 (GMT) |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2014-11-24 11:10:08 (GMT) |
commit | 44b9841d7898a03e73b5054f56303514a5b35db8 (patch) | |
tree | 2e5a002a66c3e1b513054f5f6c21a20d81aacb52 /arch | |
parent | 9cad35442559634324109576dfdaf2f43b546efd (diff) | |
download | u-boot-44b9841d7898a03e73b5054f56303514a5b35db8.tar.xz |
arm: imx: stop sata on boot
Ideally, the Linux kernel should get the hardware in its most
untouched state. For the most part, U-Boot does not reset the various
subsystems it touches before boot, and usually Linux deals with it, but
on some boards (cm_fx6) the Linux kernel fails to detect the ssd
correctly if sata is used by U-Boot.
Power off sata on OS boot so that Linux will have a clean state to work
with.
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Cc: Stefano Babic <sbabic@denx.de>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/imx-common/cpu.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/arm/imx-common/cpu.c b/arch/arm/imx-common/cpu.c index 8b2dfca..b58df7d 100644 --- a/arch/arm/imx-common/cpu.c +++ b/arch/arm/imx-common/cpu.c @@ -18,6 +18,7 @@ #include <asm/arch/crm_regs.h> #include <ipu_pixfmt.h> #include <thermal.h> +#include <sata.h> #ifdef CONFIG_FSL_ESDHC #include <fsl_esdhc.h> @@ -201,13 +202,16 @@ u32 get_ahb_clk(void) return get_periph_clk() / (ahb_podf + 1); } -#if defined(CONFIG_VIDEO_IPUV3) void arch_preboot_os(void) { +#if defined(CONFIG_CMD_SATA) + sata_stop(); +#endif +#if defined(CONFIG_VIDEO_IPUV3) /* disable video before launching O/S */ ipuv3_fb_shutdown(); -} #endif +} void set_chipselect_size(int const cs_size) { |