diff options
Diffstat (limited to 'arch/arm/mach-imx/cpu.c')
| -rw-r--r-- | arch/arm/mach-imx/cpu.c | 16 | 
1 files changed, 16 insertions, 0 deletions
| diff --git a/arch/arm/mach-imx/cpu.c b/arch/arm/mach-imx/cpu.c index 425d0f03277..af0b7fbf7b4 100644 --- a/arch/arm/mach-imx/cpu.c +++ b/arch/arm/mach-imx/cpu.c @@ -24,6 +24,8 @@  #include <ipu_pixfmt.h>  #include <thermal.h>  #include <sata.h> +#include <dm/device-internal.h> +#include <dm/uclass-internal.h>  #ifdef CONFIG_FSL_ESDHC_IMX  #include <fsl_esdhc_imx.h> @@ -278,6 +280,20 @@ void arch_preboot_os(void)  #if defined(CONFIG_PCIE_IMX) && !CONFIG_IS_ENABLED(DM_PCI)  	imx_pcie_remove();  #endif + +#if defined(CONFIG_IMX_AHCI) +	struct udevice *dev; +	int rc; + +	rc = uclass_find_device(UCLASS_AHCI, 0, &dev); +	if (!rc && dev) { +		rc = device_remove(dev, DM_REMOVE_NORMAL); +		if (rc) +			printf("Cannot remove SATA device '%s' (err=%d)\n", +				dev->name, rc); +	} +#endif +  #if defined(CONFIG_SATA)  	if (!is_mx6sdl()) {  		sata_remove(0); | 
