mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
phy: qcom: qmp-usbc: Add qmp configuration for Shikra
Add init sequence and phy configuration for the Super Speed port on Shikra SoC. Also since Shikra uses 3 resets, add support for the third reset and configure Shikra platform data to use 3 resets. Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://patch.msgid.link/20260712-usb-shikra-phy-v6-v6-4-1b3e51bf1541@oss.qualcomm.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
committed by
Vinod Koul
parent
346121aed2
commit
edb7772bb3
@@ -512,10 +512,14 @@ static const char * const usb3phy_reset_l[] = {
|
||||
"phy_phy", "phy",
|
||||
};
|
||||
|
||||
static const char * const usb3dpphy_reset_l[] = {
|
||||
static const char * const qcs615_usb3dpphy_reset_l[] = {
|
||||
"phy_phy", "dp_phy",
|
||||
};
|
||||
|
||||
static const char * const shikra_usb3dpphy_reset_l[] = {
|
||||
"phy_phy", "dp_phy", "phy",
|
||||
};
|
||||
|
||||
static const struct regulator_bulk_data qmp_phy_msm8998_vreg_l[] = {
|
||||
{ .supply = "vdda-phy", .init_load_uA = 68600 },
|
||||
{ .supply = "vdda-pll", .init_load_uA = 14200 },
|
||||
@@ -680,8 +684,48 @@ static const struct qmp_phy_cfg qcs615_usb3dp_phy_cfg = {
|
||||
.configure_dp_phy = qcs615_qmp_configure_dp_phy,
|
||||
.calibrate_dp_phy = qcs615_qmp_calibrate_dp_phy,
|
||||
|
||||
.reset_list = usb3dpphy_reset_l,
|
||||
.num_resets = ARRAY_SIZE(usb3dpphy_reset_l),
|
||||
.reset_list = qcs615_usb3dpphy_reset_l,
|
||||
.num_resets = ARRAY_SIZE(qcs615_usb3dpphy_reset_l),
|
||||
.vreg_list = qmp_phy_qcs615_vreg_l,
|
||||
.num_vregs = ARRAY_SIZE(qmp_phy_qcs615_vreg_l),
|
||||
};
|
||||
|
||||
static const struct qmp_phy_cfg shikra_usb3dp_phy_cfg = {
|
||||
.offsets = &qmp_usbc_usb3dp_offsets_qcs615,
|
||||
|
||||
.serdes_tbl = qcm2290_usb3_serdes_tbl,
|
||||
.serdes_tbl_num = ARRAY_SIZE(qcm2290_usb3_serdes_tbl),
|
||||
.tx_tbl = qcm2290_usb3_tx_tbl,
|
||||
.tx_tbl_num = ARRAY_SIZE(qcm2290_usb3_tx_tbl),
|
||||
.rx_tbl = qcm2290_usb3_rx_tbl,
|
||||
.rx_tbl_num = ARRAY_SIZE(qcm2290_usb3_rx_tbl),
|
||||
.pcs_tbl = qcm2290_usb3_pcs_tbl,
|
||||
.pcs_tbl_num = ARRAY_SIZE(qcm2290_usb3_pcs_tbl),
|
||||
|
||||
.regs = qmp_v3_usb3phy_regs_layout_qcm2290,
|
||||
|
||||
.dp_serdes_tbl = qcs615_dp_serdes_tbl,
|
||||
.dp_serdes_tbl_num = ARRAY_SIZE(qcs615_dp_serdes_tbl),
|
||||
.dp_tx_tbl = qcs615_dp_tx_tbl,
|
||||
.dp_tx_tbl_num = ARRAY_SIZE(qcs615_dp_tx_tbl),
|
||||
|
||||
.serdes_tbl_rbr = qcs615_dp_serdes_tbl_rbr,
|
||||
.serdes_tbl_rbr_num = ARRAY_SIZE(qcs615_dp_serdes_tbl_rbr),
|
||||
.serdes_tbl_hbr = qcs615_dp_serdes_tbl_hbr,
|
||||
.serdes_tbl_hbr_num = ARRAY_SIZE(qcs615_dp_serdes_tbl_hbr),
|
||||
.serdes_tbl_hbr2 = qcs615_dp_serdes_tbl_hbr2,
|
||||
.serdes_tbl_hbr2_num = ARRAY_SIZE(qcs615_dp_serdes_tbl_hbr2),
|
||||
|
||||
.swing_tbl = &qcs615_dp_voltage_swing_hbr2_rbr,
|
||||
.pre_emphasis_tbl = &qcs615_dp_pre_emphasis_hbr2_rbr,
|
||||
|
||||
.dp_aux_init = qcs615_qmp_dp_aux_init,
|
||||
.configure_dp_tx = qcs615_qmp_configure_dp_tx,
|
||||
.configure_dp_phy = qcs615_qmp_configure_dp_phy,
|
||||
.calibrate_dp_phy = qcs615_qmp_calibrate_dp_phy,
|
||||
|
||||
.reset_list = shikra_usb3dpphy_reset_l,
|
||||
.num_resets = ARRAY_SIZE(shikra_usb3dpphy_reset_l),
|
||||
.vreg_list = qmp_phy_qcs615_vreg_l,
|
||||
.num_vregs = ARRAY_SIZE(qmp_phy_qcs615_vreg_l),
|
||||
};
|
||||
@@ -2019,6 +2063,9 @@ static const struct of_device_id qmp_usbc_of_match_table[] = {
|
||||
}, {
|
||||
.compatible = "qcom,sdm660-qmp-usb3-phy",
|
||||
.data = &sdm660_usb3phy_cfg,
|
||||
}, {
|
||||
.compatible = "qcom,shikra-qmp-usb3-dp-phy",
|
||||
.data = &shikra_usb3dp_phy_cfg,
|
||||
}, {
|
||||
.compatible = "qcom,sm6115-qmp-usb3-phy",
|
||||
.data = &qcm2290_usb3phy_cfg,
|
||||
|
||||
Reference in New Issue
Block a user