| 1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
| 2 | /* |
| 3 | * AHCI SATA platform driver |
| 4 | * |
| 5 | * Copyright 2004-2005 Red Hat, Inc. |
| 6 | * Jeff Garzik <jgarzik@pobox.com> |
| 7 | * Copyright 2010 MontaVista Software, LLC. |
| 8 | * Anton Vorontsov <avorontsov@ru.mvista.com> |
| 9 | */ |
| 10 | |
| 11 | #ifndef _AHCI_PLATFORM_H |
| 12 | #define _AHCI_PLATFORM_H |
| 13 | |
| 14 | #include <linux/compiler.h> |
| 15 | |
| 16 | struct clk; |
| 17 | struct device; |
| 18 | struct ata_port_info; |
| 19 | struct ahci_host_priv; |
| 20 | struct platform_device; |
| 21 | struct scsi_host_template; |
| 22 | |
| 23 | int ahci_platform_enable_phys(struct ahci_host_priv *hpriv); |
| 24 | void ahci_platform_disable_phys(struct ahci_host_priv *hpriv); |
| 25 | struct clk *ahci_platform_find_clk(struct ahci_host_priv *hpriv, |
| 26 | const char *con_id); |
| 27 | int ahci_platform_enable_clks(struct ahci_host_priv *hpriv); |
| 28 | void ahci_platform_disable_clks(struct ahci_host_priv *hpriv); |
| 29 | int ahci_platform_deassert_rsts(struct ahci_host_priv *hpriv); |
| 30 | int ahci_platform_assert_rsts(struct ahci_host_priv *hpriv); |
| 31 | int ahci_platform_enable_regulators(struct ahci_host_priv *hpriv); |
| 32 | void ahci_platform_disable_regulators(struct ahci_host_priv *hpriv); |
| 33 | int ahci_platform_enable_resources(struct ahci_host_priv *hpriv); |
| 34 | void ahci_platform_disable_resources(struct ahci_host_priv *hpriv); |
| 35 | struct ahci_host_priv *ahci_platform_get_resources( |
| 36 | struct platform_device *pdev, unsigned int flags); |
| 37 | int ahci_platform_init_host(struct platform_device *pdev, |
| 38 | struct ahci_host_priv *hpriv, |
| 39 | const struct ata_port_info *pi_template, |
| 40 | const struct scsi_host_template *sht); |
| 41 | |
| 42 | void ahci_platform_shutdown(struct platform_device *pdev); |
| 43 | |
| 44 | int ahci_platform_suspend_host(struct device *dev); |
| 45 | int ahci_platform_resume_host(struct device *dev); |
| 46 | int ahci_platform_suspend(struct device *dev); |
| 47 | int ahci_platform_resume(struct device *dev); |
| 48 | |
| 49 | #define AHCI_PLATFORM_GET_RESETS BIT(0) |
| 50 | #define AHCI_PLATFORM_RST_TRIGGER BIT(1) |
| 51 | |
| 52 | #endif /* _AHCI_PLATFORM_H */ |
| 53 | |