The M6 clock from the core DPLL supplies a clock to the debug domain. After the core DPLL is locked, the M6 clock appears to stop if clock gating has been *disabled* for that output (reason unknown). This breaks JTAG debugging.
This patch enables clock gating on M6_DPLL_CORE before locking the core DPLL, so the debugger continues to work.
On Fri, Jan 28, 2011 at 11:00 AM, Aaron Carroll <aar...@cse.unsw.edu.au> wrote: > The M6 clock from the core DPLL supplies a clock to the debug domain. > After the core DPLL is locked, the M6 clock appears to stop if clock > gating has been *disabled* for that output (reason unknown). This > breaks JTAG debugging.
> This patch enables clock gating on M6_DPLL_CORE before locking the > core DPLL, so the debugger continues to work.
I discovered this issue a couple of days ago and posted to an internal mailing list. We don't yet have a clear understanding of why enabling autoidle makes things work. I've also noticed that you only need to enable autoidle once; you could disable autoidle later and should still be able to connect with the JTAG. We'll need a while to get to the bottom of this.
Meanwhile I'll go merge the patch in a bit so folks trying to get JTAG up and running are unblocked.