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@nxp.com/
- #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@nxp.com>" 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(-)