From: Nikita Kiryanov Date: Fri, 21 Nov 2014 10:47:26 +0000 (+0200) Subject: arm: imx: stop sata on boot X-Git-Tag: KARO-TXA5-2015-06-26~227^2~3 X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-uboot.git;a=commitdiff_plain;h=44b9841d7898a03e73b5054f56303514a5b35db8 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 Cc: Stefano Babic --- diff --git a/arch/arm/imx-common/cpu.c b/arch/arm/imx-common/cpu.c index 8b2dfca611..b58df7da6f 100644 --- a/arch/arm/imx-common/cpu.c +++ b/arch/arm/imx-common/cpu.c @@ -18,6 +18,7 @@ #include #include #include +#include #ifdef CONFIG_FSL_ESDHC #include @@ -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) {