There are two different PCIe controllers and PHYs on SM8450, one having one lane and another with two lanes. Add support for both PCIe controllers. After comparing upstream and downstream Qualcomm PCIe drivers, change the way the driver works with the pipe_clk_src multiplexing. The clock should be switched to using ref_clk (TCXO) as a parent before turning the PCIE_x_GDSC power domain off and can be switched to using PHY's pipe_clk after this power domain is turned on. Downstream driver uses regulators for the GDSC, so current approach also (incorrectly) ties pipe_clk multiplexing to regulator enablement/disablement. However upstream driver uses power-domain and so GDSC is maintained using pm_runtime_foo() calls. Previous iteration of this patchset changed the order of operations to call pm_runtime_foo(). This iteration changes apprach and moves pipe clock source handling to the GDSC instead. This way the drivers are sure that the clock is fed from the correct source. Changes since v1: - Merge two patchsets - Move pipe_clk_src handling into the GDSC driver - Drop interconnect patch (subject for futher research) - Remove "pipe" clock from qcom,pcie bindings as it's removed from the source code. Dmitry Baryshkov (11): dt-bindings: pci: qcom,pcie: drop unused "pipe" clocks dt-bindings: pci: qcom: Document PCIe bindings for SM8450 clk: qcom: gdsc: add support for clocks tied to the GDSC clk: qcom: gcc-sc7280: switch PCIe GDSCs to pipe_clk_gdsc clk: qcom: gcc-sm8450: switch PCIe GDSCs to pipe_clk_gdsc PCI: qcom: Balance pm_runtime_foo() calls PCI: qcom: Remove unnecessary pipe_clk handling PCI: qcom: Remove pipe_clk_src reparenting PCI: qcom: Remove redundancy between qcom_pcie and qcom_pcie_cfg PCI: qcom: Add ddrss_sf_tbu flag PCI: qcom: Add SM8450 PCIe support .../devicetree/bindings/pci/qcom,pcie.txt | 20 +- drivers/clk/qcom/gcc-sc7280.c | 114 ++++------- drivers/clk/qcom/gcc-sm8450.c | 104 ++++------ drivers/clk/qcom/gdsc.c | 41 ++++ drivers/clk/qcom/gdsc.h | 14 ++ drivers/pci/controller/dwc/pcie-qcom.c | 188 ++++++------------ 6 files changed, 219 insertions(+), 262 deletions(-) -- 2.34.1