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. 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 v6 01/10] dt-bindings: imx6q-pcie: Add ref clock for i.MX95 [PATCH v6 02/10] PCI: imx6: Add ref clock for i.MX95 PCIe [PATCH v6 03/10] PCI: imx6: Fetch dbi2 and iATU base addesses from DT [PATCH v6 04/10] PCI: imx6: Correct controller_id generation logic [PATCH v6 05/10] PCI: imx6: Make core reset assertion deassertion [PATCH v6 06/10] PCI: imx6: Fix the missing reference clock disable [PATCH v6 07/10] PCI: imx6: Clean up codes by removing [PATCH v6 08/10] PCI: imx6: Use dwc common suspend resume method [PATCH v6 09/10] PCI: imx6: Add i.MX8MQ i.MX8Q and i.MX95 PCIe PM [PATCH v6 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 | 18 ++++++-- drivers/pci/controller/dwc/pci-imx6.c | 174 ++++++++++++++++++++++++++++------------------------------------------------ 5 files changed, 102 insertions(+), 120 deletions(-)