Skip to content
Snippets Groups Projects
Commit 87791adc authored by Dmitry Lifshitz's avatar Dmitry Lifshitz Committed by Tom Rini
Browse files

arm: omap: reset sata on boot


On OMAP platforms (like OMAP5) Linux kernel fails to detect a SATA
device if it is used by U-Boot.

It happens because U-Boot does not reset SATA controller before boot.

Reset the controller on OS boot so that Linux will have a clean state
to work with.

Signed-off-by: default avatarDmitry Lifshitz <lifshitz@compulab.co.il>
Reviewed-by: default avatarTom Rini <trini@ti.com>
parent 8decf5d4
No related branches found
No related tags found
No related merge requests found
...@@ -9,12 +9,14 @@ ...@@ -9,12 +9,14 @@
*/ */
#include <common.h> #include <common.h>
#include <ahci.h>
#include <spl.h> #include <spl.h>
#include <asm/omap_common.h> #include <asm/omap_common.h>
#include <asm/arch/omap.h> #include <asm/arch/omap.h>
#include <asm/arch/mmc_host_def.h> #include <asm/arch/mmc_host_def.h>
#include <asm/arch/sys_proto.h> #include <asm/arch/sys_proto.h>
#include <watchdog.h> #include <watchdog.h>
#include <scsi.h>
DECLARE_GLOBAL_DATA_PTR; DECLARE_GLOBAL_DATA_PTR;
...@@ -143,3 +145,10 @@ void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image) ...@@ -143,3 +145,10 @@ void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image)
image_entry((u32 *)&gd->arch.omap_boot_params); image_entry((u32 *)&gd->arch.omap_boot_params);
} }
#endif #endif
#ifdef CONFIG_SCSI_AHCI_PLAT
void arch_preboot_os(void)
{
ahci_reset(DWC_AHSATA_BASE);
}
#endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment