[PATCH v6 0/8] Add support for PCIe3 on x1e80100

Qiang Yu
2024-10-11T10:42:10Z

This series add support for PCIe3 on x1e80100.

PCIe3 needs additional set of clocks, regulators and new set of PCIe QMP
PHY configuration compare other PCIe instances on x1e80100. Hence add
required resource configuration and usage for PCIe3.

v5->v6:
1. Add Fixes tag
2. Split [PATCH v5 6/7] into two patches
3. Reword commit msg
4. Link to v5: https://lore.kernel.org/linux-pci/20241009091540.1446-1-quic_qianyu@quicinc.com/

v4->v5:
1. Add Reviewed-by tag
2. Expand and clarify usage of txz/rxz in commit message
3. Add comments that txz/rxz must be programmed before tx/rx
4. Change the sort order for phy register tbls
5. Use the order defined in struct qmp_phy_cfg_tbls for phy register tbls
presented in x1e80100_qmp_gen4x8_pciephy_cfg
6. Add Fixes and CC stable tag
7. Fix ops for SC8280X and X1E80100
8. Document global interrupt in bindings
9. Link to v4: https://lore.kernel.org/all/20240924101444.3933828-1-quic_qianyu@quicinc.com/

v3->v4:
1. Reword commit msg of [PATCH v3 5/6]
2. Drop opp-table property from qcom,pcie-sm8450.yaml
3. Add Reviewed-by tag
4. Link to v3: https://lore.kernel.org/all/20240923125713.3411487-1-quic_qianyu@quicinc.com/

v2->v3:
1. Use 'Gen 4 x8' in commit msg
2. Move opp-table property to qcom,pcie-common.yaml
3. Add Reviewed-by tag
4. Add global interrupt and use GIC_SPI for the parent interrupt specifier
5. Use 0x0 in reg property and use pcie@ for pcie3 device node
6. Show different IP version v6.30 in commit msg
7. Add logic in controller driver to have new ops for x1e80100
8. Link to v2: https://lore.kernel.org/all/20240913083724.1217691-1-quic_qianyu@quicinc.com/

v2->v1:
1. Squash [PATCH 1/8], [PATCH 2/8],[PATCH 3/8] into one patch and make the
indentation consistent.
2. Put dts patch at the end of the patchset.
3. Put dt-binding patch at the first of the patchset.
4. Add a new patch where opp-table is added in dt-binding to avoid dtbs
checking error.
5. Remove GCC_PCIE_3_AUX_CLK, RPMH_CXO_CLK, put in TCSR_PCIE_8L_CLKREF_EN
as ref.
6. Remove lane_broadcasting.
7. Add 64 bit bar, Remove GCC_PCIE_3_PIPE_CLK_SRC,
GCC_CFG_NOC_PCIE_ANOC_SOUTH_AHB_CLK is changed to
GCC_CFG_NOC_PCIE_ANOC_NORTH_AHB_CLK.
8. Add Reviewed-by tag.
9. Remove [PATCH 7/8], [PATCH 8/8].
10. Link to v1: https://lore.kernel.org/all/20240827063631.3932971-1-quic_qianyu@quicinc.com/

Qiang Yu (8):
dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: Document the X1E80100
QMP PCIe PHY Gen4 x8
dt-bindings: PCI: qcom: Move OPP table to qcom,pcie-common.yaml
dt-bindings: PCI: qcom,pcie-x1e80100: Add 'global' interrupt
phy: qcom: qmp: Add phy register and clk setting for x1e80100 PCIe3
clk: qcom: gcc-x1e80100: Fix halt_check for pipediv2 clocks
PCI: qcom: Fix the ops for SC8280X family SoC
PCI: qcom: Fix the cfg for X1E80100 SoC
arm64: dts: qcom: x1e80100: Add support for PCIe3 on x1e80100

.../bindings/pci/qcom,pcie-common.yaml | 4 +
.../bindings/pci/qcom,pcie-sm8450.yaml | 4 -
.../bindings/pci/qcom,pcie-x1e80100.yaml | 10 +-
.../phy/qcom,sc8280xp-qmp-pcie-phy.yaml | 3 +
arch/arm64/boot/dts/qcom/x1e80100.dtsi | 204 ++++++++++++++++-
drivers/clk/qcom/gcc-x1e80100.c | 10 +-
drivers/pci/controller/dwc/pcie-qcom.c | 14 +-
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 214 ++++++++++++++++++
.../qualcomm/phy-qcom-qmp-pcs-pcie-v6_30.h | 25 ++
drivers/phy/qualcomm/phy-qcom-qmp-pcs-v6_30.h | 19 ++
10 files changed, 491 insertions(+), 16 deletions(-)
create mode 100644 drivers/phy/qualcomm/phy-qcom-qmp-pcs-pcie-v6_30.h
create mode 100644 drivers/phy/qualcomm/phy-qcom-qmp-pcs-v6_30.h

--
2.34.1