自学内容网 自学内容网

全新Linux教程-驱动大全-PCI和PCIe子系统-P3-PCI设备的访问方法-桥设备

本节主要讲了如何去配置桥设备和桥之后的设备。上节已经讲到可以直接通过不同引脚访问直连的PCIe Agent设备。①IDSEL ②C/BE ③AD[31:0]访问funciotn和寄存器。

1、桥设备

如何选中桥之后的设备?如下图所示,当设备挂载在桥设备下时,无法像前一节那样直接通过引脚选中并配置地址。CPU发出的信号不能直接到达设备,而是先经过桥,再进行转换。于是需要:

(1)配置桥:①通过AD29(IDSEL)选中桥设备 ②读寄存器发现是桥,写一个bus number,一般RC的bus number是0,后面第一个桥会配置bus number 1。此时就把bus number 1写到Secondary Bus number。

(2)通过桥配置后面的设备:CPU发出type1的配置命令。桥会将type1的配置命令转换成type0的配置命令。如果是CPU->桥->桥->设备的话,每个桥会根据bus number判断自己是否能处理。找到能处理的桥后,将type1的命令转换成type0。

注意:Primary Bus Number是上级的bus,Secondary Bus number是自己。Subordinary Bus number是下级桥最大bus号。


原文地址:https://blog.csdn.net/LuckyDog0623/article/details/137995719

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!