From 08c5b95b6f924783b4383ece03ddb12879a9b19a Mon Sep 17 00:00:00 2001 From: Aseda Aboagye Date: Mon, 12 Apr 2021 11:13:41 -0700 Subject: dedede: Add USB SS MUX to SSFC This commit adds a new 3-bit field to the SSFC to accommodate multiple USB SuperSpeed muxes. The first of these variants is the Parade PS8743B. BUG=b:184706456 BRANCH=dedede TEST=`make -j BOARD=sasuke` Signed-off-by: Aseda Aboagye Change-Id: Ie9bc0b6665efd8dc493bb4a7c0bce787fbfdeb21 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2821600 Reviewed-by: YongBeum.Ha Reviewed-by: Diana Z Tested-by: YongBeum.Ha Commit-Queue: Aseda Aboagye Auto-Submit: Aseda Aboagye --- baseboard/dedede/cbi_ssfc.c | 4 ++++ baseboard/dedede/cbi_ssfc.h | 20 +++++++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) (limited to 'baseboard') diff --git a/baseboard/dedede/cbi_ssfc.c b/baseboard/dedede/cbi_ssfc.c index d49e1b0843..346da842d5 100644 --- a/baseboard/dedede/cbi_ssfc.c +++ b/baseboard/dedede/cbi_ssfc.c @@ -35,3 +35,7 @@ enum ec_ssfc_lid_sensor get_cbi_ssfc_lid_sensor(void) return cached_ssfc.lid_sensor; } +enum ec_ssfc_usb_ss_mux get_cbi_ssfc_usb_ss_mux(void) +{ + return cached_ssfc.usb_ss_mux; +} diff --git a/baseboard/dedede/cbi_ssfc.h b/baseboard/dedede/cbi_ssfc.h index b3803d0b18..92ab06c646 100644 --- a/baseboard/dedede/cbi_ssfc.h +++ b/baseboard/dedede/cbi_ssfc.h @@ -31,11 +31,21 @@ enum ec_ssfc_lid_sensor { SSFC_SENSOR_KX022 = 2 }; +/* + * USB SuperSpeed Mux (Bits 6-8) + */ +enum ec_ssfc_usb_ss_mux { + SSFC_USB_SS_MUX_DEFAULT = 0, + SSFC_USB_SS_MUX_PS8743 = 1, + SSFC_USB_SS_MUX_PI3USBX532 = 2, +}; + union dedede_cbi_ssfc { struct { enum ec_ssfc_base_sensor base_sensor : 3; enum ec_ssfc_lid_sensor lid_sensor : 3; - uint32_t reserved_2 : 26; + enum ec_ssfc_usb_ss_mux usb_ss_mux : 3; + uint32_t reserved_2 : 20; }; uint32_t raw_value; }; @@ -54,4 +64,12 @@ enum ec_ssfc_base_sensor get_cbi_ssfc_base_sensor(void); */ enum ec_ssfc_lid_sensor get_cbi_ssfc_lid_sensor(void); +/** + * Get the USB SuperSpeed Mux type from SSFC_CONFIG + * + * @return the USB SuperSpeed Mux type + */ +enum ec_ssfc_usb_ss_mux get_cbi_ssfc_usb_ss_mux(void); + + #endif /* _DEDEDE_CBI_SSFC__H_ */ -- cgit v1.2.1