* [PATCH] platform/chrome: cros_ec: add API for power monitoring
@ 2026-08-24 15:55 Daniel Balint
2026-08-25 2:56 ` Tzung-Bi Shih
0 siblings, 1 reply; 2+ messages in thread
From: Daniel Balint @ 2026-08-24 15:55 UTC (permalink / raw)
To: Tzung-Bi Shih
Cc: linux-kernel, chrome-platform, jakiela, hmazur, Benson Leung,
Daniel Balint
Add new EC host command and MKBP event to allow cros_ec_pwrmon
iio devices to query the EC for power monitoring data.
The actual cros_ec_pwrmon driver using this API is currently downstream
and will be upstreamed at a later date. This is a sync between the EC
header and the kernel.
Signed-off-by: Daniel Balint <dbalint@google.com>
---
.../linux/platform_data/cros_ec_commands.h | 72 +++++++++++++++++++
1 file changed, 72 insertions(+)
diff --git a/include/linux/platform_data/cros_ec_commands.h b/include/linux/platform_data/cros_ec_commands.h
index 749d985e9da2..a7bd69d83522 100644
--- a/include/linux/platform_data/cros_ec_commands.h
+++ b/include/linux/platform_data/cros_ec_commands.h
@@ -1344,6 +1344,26 @@ enum ec_feature_code {
* The EC supports UCSI PPM.
*/
EC_FEATURE_UCSI_PPM = 54,
+ /*
+ * The EC supports Strauss keyboard.
+ */
+ EC_FEATURE_STRAUSS = 55,
+ /*
+ * The EC supports PoE.
+ */
+ EC_FEATURE_POE = 56,
+ /*
+ * The EC supports a hybrid boost charger
+ */
+ EC_FEATURE_CHARGER_HYBRID_POWER_BOOST = 57,
+ /*
+ * Support signaling new console logs via host event
+ */
+ EC_FEATURE_CONSOLE_LOG_EVENT = 58,
+ /*
+ * The EC supports power monitoring
+ */
+ EC_FEATURE_PWRMON = 59,
};
#define EC_FEATURE_MASK_0(event_code) BIT(event_code % 32)
@@ -3516,6 +3536,9 @@ enum ec_mkbp_event {
/* Peripheral device charger event */
EC_MKBP_EVENT_PCHG = 12,
+ /* Power monitor telemetry event */
+ EC_MKBP_EVENT_PWRMON = 13,
+
/* Number of MKBP events */
EC_MKBP_EVENT_COUNT,
};
@@ -3599,6 +3622,12 @@ union __ec_align_offset1 ec_response_get_next_data_v3 {
uint32_t cec_events;
uint8_t cec_message[16];
+
+ struct __ec_todo_packed {
+ int64_t value;
+ uint32_t samples;
+ uint8_t channel_id;
+ } pwrmon_data;
};
BUILD_ASSERT(sizeof(union ec_response_get_next_data_v3) == 18);
@@ -6589,6 +6618,49 @@ struct ec_params_usb_pd_mux_ack {
uint8_t port; /* USB-C port number */
} __ec_align1;
+/**
+ * Power monitoring. Used to read power consumptions on rails
+ */
+#define EC_CMD_PWRMON 0x0608
+
+enum ec_pwrmon_cmd {
+ EC_PWRMON_GET_CHANNEL_COUNT = 0,
+ EC_PWRMON_DUMP_INFO = 1,
+ EC_PWRMON_SET_RATE = 2,
+ EC_PWRMON_GET_RATE = 3,
+ EC_PWRMON_START = 4,
+ EC_PWRMON_STOP = 5,
+ EC_PWRMON_LATCH = 6,
+};
+
+struct ec_params_pwrmon {
+ uint8_t cmd;
+ union {
+ uint16_t set_rate;
+ uint8_t channel_id;
+ } __ec_align2;
+
+ /*
+ * The following commands have no args:
+ *
+ * start, stop, latch
+ *
+ */
+} __ec_align4;
+
+struct pwrmon_dump_info {
+ uint8_t channel_id;
+ char channel_name[32];
+} __ec_align4;
+
+struct ec_response_pwrmon {
+ union {
+ uint16_t sample_rate;
+ uint8_t channel_count;
+ struct pwrmon_dump_info dump_info;
+ } __ec_align4;
+} __ec_align4;
+
/*****************************************************************************/
/*
* Reserve a range of host commands for board-specific, experimental, or
--
2.55.0.766.g2966f0265a-goog
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] platform/chrome: cros_ec: add API for power monitoring
2026-08-24 15:55 [PATCH] platform/chrome: cros_ec: add API for power monitoring Daniel Balint
@ 2026-08-25 2:56 ` Tzung-Bi Shih
0 siblings, 0 replies; 2+ messages in thread
From: Tzung-Bi Shih @ 2026-08-25 2:56 UTC (permalink / raw)
To: Daniel Balint
Cc: linux-kernel, chrome-platform, jakiela, hmazur, Benson Leung
On Mon, Aug 24, 2026 at 03:55:54PM +0000, Daniel Balint wrote:
> Add new EC host command and MKBP event to allow cros_ec_pwrmon
> iio devices to query the EC for power monitoring data.
> The actual cros_ec_pwrmon driver using this API is currently downstream
> and will be upstreamed at a later date. This is a sync between the EC
> header and the kernel.
>
> Signed-off-by: Daniel Balint <dbalint@google.com>
For my reference,
Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-08-25 2:56 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-24 15:55 [PATCH] platform/chrome: cros_ec: add API for power monitoring Daniel Balint
2026-08-25 2:56 ` Tzung-Bi Shih
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox