File tree Expand file tree Collapse file tree 3 files changed +15
-2
lines changed Expand file tree Collapse file tree 3 files changed +15
-2
lines changed Original file line number Diff line number Diff line change 48
48
#define CLKDM_NO_AUTODEPS (1 << 4)
49
49
#define CLKDM_ACTIVE_WITH_MPU (1 << 5)
50
50
#define CLKDM_MISSING_IDLE_REPORTING (1 << 6)
51
+ #define CLKDM_STANDBY_FORCE_WAKEUP BIT(7)
51
52
52
53
#define CLKDM_CAN_HWSUP (CLKDM_CAN_ENABLE_AUTO | CLKDM_CAN_DISABLE_AUTO)
53
54
#define CLKDM_CAN_SWSUP (CLKDM_CAN_FORCE_SLEEP | CLKDM_CAN_FORCE_WAKEUP)
Original file line number Diff line number Diff line change @@ -19,7 +19,7 @@ static struct clockdomain l4ls_am33xx_clkdm = {
19
19
.pwrdm = { .name = "per_pwrdm" },
20
20
.cm_inst = AM33XX_CM_PER_MOD ,
21
21
.clkdm_offs = AM33XX_CM_PER_L4LS_CLKSTCTRL_OFFSET ,
22
- .flags = CLKDM_CAN_SWSUP ,
22
+ .flags = CLKDM_CAN_SWSUP | CLKDM_STANDBY_FORCE_WAKEUP ,
23
23
};
24
24
25
25
static struct clockdomain l3s_am33xx_clkdm = {
Original file line number Diff line number Diff line change 20
20
#include "cm-regbits-34xx.h"
21
21
#include "cm-regbits-33xx.h"
22
22
#include "prm33xx.h"
23
+ #if IS_ENABLED (CONFIG_SUSPEND )
24
+ #include <linux/suspend.h>
25
+ #endif
23
26
24
27
/*
25
28
* CLKCTRL_IDLEST_*: possible values for the CM_*_CLKCTRL.IDLEST bitfield:
@@ -328,8 +331,17 @@ static int am33xx_clkdm_clk_disable(struct clockdomain *clkdm)
328
331
{
329
332
bool hwsup = false;
330
333
334
+ #if IS_ENABLED (CONFIG_SUSPEND )
335
+ /*
336
+ * In case of standby, Don't put the l4ls clk domain to sleep.
337
+ * Since CM3 PM FW doesn't wake-up/enable the l4ls clk domain
338
+ * upon wake-up, CM3 PM FW fails to wake-up th MPU.
339
+ */
340
+ if (pm_suspend_target_state == PM_SUSPEND_STANDBY &&
341
+ (clkdm -> flags & CLKDM_STANDBY_FORCE_WAKEUP ))
342
+ return 0 ;
343
+ #endif
331
344
hwsup = am33xx_cm_is_clkdm_in_hwsup (clkdm -> cm_inst , clkdm -> clkdm_offs );
332
-
333
345
if (!hwsup && (clkdm -> flags & CLKDM_CAN_FORCE_SLEEP ))
334
346
am33xx_clkdm_sleep (clkdm );
335
347
You can’t perform that action at this time.
0 commit comments