AnsweredAssumed Answered

How can I use uart.1 to wake up system?

Question asked by billyhe on Jan 13, 2013
Latest reply on Oct 11, 2014 by Jith CR

I'm use i.mx53. When I read the iMX53RM.pdf document, from the Table 3-1, the irq = 31 is uart-1, it's that meat set the irq can wake up system, so I modify the code in arch/arm/mach-mx5/mx53_loco.c like this:

 

static void loco_da9053_irq_wakeup_only_fixup(void)

{

void __iomem *tzic_base;

tzic_base = ioremap(MX53_TZIC_BASE_ADDR, SZ_4K);

if (NULL == tzic_base) {

  pr_err("fail to map MX53_TZIC_BASE_ADDR\n");

  return;

}

// __raw_writel(0, tzic_base + TZIC_WAKEUP0_OFFSET);

__raw_writel(1 << 31, tzic_base + TZIC_WAKEUP0_OFFSET);

__raw_writel(0, tzic_base + TZIC_WAKEUP1_OFFSET);

__raw_writel(0, tzic_base + TZIC_WAKEUP2_OFFSET);

/* only enable irq wakeup for da9053 */

__raw_writel(GPIO7_0_11_IRQ_BIT, tzic_base + TZIC_WAKEUP3_OFFSET);

iounmap(tzic_base);

pr_info("only da9053 irq is wakeup-enabled\n");

}

 

But not work, can anybody tell me how to do? Thanks!!

Outcomes