diff options
author | Stefan Agner <stefan.agner@toradex.com> | 2017-03-03 19:53:08 -0800 |
---|---|---|
committer | Oleksandr Suvorov <oleksandr.suvorov@toradex.com> | 2021-01-27 11:03:28 +0200 |
commit | f8d9a75b828034381f6acb2696d89de6c75517c4 (patch) | |
tree | f9e32045fcaa04ac420a8b32377d6a0283ccf5ef /arch/arm/mach-imx | |
parent | d960b7ba6db66fd24cc97c83ea5688dd91350af1 (diff) |
ARM: imx: mu: let Cortex-M4 know about A7 state
Introduce two new messages to let the Cortex-M4 know in what
state the Linux system is in.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
(cherry picked from commit a86db1f7117a62019106e343ff894c6bd4da053d)
(cherry picked from commit 44be297f22261a4cd6c725213333eabf7ddcf491)
Diffstat (limited to 'arch/arm/mach-imx')
-rw-r--r-- | arch/arm/mach-imx/mu.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/arm/mach-imx/mu.c b/arch/arm/mach-imx/mu.c index 1a250b07b256..f8844e6a3bee 100644 --- a/arch/arm/mach-imx/mu.c +++ b/arch/arm/mach-imx/mu.c @@ -37,6 +37,8 @@ #define MU_LPM_HANDSHAKE_INDEX 0 #define MU_RPMSG_HANDSHAKE_INDEX 1 +#define MU_LPM_M4_LPM_READY 0xFFFF4444 +#define MU_LPM_M4_LPM_SLEEP 0xFFFF5555 #define MU_LPM_BUS_HIGH_READY_FOR_M4 0xFFFF6666 #define MU_LPM_M4_FREQ_CHANGE_READY 0xFFFF7777 #define MU_LPM_M4_REQUEST_HIGH_BUS 0x2222CCCC @@ -279,10 +281,13 @@ int imx_mu_lpm_ready(bool ready) writel_relaxed(val & ~BIT(0), mu_base + MX7ULP_MU_CR); } else { val = readl_relaxed(mu_base + MU_ACR); - if (ready) + if (ready) { + imx_mu_send_message(MU_LPM_HANDSHAKE_INDEX, MU_LPM_M4_LPM_READY); writel_relaxed(val | BIT(0), mu_base + MU_ACR); - else + } else { + imx_mu_send_message(MU_LPM_HANDSHAKE_INDEX, MU_LPM_M4_LPM_SLEEP); writel_relaxed(val & ~BIT(0), mu_base + MU_ACR); + } } return 0; } |