mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 21:54:01 +00:00
ata: dwc_ahsata: Add ahci driver model support
Disable this support for cm_fx6 to avoid breakage. Signed-off-by: Soeren Moch <smoch@web.de>
This commit is contained in:
parent
d5326dfa7a
commit
046a69b848
3 changed files with 33 additions and 0 deletions
|
@ -51,6 +51,7 @@ CONFIG_DEFAULT_DEVICE_TREE="imx6q-cm-fx6"
|
|||
CONFIG_ENV_IS_IN_SPI_FLASH=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
CONFIG_DWC_AHSATA=y
|
||||
# CONFIG_DWC_AHSATA_AHCI is not set
|
||||
CONFIG_DM_KEYBOARD=y
|
||||
CONFIG_DM_MMC=y
|
||||
CONFIG_FSL_ESDHC=y
|
||||
|
|
|
@ -66,6 +66,14 @@ config DWC_AHSATA
|
|||
Enable this driver to support the DWC AHSATA SATA controller found
|
||||
in i.MX5 and i.MX6 SoCs.
|
||||
|
||||
config DWC_AHSATA_AHCI
|
||||
bool "Enable DWC AHSATA AHCI driver support"
|
||||
depends on DWC_AHSATA
|
||||
depends on AHCI
|
||||
default y
|
||||
help
|
||||
Enable this option unless you need your private ahci implementation
|
||||
|
||||
config FSL_SATA
|
||||
bool "Enable Freescale SATA controller driver support"
|
||||
select LIBATA
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
#include <asm/io.h>
|
||||
#include <asm/arch/clock.h>
|
||||
#include <asm/arch/sys_proto.h>
|
||||
#include <asm/mach-imx/sata.h>
|
||||
#include <linux/bitops.h>
|
||||
#include <linux/ctype.h>
|
||||
#include <linux/errno.h>
|
||||
|
@ -1020,6 +1021,9 @@ int dwc_ahsata_probe(struct udevice *dev)
|
|||
struct ahci_uc_priv *uc_priv = dev_get_uclass_priv(dev);
|
||||
int ret;
|
||||
|
||||
#if defined(CONFIG_MX6)
|
||||
setup_sata();
|
||||
#endif
|
||||
uc_priv->host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
|
||||
ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA | ATA_FLAG_NO_ATAPI;
|
||||
uc_priv->mmio_base = (void __iomem *)dev_read_addr(dev);
|
||||
|
@ -1067,4 +1071,24 @@ U_BOOT_DRIVER(dwc_ahsata_blk) = {
|
|||
.ops = &dwc_ahsata_blk_ops,
|
||||
};
|
||||
|
||||
#if CONFIG_IS_ENABLED(DWC_AHSATA_AHCI)
|
||||
struct ahci_ops dwc_ahsata_ahci_ops = {
|
||||
.port_status = dwc_ahsata_port_status,
|
||||
.reset = dwc_ahsata_bus_reset,
|
||||
.scan = dwc_ahsata_scan,
|
||||
};
|
||||
|
||||
static const struct udevice_id dwc_ahsata_ahci_ids[] = {
|
||||
{ .compatible = "fsl,imx6q-ahci" },
|
||||
{ }
|
||||
};
|
||||
|
||||
U_BOOT_DRIVER(dwc_ahsata_ahci) = {
|
||||
.name = "dwc_ahsata_ahci",
|
||||
.id = UCLASS_AHCI,
|
||||
.of_match = dwc_ahsata_ahci_ids,
|
||||
.ops = &dwc_ahsata_ahci_ops,
|
||||
.probe = dwc_ahsata_probe,
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue