#include <linux/platform_device.h>
#include <linux/pm_opp.h>
enum scmi_performance_protocol_cmd {
PERF_DOMAIN_ATTRIBUTES = 0x3,
PERF_DESCRIBE_LEVELS = 0x4,
PERF_NOTIFY_LIMITS = 0x9,
struct scmi_msg_resp_perf_attributes {
#define POWER_SCALE_IN_MILLIWATT(x) ((x) & BIT(0))
struct scmi_msg_resp_perf_domain_attributes {
#define SUPPORTS_SET_LIMITS(x) ((x) & BIT(31))
#define SUPPORTS_SET_PERF_LVL(x) ((x) & BIT(30))
#define SUPPORTS_PERF_LIMIT_NOTIFY(x) ((x) & BIT(29))
#define SUPPORTS_PERF_LEVEL_NOTIFY(x) ((x) & BIT(28))
__le32 sustained_freq_khz;
__le32 sustained_perf_level;
u8 name[SCMI_MAX_STR_SIZE];
struct scmi_msg_perf_describe_levels {
struct scmi_perf_set_limits {