Chris, On Tue, Apr 14, 2015 at 10:57 PM, Chris Zhong <[email protected]> wrote: > Reset dapswjdp is controlled by JTAG_TRSTN, if the iomux of this pin is > not "jtag_trstn". the AP would think this pin is always high, so it can > not reset before resume. When system resume, but the dapswjdp is not in > a default state, it may Access some illegal address, it cause system > crash during resume. > Let's disable this jtag function by clear the dapdeviceen bit, it > prohibit the dapswjdp to access memory and registers. This bit would > be enable in MASKROM, so we need clear it in suspend everytime. > > Signed-off-by: Chris Zhong <[email protected]> > > --- > > arch/arm/mach-rockchip/pm.c | 7 +++++++ > arch/arm/mach-rockchip/pm.h | 4 ++++ > 2 files changed, 11 insertions(+)
I can't say that I understand 100% of the interactions here, but I don't think anyone without full access to the MaskROM code would be able to understand this fully. ...but this seems sane to me. I guess disabling it here and then enabling it in the MaskROM will effectively give it a good reset so we're all good. Reviewed-by: Doug Anderson <[email protected]> I'll trust your testing on this, since you have actual machines that reproduce the issue. -Doug -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

