首页 > 编程学习 > PCI驱动程序框架

PCI驱动程序框架


文章目录

  • PCI驱动程序框架
  • 参考资料:
    • 一、 PCI驱动框架
    • 二、 RK3399驱动
  • 致谢



参考资料:

  • 《PCI Express Technology 3.0》,Mike Jackson, Ravi Budruk; MindShare, Inc.
  • 《PCIe扫盲系列博文》,作者Felix,这是对《PCI Express Technology》的理解与翻译
  • 《PCI EXPRESS体系结构导读 (王齐)》
  • 《PCI Express_ Base Specification Revision 4.0 Version 0.3 ( PDFDrive )》
  • 《NCB-PCI_Express_Base_5.0r1.0-2019-05-22》
  • SOC中AXI总线是如何连接的
  • AXI总线整理总结
  • PCIe中MSI和MSI-X中断机制
  • Firefly-RK3399开发板资料

一、 PCI驱动框架

在这里插入图片描述

二、 RK3399驱动

怎么找到驱动?

  • 在内核目录下根据芯片名字找到文件:drivers\pci\host\pcie-rockchip.c

    • 看到如下代码:

      static const struct of_device_id rockchip_pcie_of_match[] = {{ .compatible = "rockchip,rk3399-pcie", },{}
      };
      
  • 在内核arch/arm64/boot/dts下搜:grep "rockchip,rk3399-pcie" * -nr

    • 找到设备树文件:arch/arm64/boot/dts/rk3399.dtsi,代码如下:

              pcie0: pcie@f8000000 {compatible = "rockchip,rk3399-pcie";#address-cells = <3>;#size-cells = <2>;bus-range = <0x0 0x1f>;...... /* 省略 */phys = <&pcie_phy>;phy-names = "pcie-phy";ranges = <0x83000000 0x0 0xfa000000 0x0 0xfa000000 0x0 0x1e000000x81000000 0x0 0xfbe00000 0x0 0xfbe00000 0x0 0x100000>;reg = <0x0 0xf8000000 0x0 0x2000000>,<0x0 0xfd000000 0x0 0x1000000>;...... /* 省略 */};
      


致谢

以上笔记源自韦东山老师的视频课程,感谢韦老师,韦老师是嵌入式培训界一股清流,为嵌入式linux开发点起的星星之火,也愿韦老师桃李满园。聚是一团火,散是满天星!

在这样一个速食的时代,坚持做自己,慢下来,潜心琢磨,心怀敬畏,领悟知识,才能向下扎到根,向上捅破天,背着世界往前行!
仅此向嵌入行业里的每一个认真做技术的从业者致敬!



本文链接:https://www.ngui.cc/article/show-861229.html
Copyright © 2010-2022 ngui.cc 版权所有 |关于我们| 联系方式| 豫B2-20100000