Rockchip Linux PCIe 开发指南
目录
文章目录
- Rockchip Linux PCIe 开发指南
-
- @[toc]
- 芯片资源介绍
-
- DTS 配置
-
- menuconfig 配置
- 常见应用问题
-
- 当走线位置不佳时,不同 lane 之间能否交织?
- 同一个 lane 的差分信号能否交织?
- PCIe接口是否支持拆分或者合并?
- 是否支持PCIe switch?贵司有没有推荐?
- 在系统中如何确定控制器与设备的对应关系?
- 如何确定PCIe设备的链路状态?
- 如何确定SoC针对PCIe设备可分配的MSI或者MSI-X数量?
- 是否支持Legacy INT方式?如何强制使用Legacy INTA ~ INTD的中断?
- 芯片支持分配的BAR空间地址域有多大?
- 如果CPU运行在32位地址模式下,如何实现BAR空间的访问?
- 如何查看芯片分配给外设的CPU域地址以及PCIe bus域地址,两者如何对应?
- 如何对下游单个设备进行重扫描或者在线更换设备?
- 芯片互联功能
-
- 标准EP功能件开发
- 异常排查
-
- 附录
-
文章目录
- Rockchip Linux PCIe 开发指南
-
- @[toc]
- 芯片资源介绍
- DTS 配置
- menuconfig 配置
- 常见应用问题
-
- 当走线位置不佳时,不同 lane 之间能否交织?
- 同一个 lane 的差分信号能否交织?
- PCIe接口是否支持拆分或者合并?
- 是否支持PCIe switch?贵司有没有推荐?
- 在系统中如何确定控制器与设备的对应关系?
- 如何确定PCIe设备的链路状态?
- 如何确定SoC针对PCIe设备可分配的MSI或者MSI-X数量?
- 是否支持Legacy INT方式?如何强制使用Legacy INTA ~ INTD的中断?
- 芯片支持分配的BAR空间地址域有多大?
- 如果CPU运行在32位地址模式下,如何实现BAR空间的访问?
- 如何查看芯片分配给外设的CPU域地址以及PCIe bus域地址,两者如何对应?
- 如何对下游单个设备进行重扫描或者在线更换设备?
- 芯片互联功能
- 标准EP功能件开发
- 异常排查
- 附录
芯片资源介绍
RK3566
资源 | 模式 | 支持芯片互联 | 支持lane拆分 | 支持DMA | 支持MMU | 备注 |
---|---|---|---|---|---|---|
PCIe Gen2 x 1 lane | RC only | 否 | 否 | 否 | 否 | 内部时钟 |
RK3568
资源 | 模式 | 支持芯片互联 | 支持lane拆分 | 支持DMA | 支持MMU | 备注 |
---|---|---|---|---|---|---|
PCIe Gen2 x 1 lane | RC only | 否 | 否 | 否 | 否 | 内部时钟 |
PCIe Gen3 x 2 lane | RC/EP | 是 | 1 lane RC+ 1 lane RC | 是 | 否 | 外置晶振 |
RK3588
RK3588共有5个PCIe的控制器,硬件IP是一样的,配置不一样,其中一个4Lane DM模式可以支持作为EP使用