diff options
author | Daniel Hellstrom <daniel@gaisler.com> | 2014-05-02 14:28:44 +0200 |
---|---|---|
committer | Daniel Hellstrom <daniel@gaisler.com> | 2014-05-02 14:28:44 +0200 |
commit | 24707a0967ffcee4a3a4bc223265cf61821d93c3 (patch) | |
tree | 2e7cd2d373c6232e52198759b9fd30d763999366 | |
parent | 593afc2549a83e360b1059fdca808fb43e78e837 (diff) |
GRSPW: added clock cycles after GRSPW resetrcc-v1.2.16
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 2e3ae5c37c..2afe28e654 100644 --- a/c/src/lib/libbsp/sparc/shared/spw/grspw.c +++ b/c/src/lib/libbsp/sparc/shared/spw/grspw.c @@ -1693,6 +1693,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*/ } |