imx8 pcie driver for u-boot

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx8 pcie driver for u-boot

1,599 Views
daniel6234
Contributor I

I want to use u-boot to boot a linux os from a nvme ssd. The u-boot should be stored in a qspi nor flash. Unfortunately I can't find a pcie driver for the imx8mm in u-boot, so I can't find the nvme device, before loading the linux kernel.
Does anyone have a hint where I can find an appropriate driver? Or is there another bootloader alternative to u-boot that supports the desired procedure?

0 Kudos
Reply
4 Replies

1,552 Views
Sanket_Parekh
NXP TechSupport
NXP TechSupport
 
I hope you are doing well
 
Please refer to the below Uboot source code from NXP for the supported PCI drivers.
 
Thanks & Regards
Sanket Parekh
0 Kudos
Reply

1,535 Views
daniel6234
Contributor I

Thanks for the replies. Since the uboot source code of nxp unfortunately only contains drivers for the IMX8QM and IMX8QXP (or did I miss something?), I have to adapt it as @nirmalbishnoi writes.

I have only had a small insight so far, but maybe the adaptation to the IMX8MM is not that big?

0 Kudos
Reply

191 Views
iicsanjeev01
Contributor I

Hi @daniel6234 

Are you able to develop uboot PCIe driver code for the iMX8MM ? if you have something to share then please share it.

I found one link that might be helpful in this case:

https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/Add-i-MX8MPlus-pci-driver-in-uboot/ta-p/...

 

Regards,

Sanjeev

0 Kudos
Reply

1,559 Views
nirmalbishnoi
Contributor I

Hi @daniel6234 

Based on your question, it seems you are looking for a PCIe driver for the i.MX8MM can be used with U-Boot. As of now, U-Boot does not have a built-in driver for the i.MX8MM's PCIe interface. However, you can add support for this by modifying the U-Boot source code.

Here is a general outline of the steps you would need to follow:

  1. Download the U-Boot source code from the official NXP website.
  2. Locate the file that contains the PCIe driver code. This is usually located in the 'drivers' directory.
  3. Modify the driver code to add support for the i.MX8MM's PCIe interface. This will require knowledge of the i.MX8MM's hardware specifications and the PCIe protocol.
  4. Recompile U-Boot with the modified driver code.

Please note that this is a complex task that requires a deep understanding of both the i.MX8MM hardware and the U-Boot bootloader. If you are not comfortable with this level of modification, you may want to consider hiring a professional developer or consulting with NXP's technical support team.

As for an alternative bootloader, there is no other bootloader that supports the i.MX8MM's PCIe interface is out of the box. However, you could potentially use a different bootloader and add PCIe support in a similar manner to the method described above for U-Boot.

For more information on the i.MX8MM and its support for PCIe, you can refer to the i.MX8MM reference manual, which can be found on the NXP website. This manual contains detailed information on the i.MX8MM's hardware specifications, including its PCIe interface.

For more information on U-Boot and how to modify its source code, you can refer to the U-Boot user manual, which can also be found on the NXP website. This manual contains detailed information on how to use and modify U-Boot.

0 Kudos
Reply