diff options
author | Rob Herring <rob.herring@calxeda.com> | 2013-08-24 10:10:50 -0500 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2013-09-06 13:09:07 -0400 |
commit | 2bdb10dbf59f41ead73fb3fa69699de1b621f423 (patch) | |
tree | 3f736e8cbe7e0ce227dbd11c28f3028bf9280249 | |
parent | 796c2ebd6f17da605a05eb233c907e4d8330f751 (diff) | |
download | u-boot-imx-2bdb10dbf59f41ead73fb3fa69699de1b621f423.zip u-boot-imx-2bdb10dbf59f41ead73fb3fa69699de1b621f423.tar.gz u-boot-imx-2bdb10dbf59f41ead73fb3fa69699de1b621f423.tar.bz2 |
ahci: add defines for PORT_SCR_STAT register bits
Replace hard-coded register values with proper defines for PORT_SCR_STAT
register.
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
-rw-r--r-- | drivers/block/ahci.c | 5 | ||||
-rw-r--r-- | include/ahci.h | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/drivers/block/ahci.c b/drivers/block/ahci.c index f088063..ad7e95f 100644 --- a/drivers/block/ahci.c +++ b/drivers/block/ahci.c @@ -207,7 +207,8 @@ static int ahci_host_init(struct ahci_probe_ent *probe_ent) j = 0; while (j < WAIT_MS_LINKUP) { tmp = readl(port_mmio + PORT_SCR_STAT); - if ((tmp & 0xf) == 0x3) + tmp &= PORT_SCR_STAT_DET_MASK; + if (tmp == PORT_SCR_STAT_DET_PHYRDY) break; udelay(1000); j++; @@ -258,7 +259,7 @@ static int ahci_host_init(struct ahci_probe_ent *probe_ent) /* register linkup ports */ tmp = readl(port_mmio + PORT_SCR_STAT); debug("SATA port %d status: 0x%x\n", i, tmp); - if ((tmp & 0xf) == 0x03) + if ((tmp & PORT_SCR_STAT_DET_MASK) == PORT_SCR_STAT_DET_PHYRDY) probe_ent->link_port_map |= (0x01 << i); } diff --git a/include/ahci.h b/include/ahci.h index 78a8c55..d76993c 100644 --- a/include/ahci.h +++ b/include/ahci.h @@ -87,6 +87,11 @@ | PORT_IRQ_DMAS_FIS | PORT_IRQ_PIOS_FIS \ | PORT_IRQ_D2H_REG_FIS +/* PORT_SCR_STAT bits */ +#define PORT_SCR_STAT_DET_MASK 0x3 +#define PORT_SCR_STAT_DET_COMINIT 0x1 +#define PORT_SCR_STAT_DET_PHYRDY 0x3 + /* PORT_CMD bits */ #define PORT_CMD_ATAPI (1 << 24) /* Device is ATAPI */ #define PORT_CMD_LIST_ON (1 << 15) /* cmd list DMA engine running */ |