pinctrl: qcom: Use TLMM and PDC for dual edge wakeup interrupts
Although PDC has the capability to route falling edge interrupt to GIC by inverting the input signal, falling edge of the interrupts marked as dual edge type is routed as is. This causes GIC to ignore to falling edge of these interrupts when the system is active. During APSS system sleep once PDC starts monitoring these interrupts, PDC always replays a rising edge irrespective of which edge woke the APSS from sleep. So, the issue does not happen during the system sleep. To address the issue when system is active, route the falling_edge of these interrupts through one of the direct connect interrupts available for APSS. The original GIC interrupt is configured as dual edge at PDC, rising edge at GIC (same as earlier, this does not change). This solution requires additional programming of 2 registers: TLMM_<ZONE>_DIR_CONN_INTRn_CFG_HMSS - program GPIO_SEL with the gpio number and set POLAIRTY to 0 for inverting the falling edge TLMM_GPIO_INTR_CFGn - set DIR_CONN_EN bit to 1 for enabling direct connect for gpio. Change-Id: Iaa9dfe391ef4942cd8b12fd1e7d8f9c238947af2 Signed-off-by:Archana Sathyakumar <asathyak@codeaurora.org> Signed-off-by:
Maulik Shah <mkshah@codeaurora.org>
Loading
Please register or sign in to comment