20 #define GPC_IMR1 0x008
21 #define GPC_PGC_CPU_PDN 0x2a0
39 writel_relaxed(~gpc_wake_irqs[i], reg_imr1 + i * 4);
52 writel_relaxed(gpc_saved_imrs[i], reg_imr1 + i * 4);
55 static int imx_gpc_irq_set_wake(
struct irq_data *
d,
unsigned int on)
57 unsigned int idx = d->
irq / 32 - 1;
64 mask = 1 << d->
irq % 32;
65 gpc_wake_irqs[
idx] = on ? gpc_wake_irqs[
idx] | mask :
66 gpc_wake_irqs[
idx] & ~mask;
71 static void imx_gpc_irq_unmask(
struct irq_data *d)
82 val &= ~(1 << d->
irq % 32);
83 writel_relaxed(val, reg);
86 static void imx_gpc_irq_mask(
struct irq_data *d)
97 val |= 1 << (d->
irq % 32);
98 writel_relaxed(val, reg);