diff options
author | Daniel Hellstrom <daniel@gaisler.com> | 2014-05-02 14:28:44 +0200 |
---|---|---|
committer | Daniel Hellstrom <daniel@gaisler.com> | 2015-04-17 01:10:21 +0200 |
commit | d2a94ab97f014c27a86a3183794387dba7d36a22 (patch) | |
tree | 0987bcaf167b3288f6cdba0cf3da90736b07a848 | |
parent | GRSPW_PKT: Add support for Interrupt-codes (diff) | |
download | rtems-d2a94ab97f014c27a86a3183794387dba7d36a22.tar.bz2 |
GRSPW: added clock cycles after GRSPW reset
added clock cycles after GRSPW reset to make sure CTRL.START bit
write actually have an effect. Wait until reset is completed.
-rw-r--r-- | c/src/lib/libbsp/sparc/shared/spw/grspw.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/sparc/shared/spw/grspw.c b/c/src/lib/libbsp/sparc/shared/spw/grspw.c index ebf7fe00ee..4d66d133bb 100644 --- a/c/src/lib/libbsp/sparc/shared/spw/grspw.c +++ b/c/src/lib/libbsp/sparc/shared/spw/grspw.c @@ -1649,6 +1649,19 @@ static void grspw_hw_reset(GRSPW_DEV *pDev) SPW_CTRL_WRITE(pDev, SPW_CTRL_RESET); /*reset core*/ SPW_STATUS_WRITE(pDev, SPW_STATUS_TO | SPW_STATUS_CE | SPW_STATUS_ER | SPW_STATUS_DE | SPW_STATUS_PE | SPW_STATUS_WE | SPW_STATUS_IA | SPW_STATUS_EE); /*clear status*/ + + /* Add extra writes to make sure we wait the number of clocks required + * after reset + */ + SPW_STATUS_WRITE(pDev, SPW_STATUS_TO | SPW_STATUS_CE | SPW_STATUS_ER | SPW_STATUS_DE | SPW_STATUS_PE | + SPW_STATUS_WE | SPW_STATUS_IA | SPW_STATUS_EE); /*clear status*/ + SPW_STATUS_WRITE(pDev, SPW_STATUS_TO | SPW_STATUS_CE | SPW_STATUS_ER | SPW_STATUS_DE | SPW_STATUS_PE | + SPW_STATUS_WE | SPW_STATUS_IA | SPW_STATUS_EE); /*clear status*/ + SPW_STATUS_WRITE(pDev, SPW_STATUS_TO | SPW_STATUS_CE | SPW_STATUS_ER | SPW_STATUS_DE | SPW_STATUS_PE | + SPW_STATUS_WE | SPW_STATUS_IA | SPW_STATUS_EE); /*clear status*/ + SPW_STATUS_WRITE(pDev, SPW_STATUS_TO | SPW_STATUS_CE | SPW_STATUS_ER | SPW_STATUS_DE | SPW_STATUS_PE | + SPW_STATUS_WE | SPW_STATUS_IA | SPW_STATUS_EE); /*clear status*/ + SPW_CTRL_WRITE(pDev, SPW_CTRL_LINKSTART); /*start link core*/ } |