ppc4xx: Disable trace broadcast for 44x non debug mode
authorVictor Gallardo <vgallardo@apm.com>
Thu, 16 Sep 2010 18:32:04 +0000 (11:32 -0700)
committerStefan Roese <sr@denx.de>
Thu, 23 Sep 2010 07:02:06 +0000 (09:02 +0200)
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 <vgallardo@apm.com>
Signed-off-by: Stefan Roese <sr@denx.de>
arch/powerpc/cpu/ppc4xx/start.S

index fcef0c2..7a65d9f 100644 (file)
@@ -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