Commit 49fd6d07 authored by Jon Medhurst's avatar Jon Medhurst Committed by Sandrine Bailleux
Browse files

juno: Implement SCPI Set CSS Power State command


Signed-off-by: default avatarJon Medhurst <tixy@linaro.org>
parent 378d73fb
......@@ -112,3 +112,14 @@ int scpi_wait_ready(void)
return response == SCP_OK ? 0 : -1;
}
void scpi_set_css_power_state(unsigned mpidr, scpi_power_state cpu_state,
scpi_power_state cluster_state, scpi_power_state css_state)
{
uint32_t state = mpidr & 0x0f; /* CPU ID */
state |= (mpidr & 0xf00) >> 4; /* Cluster ID */
state |= cpu_state << 8;
state |= cluster_state << 12;
state |= css_state << 16;
scpi_secure_send32(SCPI_CMD_SET_CSS_POWER_STATE, state);
}
......@@ -58,8 +58,17 @@ typedef uint32_t spci_status;
typedef enum {
SCPI_CMD_SCP_READY = 0x01,
SCPI_CMD_SET_CSS_POWER_STATE = 0x04,
} spci_command;
typedef enum {
scpi_power_on = 0,
scpi_power_retention = 1,
scpi_power_off = 3,
} scpi_power_state;
extern int scpi_wait_ready(void);
extern void scpi_set_css_power_state(unsigned mpidr, scpi_power_state cpu_state,
scpi_power_state cluster_state, scpi_power_state css_state);
#endif /* __SCPI_H__ */
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment