Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

phy: qualcomm: eusb2-repeater: Add SMB2370 eUSB2 repeater support

Introduce support for the SMB2370 based eUSB2 repeater. Configure the
proper repeater tuning settings, as if this is not done correctly, it
can lead to instability on the USB2 link, which leads to USB2
enumeration failures, or random disconnects.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Wesley Cheng <wesley.cheng@oss.qualcomm.com>
Link: https://patch.msgid.link/20251209-linux-next-12825-v8-5-42133596bda0@oss.qualcomm.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>

authored by

Wesley Cheng and committed by
Vinod Koul
851dd2c9 18da9912

+18
+18
drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c
··· 75 75 { EUSB2_TUNE_USB2_PREEM, 0x2 }, 76 76 }; 77 77 78 + static const struct eusb2_repeater_init_tbl_reg smb2370_init_tbl[] = { 79 + { EUSB2_TUNE_IUSB2, 0x4 }, 80 + { EUSB2_TUNE_SQUELCH_U, 0x3 }, 81 + { EUSB2_TUNE_USB2_SLEW, 0x7 }, 82 + { EUSB2_TUNE_USB2_PREEM, 0x0 }, 83 + }; 84 + 78 85 static const struct eusb2_repeater_cfg pm8550b_eusb2_cfg = { 79 86 .init_tbl = pm8550b_init_tbl, 80 87 .init_tbl_num = ARRAY_SIZE(pm8550b_init_tbl), ··· 100 93 static const struct eusb2_repeater_cfg smb2360_eusb2_cfg = { 101 94 .init_tbl = smb2360_init_tbl, 102 95 .init_tbl_num = ARRAY_SIZE(smb2360_init_tbl), 96 + .vreg_list = pm8550b_vreg_l, 97 + .num_vregs = ARRAY_SIZE(pm8550b_vreg_l), 98 + }; 99 + 100 + static const struct eusb2_repeater_cfg smb2370_eusb2_cfg = { 101 + .init_tbl = smb2370_init_tbl, 102 + .init_tbl_num = ARRAY_SIZE(smb2370_init_tbl), 103 103 .vreg_list = pm8550b_vreg_l, 104 104 .num_vregs = ARRAY_SIZE(pm8550b_vreg_l), 105 105 }; ··· 291 277 { 292 278 .compatible = "qcom,smb2360-eusb2-repeater", 293 279 .data = &smb2360_eusb2_cfg, 280 + }, 281 + { 282 + .compatible = "qcom,smb2370-eusb2-repeater", 283 + .data = &smb2370_eusb2_cfg, 294 284 }, 295 285 { }, 296 286 };