• Govindraj.R's avatar
    OMAP2+: UART: Add mechanism to probe uart pins and configure rx wakeup · 91930652
    Govindraj.R authored
    The commit (bce492c0  ARM: OMAP2+: UART: Fix incorrect population of
    default uart pads) removed default uart pads that where getting populated
    and which was making rx pin wakeup capable. If uart pads were used in
    different mode by any other module then it would fail since the default
    pads took over all the uart pins forcefully. With removal of default pads
    the rx_pad wakeup for console uart while waking up from off mode is broken.
    
    Utilise the mux api available to probe the availability of mux pins
    in uart mode and probe for availability of uart pin in mux mode0
    if uart is available as uart pin itself then configure rx pin
    as wakeup capable.
    
    This patch itself doesn't cater to all boards. Boards using uart rx wakeup
    mechanism should ensure the usage of omap_serial_init_port by configuring
    required uart ports and pass necessary mux data, till then this probing of
    uart pins can cater to enabling of rx pad wakeup to most of the boards.
    
    This patch can also throw some boot warning from _omap_mux_get_by_name
    if pin is requested for availability is not present while dynamically probing
    the uart pins availability such boot warnings can be addressed only when board
    files are patched with omap_serial_init_port calls passing the right pads
    needed for a given port.
    
    Discussion Threads for reference:
    http://www.spinics.net/lists/linux-omap/msg69859.html
    http://www.spinics.net/lists/linux-omap/msg68659.html
    
    Cc: Felipe Balbi <balbi@ti.com>
    Cc: Kevin Hilman <khilman@ti.com>
    Cc: Russ Dill <russ.dill@gmail.com>
    Cc: Paul Walmsley <paul@pwsan.com>
    Cc: Ameya Palande <ameya.palande@ti.com>
    Signed-off-by: default avatarGovindraj.R <govindraj.raja@ti.com>
    [tony@atomide.com: updated to fix compile when CONFIG_OMAP_MUX is not set]
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    91930652
mux.c 26 KB