Message ID | 20240827063631.3932971-1-quic_qianyu@quicinc.com |
---|---|
Headers | show |
Series | Add support for PCIe3 on x1e80100 | expand |
On Mon, Aug 26, 2024 at 11:36:28PM -0700, Qiang Yu wrote: > PCIe 3rd instance of X1E80100 support Gen 4x8 which needs different 8 lane > capable QMP PCIe PHY. Document Gen 4x8 PHY as separate module. > > Signed-off-by: Qiang Yu <quic_qianyu@quicinc.com> > --- > .../phy/qcom,sc8280xp-qmp-pcie-phy.yaml | 18 +++++++++++++++++- > 1 file changed, 17 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml > index 03dbd02cf9e7..e122657490b1 100644 > --- a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml > +++ b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml > @@ -40,6 +40,7 @@ properties: > - qcom,sm8650-qmp-gen4x2-pcie-phy > - qcom,x1e80100-qmp-gen3x2-pcie-phy > - qcom,x1e80100-qmp-gen4x2-pcie-phy > + - qcom,x1e80100-qmp-gen4x8-pcie-phy > > reg: > minItems: 1 > @@ -47,7 +48,7 @@ properties: > > clocks: > minItems: 5 > - maxItems: 7 > + maxItems: 8 > > clock-names: > minItems: 5 > @@ -59,6 +60,7 @@ properties: > - const: pipe > - const: pipediv2 > - const: phy_aux > + - const: clkref_en That sounds like enabling clock ref, not the reference clock. > > power-domains: > maxItems: 1 > @@ -190,6 +192,19 @@ allOf: > clock-names: > minItems: 7 You need to now constrain other cases. Missing maxItems. Best regards, Krzysztof
On Mon, Aug 26, 2024 at 11:36:26PM -0700, Qiang Yu wrote: > if (cfg->tbls.ln_shrd) > qmp->ln_shrd = base + offs->ln_shrd; > > @@ -4424,6 +4641,9 @@ static const struct of_device_id qmp_pcie_of_match_table[] = { > }, { > .compatible = "qcom,x1e80100-qmp-gen4x2-pcie-phy", > .data = &x1e80100_qmp_gen4x2_pciephy_cfg, > + }, { > + .compatible = "qcom,x1e80100-qmp-gen4x8-pcie-phy", Undocumented compatible or your patch order is wrong. > + .data = &x1e80100_qmp_gen4x8_pciephy_cfg, > }, Best regards, Krzysztof
On 8/27/2024 7:37 PM, Krzysztof Kozlowski wrote: > On Mon, Aug 26, 2024 at 11:36:24PM -0700, Qiang Yu wrote: >> x1e80100 SoC uses QMP phy with version v6.30 for PCIe Gen4 x8. Add the new >> PCS PCIE specific offsets in a dedicated header file. >> >> Signed-off-by: Qiang Yu <quic_qianyu@quicinc.com> >> --- >> .../qualcomm/phy-qcom-qmp-pcs-pcie-v6_30.h | 25 +++++++++++++++++++ >> 1 file changed, 25 insertions(+) >> create mode 100644 drivers/phy/qualcomm/phy-qcom-qmp-pcs-pcie-v6_30.h >> >> diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-pcs-pcie-v6_30.h b/drivers/phy/qualcomm/phy-qcom-qmp-pcs-pcie-v6_30.h >> new file mode 100644 >> index 000000000000..5a58ff197e6e >> --- /dev/null >> +++ b/drivers/phy/qualcomm/phy-qcom-qmp-pcs-pcie-v6_30.h >> @@ -0,0 +1,25 @@ >> +/* SPDX-License-Identifier: GPL-2.0 */ >> +/* >> + * Copyright (c) 2024 Qualcomm Innovation Center. All rights reserved. >> + */ >> + >> +#ifndef QCOM_PHY_QMP_PCS_PCIE_V6_30_H_ >> +#define QCOM_PHY_QMP_PCS_PCIE_V6_30_H_ >> + >> +/* Only for QMP V6_30 PHY - PCIE have different offsets than V6 */ >> +#define QPHY_PCIE_V6_30_PCS_POWER_STATE_CONFIG2 0x014 >> +#define QPHY_PCIE_V6_30_PCS_TX_RX_CONFIG 0x020 >> +#define QPHY_PCIE_V6_30_PCS_ENDPOINT_REFCLK_DRIVE 0x024 >> +#define QPHY_PCIE_V6_30_PCS_OSC_DTCT_ACTIONS 0x098 >> +#define QPHY_PCIE_V6_30_PCS_EQ_CONFIG1 0x0a8 >> +#define QPHY_PCIE_V6_30_PCS_G3_RXEQEVAL_TIME 0x0f8 >> +#define QPHY_PCIE_V6_30_PCS_G4_RXEQEVAL_TIME 0x0fc >> +#define QPHY_PCIE_V6_30_PCS_G4_EQ_CONFIG5 0x110 >> +#define QPHY_PCIE_V6_30_PCS_G4_PRE_GAIN 0x164 >> +#define QPHY_PCIE_V6_30_PCS_RX_MARGINING_CONFIG1 0x184 >> +#define QPHY_PCIE_V6_30_PCS_RX_MARGINING_CONFIG3 0x18c >> +#define QPHY_PCIE_V6_30_PCS_RX_MARGINING_CONFIG5 0x194 >> +#define QPHY_PCIE_V6_30_PCS_G3_FOM_EQ_CONFIG5 0x1b4 >> +#define QPHY_PCIE_V6_30_PCS_G4_FOM_EQ_CONFIG5 0x1c8 > There is no user of these. Squash it with the user, because there is > little point in adding dead code. > > Best regards, > Krzysztof OK, will squash this three patches related to phy setting into one patch. Thanks, Qiang
On 8/27/2024 7:38 PM, Krzysztof Kozlowski wrote: > On Mon, Aug 26, 2024 at 11:36:26PM -0700, Qiang Yu wrote: >> if (cfg->tbls.ln_shrd) >> qmp->ln_shrd = base + offs->ln_shrd; >> >> @@ -4424,6 +4641,9 @@ static const struct of_device_id qmp_pcie_of_match_table[] = { >> }, { >> .compatible = "qcom,x1e80100-qmp-gen4x2-pcie-phy", >> .data = &x1e80100_qmp_gen4x2_pciephy_cfg, >> + }, { >> + .compatible = "qcom,x1e80100-qmp-gen4x8-pcie-phy", > Undocumented compatible or your patch order is wrong. OK, will put the yaml patch in front of this patch Thanks, Qiang > >> + .data = &x1e80100_qmp_gen4x8_pciephy_cfg, >> }, > Best regards, > Krzysztof >