• Tony Lindgren's avatar
    serial: omap: Add support for optional wake-up · 2a0b965c
    Tony Lindgren authored
    With the recent pinctrl-single changes, omaps can treat
    wake-up events from deeper idle states as interrupts.
    
    There's a separate "io chain" controller on most omaps
    that stays enabled when the device hits off-idle and the
    regular interrupt controller is powered off.
    
    Let's add support for the optional second interrupt for
    wake-up events. And then serial-omap can manage the
    wake-up interrupt from it's runtime PM calls to avoid
    spurious interrupts during runtime.
    
    Note that the wake interrupt is board specific as it
    uses the UART RX pin, and for omap3, there are six pin
    options for UART3 RX pin.
    
    Also Note that the legacy platform based booting handles
    the wake-ups in the legacy mux driver and does not need to
    pass the wake-up interrupt to the driver.
    
    And finally, to pass the wake-up interrupt in the dts file,
    either interrupt-map or the pending interrupts-extended
    property needs to be passed. It's probably best to use
    interrupts-extended when it's available.
    
    Cc: Felipe Balbi <balbi@ti.com>
    Cc: Kevin Hilman <khilman@linaro.org>
    Cc: Linus Walleij <linus.walleij@linaro.org>
    Reviewed-by: default avatarFelipe Balbi <balbi@ti.com>
    Reviewed-by: default avatarRoger Quadros <rogerq@ti.com>
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    2a0b965c
omap-serial.c 48.6 KB