Patch series adds support for enabling the PCIe controller and
UNIPHY found on Qualcomm IPQ5332 platform. PCIe0 is Gen3 X1 and
PCIe1 is Gen3 X2 are added.
This series combines [1] and [2]. [1] introduces IPQ5018 PCIe
support and [2] depends on [1] to introduce IPQ5332 PCIe support.
Since the community was interested in [2] (please see [3]), tried
to revive IPQ5332's PCIe support with v2 of this patch series.
v2 of this series pulled in the phy driver from [1] tried to
address comments/feedback given in both [1] and [2].
1. Enable IPQ5018 PCI support (Nitheesh Sekar) - https://lore.kernel.org/all/20231003120846.28626-1-quic_nsekar@quicinc.com/
2. Add PCIe support for Qualcomm IPQ5332 (Praveenkumar I) - https://lore.kernel.org/linux-arm-msm/20231214062847.2215542-1-quic_ipkumar@quicinc.com/
3. Community interest - https://lore.kernel.org/linux-arm-msm/20240310132915.GE3390@thinkpad/
v7: phy bindings:
* Include data type definition to 'num-lanes'
controller bindings:
* Split the ipq9574 and ipq5332 changes into separate patches
dtsi:
* Add root port definitions
v6: phy bindings:
* Fix num-lanes definition
phy driver:
* Fix num-lanes handling in probe to use generally followed pattern
controller bindings:
* Give more info in commit log
dtsi:
* Add assigned-clocks & assigned-clock-rates to controller nodes
* Add num-lanes to pcie0_phy
v5: phy bindings:
* Drop '3x1' & '3x2' from compatible string
* Use 'num-lanes' to differentiate instead of '3x1' or '3x2'
in compatible string
* Describe clocks and resets instead of just maxItems
phy driver:
* Get num-lanes from DTS
* Drop compatible specific init data as there is only one
compatible string
controller bindings:
* Re-arrange 5332 and 9574 compatibles to handle fallback usage in dts
dtsi:
* Add 'num-lanes' to "pcie1_phy: phy@4b1000"
* Make ipq5332 as main and ipq9574 as fallback compatible
* Sort controller nodes per address
misc:
Add R-B tag from Konrad to dts and dtsi patches
v4: * phy bindings - Create ipq5332 compatible instead of reusing ipq9574 for bindings
* phy bindings - Remove reset-names as the resets are handled with bulk APIs
* phy bindings - Fix order in the 'required' section
* phy bindings - Remove clock-output-names
* dtsi - Add missing reset for pcie1_phy
* dtsi - Convert 'reg-names' to a vertical list
* dts - Fix nodes sort order
* dts - Use property-n followed by property-names
v3: * Update the cover letter with the sources of the patches
* Rename the dt-bindings yaml file similar to other phys
* Drop ipq5332 specific pcie controllor bindings and reuse
ipq9574 pcie controller bindings for ipq5332
* Please see patches for specific changes
* Set GPL license for phy-qcom-uniphy-pcie-28lp.c
v2: Address review comments from V1
Drop the 'required clocks' change that would break ABI (in dt-binding, dts, gcc-ipq5332.c)
Include phy driver from the dependent series
v1: https://lore.kernel.org/linux-arm-msm/20231214062847.2215542-1-quic_ipkumar@quicinc.com/
Nitheesh Sekar (2):
dt-bindings: phy: qcom,uniphy-pcie: Document PCIe uniphy
phy: qcom: Introduce PCIe UNIPHY 28LP driver
Praveenkumar I (2):
arm64: dts: qcom: ipq5332: Add PCIe related nodes
arm64: dts: qcom: ipq5332-rdp441: Enable PCIe phys and controllers
Varadarajan Narayanan (3):
dt-bindings: PCI: qcom: Use sdx55 reg description for ipq9574
arm64: dts: qcom: ipq9574: Reorder reg and reg-names
dt-bindings: PCI: qcom: Document the IPQ5332 PCIe controller
.../devicetree/bindings/pci/qcom,pcie.yaml | 12 +-
.../phy/qcom,ipq5332-uniphy-pcie-phy.yaml | 76 +++++
arch/arm64/boot/dts/qcom/ipq5332-rdp441.dts | 76 +++++
arch/arm64/boot/dts/qcom/ipq5332.dtsi | 268 +++++++++++++++-
arch/arm64/boot/dts/qcom/ipq9574.dtsi | 52 ++--
drivers/phy/qualcomm/Kconfig | 12 +
drivers/phy/qualcomm/Makefile | 1 +
.../phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c | 286 ++++++++++++++++++
8 files changed, 760 insertions(+), 23 deletions(-)
create mode 100644 Documentation/devicetree/bindings/phy/qcom,ipq5332-uniphy-pcie-phy.yaml
create mode 100644 drivers/phy/qualcomm/phy-qcom-uniphy-pcie-28lp.c
base-commit: 5ffa57f6eecefababb8cbe327222ef171943b183
--
2.34.1