Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 19ca5d27 authored by Russell King's avatar Russell King Committed by Russell King
Browse files

[ARM] Allow SA1100 RTC alarm to be configured for wakeup



The SA1100 RTC alarm can be configured to wake up the CPU
from sleep mode, and the RTC driver has been using the
API to configure this mode.  Unfortunately, the code was
which sets the required bit in the hardware was missing.

Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 5528e568
Loading
Loading
Loading
Loading
+16 −0
Original line number Original line Diff line number Diff line
@@ -199,10 +199,26 @@ static void sa1100_unmask_irq(unsigned int irq)
	ICMR |= (1 << irq);
	ICMR |= (1 << irq);
}
}


/*
 * Apart form GPIOs, only the RTC alarm can be a wakeup event.
 */
static int sa1100_set_wake(unsigned int irq, unsigned int on)
{
	if (irq == IRQ_RTCAlrm) {
		if (on)
			PWER |= PWER_RTC;
		else
			PWER &= ~PWER_RTC;
		return 0;
	}
	return -EINVAL;
}

static struct irqchip sa1100_normal_chip = {
static struct irqchip sa1100_normal_chip = {
	.ack		= sa1100_mask_irq,
	.ack		= sa1100_mask_irq,
	.mask		= sa1100_mask_irq,
	.mask		= sa1100_mask_irq,
	.unmask		= sa1100_unmask_irq,
	.unmask		= sa1100_unmask_irq,
	.set_wake	= sa1100_set_wake,
};
};


static struct resource irq_resource = {
static struct resource irq_resource = {