summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorNikita Kiryanov <nikita@compulab.co.il>2014-11-21 10:47:26 (GMT)
committerStefano Babic <sbabic@denx.de>2014-11-24 11:10:08 (GMT)
commit44b9841d7898a03e73b5054f56303514a5b35db8 (patch)
tree2e5a002a66c3e1b513054f5f6c21a20d81aacb52 /arch
parent9cad35442559634324109576dfdaf2f43b546efd (diff)
downloadu-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.c8
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)
{