mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 19:11:53 +00:00
sata: dwc_ahsata: implement sata_port_status
Define the new common function sata_port_status() which can be used to query the sata driver for the state of ports, and implement it for dwc_ahsata. Cc: Stefano Babic <sbabic@denx.de> Cc: Tom Rini <trini@ti.com> Cc: Marek Vasut <marex@denx.de> Reviewed-by: Marek Vasut <marex@denx.de> Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
This commit is contained in:
parent
52658fda7a
commit
dc383dd583
2 changed files with 18 additions and 0 deletions
|
@ -864,6 +864,23 @@ u32 ata_low_level_rw_lba28(int dev, u32 blknr, lbaint_t blkcnt,
|
||||||
return blkcnt;
|
return blkcnt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int sata_port_status(int dev, int port)
|
||||||
|
{
|
||||||
|
struct sata_port_regs *port_mmio;
|
||||||
|
struct ahci_probe_ent *probe_ent = NULL;
|
||||||
|
|
||||||
|
if (dev < 0 || dev > (CONFIG_SYS_SATA_MAX_DEVICE - 1))
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
if (sata_dev_desc[dev].priv == NULL)
|
||||||
|
return -ENODEV;
|
||||||
|
|
||||||
|
probe_ent = (struct ahci_probe_ent *)sata_dev_desc[dev].priv;
|
||||||
|
port_mmio = (struct sata_port_regs *)probe_ent->port[port].port_mmio;
|
||||||
|
|
||||||
|
return readl(&(port_mmio->ssts)) && SATA_PORT_SSTS_DET_MASK;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* SATA interface between low level driver and command layer
|
* SATA interface between low level driver and command layer
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -9,6 +9,7 @@ ulong sata_write(int dev, ulong blknr, lbaint_t blkcnt, const void *buffer);
|
||||||
|
|
||||||
int sata_initialize(void);
|
int sata_initialize(void);
|
||||||
int __sata_initialize(void);
|
int __sata_initialize(void);
|
||||||
|
int sata_port_status(int dev, int port);
|
||||||
|
|
||||||
extern block_dev_desc_t sata_dev_desc[];
|
extern block_dev_desc_t sata_dev_desc[];
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue