Lines Matching +full:sun8i +full:- +full:r40 +full:- +full:ahci

1 // SPDX-License-Identifier: GPL-2.0-only
3 * Allwinner sunxi AHCI SATA platform driver
7 * based on the AHCI SATA platform driver by Jeff Garzik and Anton Vorontsov
20 #include "ahci.h"
22 #define DRV_NAME "ahci-sunxi"
118 if (--timeout == 0) { in ahci_sunxi_phy_init()
120 return -EIO; in ahci_sunxi_phy_init()
133 if (--timeout == 0) { in ahci_sunxi_phy_init()
135 return -EIO; in ahci_sunxi_phy_init()
150 struct ahci_host_priv *hpriv = ap->host->private_data; in ahci_sunxi_start_engine()
154 * NOTE: A similar SoC with SATA/AHCI by Texas Instruments documents in ahci_sunxi_start_engine()
156 * User's Guide document (TMS320C674x/OMAP-L1x Processor in ahci_sunxi_start_engine()
193 * sunxi_clrsetbits(hpriv->mmio + AHCI_P0DMACR, 0x0000ffff, in ahci_sunxi_start_engine()
196 sunxi_clrsetbits(hpriv->mmio + AHCI_P0DMACR, 0x0000ffff, 0x00004433); in ahci_sunxi_start_engine()
215 struct device *dev = &pdev->dev; in ahci_sunxi_probe()
223 hpriv->start_engine = ahci_sunxi_start_engine; in ahci_sunxi_probe()
229 rc = ahci_sunxi_phy_init(dev, hpriv->mmio); in ahci_sunxi_probe()
233 hpriv->flags = AHCI_HFLAG_32BIT_ONLY | AHCI_HFLAG_NO_MSI | in ahci_sunxi_probe()
242 hpriv->flags |= AHCI_HFLAG_NO_PMP; in ahci_sunxi_probe()
260 struct ahci_host_priv *hpriv = host->private_data; in ahci_sunxi_resume()
267 rc = ahci_sunxi_phy_init(dev, hpriv->mmio); in ahci_sunxi_resume()
287 { .compatible = "allwinner,sun4i-a10-ahci", },
288 { .compatible = "allwinner,sun8i-r40-ahci", },
304 MODULE_DESCRIPTION("Allwinner sunxi AHCI SATA driver");