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 <kirue@qualcomm.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/90690
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Kirubakaran E 2026-01-06 20:54:08 -08:00 committed by Subrata Banik
commit 7deb82d744

View file

@ -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 */