This updates the implementation of the LEON3 processor power-down function.
It now contains the workaround for the GR712RC power-down errata described in GR712RC-UM, version 2.16, section 1.7.8. The workaround is compatible with other LEON3/LEON4 components. Update #4875. --- bsps/sparc/leon3/start/bspidle.S | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/bsps/sparc/leon3/start/bspidle.S b/bsps/sparc/leon3/start/bspidle.S index 82c04a231d..cbba6dda78 100644 --- a/bsps/sparc/leon3/start/bspidle.S +++ b/bsps/sparc/leon3/start/bspidle.S @@ -34,14 +34,24 @@ #include <rtems/asm.h> -/* LEON specific power-down function */ +/* + * LEON specific power-down function + * + * This implementation contains the workaround for the GR712RC + * power-down errata described in GR712RC-UM, version 2.16, section + * 1.7.8. The workaround is compatible with other LEON3 components. + */ .align 4 PUBLIC(bsp_idle_thread) PUBLIC(leon3_power_down_loop) SYM(bsp_idle_thread): SYM(leon3_power_down_loop): -pwdloop: mov %g0, %asr19 - lda [%sp] 1, %g0 ! Needed for UT699 and GR712 +pwdloop: + set 0xfffffff0, %o0 + .align 32 + mov %g0, %asr19 + lda [%o0] 0x1c, %g0 + .align 32 ba,a pwdloop nop -- 2.34.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel