bus: ti-sysc: Set ENAWAKEUP if available
authorTony Lindgren <tony@atomide.com>
Mon, 27 May 2019 11:51:55 +0000 (04:51 -0700)
committerTony Lindgren <tony@atomide.com>
Tue, 28 May 2019 12:19:16 +0000 (05:19 -0700)
Some modules have ENAWAKEUP bit that we need to configure when not
relying on platform data callbacks.

Tested-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
drivers/bus/ti-sysc.c

index 4a01464..38573f9 100644 (file)
@@ -895,6 +895,11 @@ static int sysc_enable_module(struct device *dev)
                        dev_err(dev, "%s: invalid sidlemode\n", __func__);
                        return -EINVAL;
                }
+
+               /* Set WAKEUP */
+               if (regbits->enwkup_shift >= 0 &&
+                   ddata->cfg.sysc_val & BIT(regbits->enwkup_shift))
+                       reg |= BIT(regbits->enwkup_shift);
        }
 
        reg &= ~(SYSC_IDLE_MASK << regbits->sidle_shift);