A bunch of changes to refine i.MX PCIe driver. - Add ref clock gate for i.MX95 PCIe. The changes of clock part are here [1], and had been applied by Abel. [1] https://lkml.org/lkml/2024/10/15/390 - Clean i.MX PCIe driver by removing useless codes. Patch #3 depends on dts changes. And the dts changes had been applied by Shawn, there is no dependecy now. - Make core reset and enable_ref_clk symmetric for i.MX PCIe driver. - Use dwc common suspend resume method, and enable i.MX8MQ, i.MX8Q and i.MX95 PCIe PM supports. v7 changes: Thanks a lot for Manivannan's kindly review. - Rebase to latest pcie/next with "tag: pci-v6.13-changes", and with Frank's v8 "PCI: dwc: opitimaze RC Host/EP pci_fixup_addr()" patch-set applied. https://patchwork.kernel.org/project/linux-pci/cover/20241119-pci_fixup_addr-v8-0-c4bfa5193288@xxxxxxx/ - #2 patch. - Update the commit message - Use devm_clk_get_optional(dev, "ref"); to get the optional clock directly. - #3 patch: Update the commit message. - #4 patch: Add one Fixes tag. - #5&9 patches: Update commit message. - #7 patch: Refine the subject, and the commit message. - #10 patch: Replace the dummp_clk by one fixed clock. - Add Manivannan's reviewed-by tag into #3, #4, #5, #6, #7, and #9 patches. v6 changes: Thanks for Frank's comments. - Add optional clk fetch, without losting safty check. - Update commit message in #3 and #8 patch of v6 - Add previous discussion as annotation into #4 patch. v5 changes: Thanks for Manivannan's review. - To avoid the DT compatibility on i.MX95, let to fetch i.MX95 PCIe clocks be optinal in driver. - Add Fixes tags into #5 and #6 patches. - Split the clean up codes into #7 in v5. - Update the commit message in #10, and #8 "PCI: imx6: Use dwc common suspend resume method" patches. v4 changes: It's my fault that I missing Manivanna in the reviewer list. I'm sorry about that. - Rebase to v6.12-rc3, and resolve the dtsi conflictions. Add Manivanna into reviewer list. v3 changes: - Update EP binding refer to comments provided by Krzysztof Kozlowski. Thanks. v2 changes: - Add the reasons why one more clock is added for i.MX95 PCIe in patch #1. - Add the "Reviewed-by: Frank Li <Frank.Li@xxxxxxx>" into patch #2, #4, #5, #6, #8 and #9. [PATCH v7 01/10] dt-bindings: imx6q-pcie: Add ref clock for i.MX95 [PATCH v7 02/10] PCI: imx6: Add ref clock for i.MX95 PCIe [PATCH v7 03/10] PCI: imx6: Fetch dbi2 and iATU base addesses from DT [PATCH v7 04/10] PCI: imx6: Correct controller_id generation logic [PATCH v7 05/10] PCI: imx6: Deassert apps_reset in [PATCH v7 06/10] PCI: imx6: Fix the missing reference clock disable [PATCH v7 07/10] PCI: imx6: Remove imx7d_pcie_init_phy() function [PATCH v7 08/10] PCI: imx6: Use dwc common suspend resume method [PATCH v7 09/10] PCI: imx6: Add i.MX8MQ i.MX8Q and i.MX95 PM support [PATCH v7 10/10] arm64: dts: imx95: Add ref clock for i.MX95 PCIe Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-common.yaml | 4 +- Documentation/devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml | 1 + Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml | 25 +++++++++-- arch/arm64/boot/dts/freescale/imx95.dtsi | 25 +++++++++-- drivers/pci/controller/dwc/pci-imx6.c | 178 ++++++++++++++++++++++++++++------------------------------------------------ 5 files changed, 110 insertions(+), 123 deletions(-)