• Marc Zyngier's avatar
    ARM: omap: convert wakeupgen to stacked domains · 7136d457
    Marc Zyngier authored
    OMAP4/5 has been (ab)using the gic_arch_extn to provide
    wakeup from suspend, and it makes a lot of sense to convert
    this code to use stacked domains instead.
    
    This patch does just this, updating the DT files to actually
    reflect what the HW provides.
    
    BIG FAT WARNING: because the DTs were so far lying by not
    exposing the WUGEN HW block, kernels with this patch applied
    won't have any suspend-resume facility when booted with old DTs,
    and old kernels with updated DTs won't even boot.
    
    On a platform with this patch applied, the system looks like
    this:
    
    root@bacon-fat:~# cat /proc/interrupts
                CPU0       CPU1
     16:          0          0     WUGEN  37  gp_timer
     19:     233799     155916       GIC  27  arch_timer
     23:          0          0     WUGEN   9  l3-dbg-irq
     24:          1          0     WUGEN  10  l3-app-irq
     27:        282          0     WUGEN  13  omap-dma-engine
     44:          0          0  4ae10000.gpio  13  DMA
    294:          0          0     WUGEN  20  gpmc
    297:        506          0     WUGEN  56  48070000.i2c
    298:          0          0     WUGEN  57  48072000.i2c
    299:          0          0     WUGEN  61  48060000.i2c
    300:          0          0     WUGEN  62  4807a000.i2c
    301:          8          0     WUGEN  60  4807c000.i2c
    308:       2439          0     WUGEN  74  OMAP UART2
    312:        362          0     WUGEN  83  mmc2
    313:        502          0     WUGEN  86  mmc0
    314:         13          0     WUGEN  94  mmc1
    350:          0          0      PRCM  pinctrl, pinctrl
    406:   35155709          0       GIC 109  ehci_hcd:usb1
    407:          0          0     WUGEN   7  palmas
    409:          0          0     WUGEN 119  twl6040
    410:          0          0   twl6040   5  twl6040_irq_ready
    411:          0          0   twl6040   0  twl6040_irq_th
    IPI0:          0          1  CPU wakeup interrupts
    IPI1:          0          0  Timer broadcast interrupts
    IPI2:      95334     902334  Rescheduling interrupts
    IPI3:          0          0  Function call interrupts
    IPI4:        479        648  Single function call interrupts
    IPI5:          0          0  CPU stop interrupts
    IPI6:          0          0  IRQ work interrupts
    IPI7:          0          0  completion interrupts
    Err:          0
    Acked-by: default avatarTony Lindgren <tony@atomide.com>
    Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    Link: https://lkml.kernel.org/r/1426088629-15377-8-git-send-email-marc.zyngier@arm.comSigned-off-by: default avatarJason Cooper <jason@lakedaemon.net>
    7136d457
omap4-duovero.dtsi 7.12 KB