[PATCH 0/7] imx8mp: Enable PCIe/NVMe support

Marek Vasut marex at denx.de
Tue Feb 20 16:04:08 CET 2024


On 2/20/24 14:10, Sumit Garg wrote:
> 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.
> 
> iMX8MP SoC also comes up with standalone PCIe PHY support, so hence we
> can reuse the generic PHY infrastructure to power on PCIe PHY.
> 
> Patch #1: Adds PCIe clocks support.
> Patch #2: Adds i.MX8MP reset controller support.
> Patch #3: Extend i.MX8MP power domain driver with PCIe support
> Patch #4: Expose high performance PLL clock required for PCIe PHY
>            on verdin board.
> Patch #5: Adds standalone PCIe PHY support for i.MX8MP SoC.
> Patch #6: Adds DW PCIe controller support for iMX8MP SoC.
> Patch #7: Enable PCIe/NVMe support for verdin board.
> 
> 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>
> 
> Sumit Garg (7):
>    clk: imx8mp: Add support for PCIe clocks
>    reset: imx: Add support for i.MX8MP reset controller
>    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
> 
>   configs/verdin-imx8mp_defconfig       |   9 +
>   drivers/clk/imx/clk-imx8mp.c          |   6 +
>   drivers/pci/Kconfig                   |   8 +
>   drivers/pci/Makefile                  |   1 +
>   drivers/pci/pcie_dw_imx8.c            | 348 ++++++++++++++++++++++++++

You can call this pcie_dw_imx.c , the imx6 support can be converted over 
to that driver too I guess ?


More information about the U-Boot mailing list