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 fcef0c21502d8d74e738062e21b9eaeecde03960..7a65d9fcc67f4164908f095f15547ccbd086612f 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