diff options
author | Karthikeyan Ramasubramanian <kramasub@google.com> | 2024-10-30 15:43:06 -0600 |
---|---|---|
committer | Karthik Ramasubramanian <kramasub@google.com> | 2024-11-05 00:21:11 +0000 |
commit | 2e52f863adccab359fad7ad61ced9fdc249fff3a (patch) | |
tree | fd7c4c620a1b0afb2b87478f0a3af3efd2fc6b09 /src/ec | |
parent | c7bca700c8dbbdfaf47a27f287bbbab30a72313a (diff) |
ec/google/chromeec: Add API to get PD Chip info
Add API to get Power Delivery (PD) Chip info which includes vendor ID,
product ID and firmware version(if any).
BUG=None
TEST=Build Brox BIOS image and boot to OS.
Change-Id: I4cc4493ac64d44076877fee633488c95cd09807e
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84936
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nick Vaccaro <nvaccaro@google.com>
Diffstat (limited to 'src/ec')
-rw-r--r-- | src/ec/google/chromeec/ec.c | 11 | ||||
-rw-r--r-- | src/ec/google/chromeec/ec.h | 12 |
2 files changed, 23 insertions, 0 deletions
diff --git a/src/ec/google/chromeec/ec.c b/src/ec/google/chromeec/ec.c index 2ef2ea90d5..38f7e87b81 100644 --- a/src/ec/google/chromeec/ec.c +++ b/src/ec/google/chromeec/ec.c @@ -1170,6 +1170,17 @@ int google_chromeec_get_num_pd_ports(unsigned int *num_ports) return 0; } +int google_chromeec_get_pd_chip_infoi(int port, int renew, + struct ec_response_pd_chip_info *r) +{ + const struct ec_params_pd_chip_info p = { + .port = port, + .live = renew, + }; + + return ec_cmd_pd_chip_info(PLAT_EC, &p, r); +} + int google_chromeec_get_pd_port_caps(int port, struct usb_pd_port_caps *port_caps) { diff --git a/src/ec/google/chromeec/ec.h b/src/ec/google/chromeec/ec.h index 20b508c66a..5a65f2dee7 100644 --- a/src/ec/google/chromeec/ec.h +++ b/src/ec/google/chromeec/ec.h @@ -337,6 +337,18 @@ int google_chromeec_get_cmd_versions(int command, uint32_t *pmask); */ int google_chromeec_get_num_pd_ports(unsigned int *num_ports); +/** + * Return a port's PD chip information. + * + * @param port The desired port number + * @param renew Refresh cached value + * @param r Result buffer for chip info + * + * @return 0 if ok, -1 on error + */ +int google_chromeec_get_pd_chip_infoi(int port, int renew, + struct ec_response_pd_chip_info *r); + /* Structure representing the capabilities of a USB-PD port */ struct usb_pd_port_caps { enum ec_pd_power_role_caps power_role_cap; |