software/liblitesata: implement sata_init with new CSR registers.

This commit is contained in:
Florent Kermarrec 2020-10-28 19:55:19 +01:00
parent 1fca7b9a91
commit 9b123f7c9a
1 changed files with 16 additions and 1 deletions

View File

@ -20,7 +20,22 @@
/*-----------------------------------------------------------------------*/ /*-----------------------------------------------------------------------*/
int sata_init(void) { int sata_init(void) {
return 1; /* FIXME: TODO. */ uint16_t timeout;
for (timeout=10; timeout>0; timeout--) {
/* Initialize SATA PHY */
sata_phy_enable_write(0);
sata_phy_enable_write(1);
/* Wait for 10ms */
busy_wait(10);
/* Check SATA PHY status */
if (sata_phy_status_read() & 0x1)
return 1;
}
return 0;
} }
void sata_read(uint32_t block, uint32_t count, uint8_t* buf) void sata_read(uint32_t block, uint32_t count, uint8_t* buf)