PCIe 官方资料
PCIe简介
PCIe 学习角度
只要能提供如下,任何ip都能跑起来
1. 供电
2. 供时钟
3. 供内存域
4. 供中断
对于pcie 控制器,i2c控制器都是如此
从 rtl 挂ip的角度,从调试 片上控制器 的角度,都要从这些角度考虑
对于片上的普通控制器
电 时钟 一般由pcb板供,然后内部分下去的.
内存域是 怎么来的 :
通过 总线时序 做出来的
独立的内存域 , 和 系统总线(地址总线) 上流动的地址不是一个域
中断是硬接线到中断控制器上的.
对于pcie 设备,也是这样的,
电 时钟 一般由pcb板供
内存 :
是由地址转换机制做出来的
独立的内存域 , 和 系统总线(地址总线) 上流动的地址不是一个域
中断 建立在 内存的基础上,由MSI机制做出来的.
当我们供给了这些东西
片上的 usb 控制器 和 pcie设备(转usb)
这两个 usb控制器 在感受上没有区别. 都有电,时钟,内存,中断.
接下来他们只需要利用好这些东西来 初始化自身,与cpu交互即可!!!
我们可以从分层的角度来考虑 每层干了什么
软件和硬件的 分层在哪里
哪些寄存器(功能)只需要 初始化 一遍
哪些寄存器(功能)需要在 运行时 不断的访问
PCIe 设备
MSI
linux irq domain
我从哪里认识到了irq domain
linux irq domain V1 legacy
linux irq domain V2 hierarchy
V1 VS V2
linux PCIe
内存
设备访问 中断信息, 并发生中断的过程要不要 设置 inbound
cdns_pcie_host_bar_ib_config
枚举
msi domain demo 1
msi domain demo 2
- legacy irq domain plic 与 hierarchy irq domain plic
- hierarchy irq domain plicsw 与 msi domain plicsw
- irq domain plicsw-pci 与 msi domain plicsw-pci