From 7deb82d7444be2860e0e50b49dbb67986c459459 Mon Sep 17 00:00:00 2001 From: Kirubakaran E Date: Tue, 6 Jan 2026 20:54:08 -0800 Subject: [PATCH] mb/google/bluey: Configure QUPV3_0_SE3 and QUPV3_0_SE7 for USB-C0 and USB-C1 Retimer I2C access Load I2C firmware to QUPV3_0_SE3 and QUPV3_0_SE7 Serial Engines and configure both in MIXED mode to enable I2C access for USB-C0 and USB-C1 retimers. Test= 1. Created image.serial.bin and verified successful boot on X1P42100. 2. Read the corresponding QUP SE firmware revision read-only register and confirmed that the protocol field (bits 8-15) matches the programmed value. Register details are in HRD-X1P42100-S1 documentation: https://docs.qualcomm.com/bundle/resource/topics/HRD-X1P42100-S1/ Example:If programmed as I2C, the register value read is 0x00000303, where 3 denotes the I2C protocol. Change-Id: I337329628ac04246ab579e062a802a028cb4c560 Signed-off-by: Kirubakaran E Reviewed-on: https://review.coreboot.org/c/coreboot/+/90690 Reviewed-by: Subrata Banik Tested-by: build bot (Jenkins) --- src/mainboard/google/bluey/mainboard.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/mainboard/google/bluey/mainboard.c b/src/mainboard/google/bluey/mainboard.c index 9f958a1862..b93b4188db 100644 --- a/src/mainboard/google/bluey/mainboard.c +++ b/src/mainboard/google/bluey/mainboard.c @@ -122,6 +122,12 @@ static void mainboard_init(struct device *dev) /* ADSP I2C (Charger/Fuel gauge) */ qupv3_se_fw_load_and_init(QUPV3_2_SE4, SE_PROTOCOL_I2C, GSI); + /* USB-C0 Re-Timer I2C */ + qupv3_se_fw_load_and_init(QUPV3_0_SE3, SE_PROTOCOL_I2C, MIXED); + + /* USB-C1 Re-Timer I2C */ + qupv3_se_fw_load_and_init(QUPV3_0_SE7, SE_PROTOCOL_I2C, MIXED); + if (!CONFIG(MAINBOARD_NO_USB_A_PORT)) qupv3_se_fw_load_and_init(QUPV3_0_SE1, SE_PROTOCOL_I2C, MIXED); /* USB-A retimer */ qupv3_se_fw_load_and_init(QUPV3_0_SE5, SE_PROTOCOL_I2C, MIXED); /* eUSB repeater */