[PATCH v3 00/11] imx8mp: Enable PCIe/NVMe support

Sumit Garg sumit.garg at linaro.org
Tue Mar 12 10:55:22 CET 2024


Hi Peter,

On Tue, 12 Mar 2024 at 15:13, Peter Robinson <pbrobinson at gmail.com> wrote:
>
> Hi Sumit,
>
> > pcie_imx doesn't seem to share any useful code for iMX8MP SoC and it is
> > rather tied to quite old port of pcie_designware driver from Linux which
> > suffices only iMX6 specific needs.
> >
> > But currently we have the common DWC specific bits which alligns pretty
> > well with DW PCIe controller on iMX8MP SoC. So lets reuse those common
> > bits instead as a new driver for iMX8 SoCs. It should be fairly easy to
> > add support for other iMX8 variants to this driver.
>
> The upstream Linux driver is moving towards a single driver [1] for
> imx6 -> imx9, would it be possible to add support for all generations
> to this driver and then remove the old driver?

Sorry but that's not in scope of this patch-set and neither do I
possess boards with all the imx* SoC variants.

> That would allow this
> single modern driver and removing the old imx6 specific driver.

Folks interested in this can build up on this patch-set and port other
imx* variants and then we could have a single modern driver.

-Sumit

>
> Peter
>
> [1] https://www.spinics.net/lists/linux-pci/msg150359.html
>
> > iMX8MP SoC also comes up with standalone PCIe PHY support, so hence we
> > can reuse the generic PHY infrastructure to power on PCIe PHY.
> >
> > Testing with this patch-set included:
> >
> > Verdin iMX8MP # pci enum
> > PCIE-0: Link up (Gen1-x1, Bus0)
> > Verdin iMX8MP #
> > Verdin iMX8MP # nvme scan
> > Verdin iMX8MP #
> > Verdin iMX8MP # nvme info
> > Device 0: Vendor: 0x126f Rev: T0828A0  Prod: AA000000000000000720
> >             Type: Hard Disk
> >             Capacity: 122104.3 MB = 119.2 GB (250069680 x 512)
> > Verdin iMX8MP #
> > Verdin iMX8MP # load nvme 0 $loadaddr <file-name>
> >
> > Changes in v3:
> > - Rebased on top of U-Boot next.
> > - Incorporated misc. updates to commit messages.
> > - New patch#2 to refactor reset driver function names.
> > - Patch#3: Refactored further for better code reuse.
> > - New patch#4 to fix refcount issue with power domain bus.
> > - Patch#5: Refactored further for better code reuse.
> > - Patch#7 & #8: Added dependency on REGMAP and SYSCON. Also, added
> >   support for vpcie-supply regulator.
> > - Patch#7 & #8: Added error paths and .remove callback.
> > - New patch#10 to enable PCIe/NVMe for imx8mp_venice*.
> >
> > Changes in v2:
> > - Renamed PCIe IMX driver pcie_dw_imx8.c -> pcie_dw_imx.c.
> > - Added myself as maintainer for PCIe DWC IMX driver support.
> > - Incorporated various code and commit message improvement suggestions
> >   from Marek, thanks.
> > - Patch#3: Gate PCIe and USB clocks behind corresponding power domain
> >   IDs.
> > - Patch#4: Expose HSIO PLL clocks as a regular clock driver instead
> >   similar to what Linux kernel does.
> > - Patch#7: Picked up tags.
> >
> > Sumit Garg (10):
> >   clk: imx8mp: Add support for PCIe clocks
> >   reset: imx: Refactor driver to simplify function names
> >   reset: imx: Add support for i.MX8MP reset controller
> >   imx8mp: power-domain: Don't power off pd_bus
> >   imx8mp: power-domain: Add PCIe support
> >   imx8mp: power-domain: Expose high performance PLL clock
> >   phy: phy-imx8m-pcie: Add support for i.MX8M{M/P} PCIe PHY
> >   pci: Add DW PCIe controller support for iMX8MP SoC
> >   verdin-imx8mp_defconfig: Enable PCIe/NVMe support
> >   MAINTAINERS: Add entry for PCIe DWC IMX driver
> >
> > Tim Harvey (1):
> >   imx8mp_venice_defconfig: Enable PCIe/NVMe support
> >
> >  MAINTAINERS                           |   6 +
> >  configs/imx8mp_venice_defconfig       |   8 +
> >  configs/verdin-imx8mp_defconfig       |   6 +
> >  drivers/clk/imx/clk-imx8mp.c          |   6 +
> >  drivers/pci/Kconfig                   |  11 +
> >  drivers/pci/Makefile                  |   1 +
> >  drivers/pci/pcie_dw_imx.c             | 338 ++++++++++++++++++++++++++
> >  drivers/phy/Kconfig                   |  11 +
> >  drivers/phy/Makefile                  |   1 +
> >  drivers/phy/phy-imx8m-pcie.c          | 283 +++++++++++++++++++++
> >  drivers/power/domain/imx8mp-hsiomix.c | 191 ++++++++++++---
> >  drivers/reset/reset-imx7.c            | 125 +++++++++-
> >  12 files changed, 937 insertions(+), 50 deletions(-)
> >  create mode 100644 drivers/pci/pcie_dw_imx.c
> >  create mode 100644 drivers/phy/phy-imx8m-pcie.c
> >
> > --
> > 2.34.1
> >


More information about the U-Boot mailing list