From: Victor Gallardo Date: Thu, 16 Sep 2010 18:32:04 +0000 (-0700) Subject: ppc4xx: Disable trace broadcast for 44x non debug mode X-Git-Tag: v2010.12-rc1~174^2~11 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=ad876fff342c67ca4536f7e2fec44c99498d8889;p=oweals%2Fu-boot.git ppc4xx: Disable trace broadcast for 44x non debug mode By default the trace broadcast is enabled on 44x systems. To reduce power consumption when instruction tracing is not needed, disable trace broadcast. Check External Debug Mode (EDM) bit to detect if it should be disabled or not. Resetting system via a debugger will set the DBCR0[EDM] bit. Resetting via u-boot or OS will not. Signed-off-by: Victor Gallardo Signed-off-by: Stefan Roese --- diff --git a/arch/powerpc/cpu/ppc4xx/start.S b/arch/powerpc/cpu/ppc4xx/start.S index fcef0c2150..7a65d9fcc6 100644 --- a/arch/powerpc/cpu/ppc4xx/start.S +++ b/arch/powerpc/cpu/ppc4xx/start.S @@ -340,6 +340,9 @@ _start_440: mfspr r1,SPRN_DBCR0 andis. r1, r1, 0x8000 /* test DBCR0[EDM] bit */ bne skip_debug_init /* if set, don't clear debug register */ + mfspr r1,SPRN_CCR0 + ori r1,r1,CCR0_DTB@l /* Disable Trace Broadcast */ + mtspr SPRN_CCR0,r1 mtspr SPRN_DBCR0,r0 mtspr SPRN_DBCR1,r0 mtspr SPRN_DBCR2,r0