PCIe设备的文件枚举位于基于ARM的系统的Linux内核中?

时间:2018-03-14 07:47:33

标签: linux-kernel arm linux-device-driver pci-e

我正在为基于ARM的自定义平台开发PCIe驱动程序。作为起点,我开始研究Linux内核4.15.9代码。我无法找到相关的PCIe驱动程序文件。特别是我对PCIe设备枚举和配置感兴趣。在这方面的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

PCIe驱动程序代码分为4部分。

1 - PCIe子系统代码

  

这是负责总线扫描的通用PCIe子系统代码,   MSI分配,BAR分配等

     

路径 - 驱动程序/ pci / *

2 - PCIe主机控制器IP通用代码

  

这是主机控制器特有的。这意味着对某个主持人   在平台中,PCIe子系统将通过提供的API进行通信   通过此代码。

     

路径 - drivers / pci / dwc / *
  示例 - DWC主机
  注 - 并非所有控制器制造商都有一个单独的文件夹,如DWC   (Synopsys公司)。

3 - PCIe主机控制器初始化平台特定代码

  

这是针对PCIe IP的,它将特定于SoC。   每个SoC都有自己的芯片专用代码来初始化   控制器。因此,“PCIe主机”将使用此部分中的API   通用代码“

     

路径 - drivers / pci / host / *

4 - PCIe功能

  

此代码段包含AER,DPC等功能处理。 ASPM,   等

     

路径 - drivers / pci / pcie / *