XHCI Port status 寄存器介绍

时间:2024-05-23 07:33:58

    插播一条博客,今天刚好有同事问到说USB port的port status 寄存器位置在哪里,所以就翻了一下AMD PPR,找到相关的寄存器这里把步骤简单记录一下。

    首先打开XHCI controller的PCI 配置空间,这里可以看到USB MMIO BAR=0xC0300000。然后翻PPR看到Port0 USB2.0 status offset=0x00420,Port10 USB2.0 status offset=0x00430,Port2 USB2.0 status offset=0x00440,Port3 USB2.0 status offset=0x00450。如下左。Port0 USB3.0 status offset=0x00460,Port10 USB3.0 status offset=0x00470,Port2 USB3.0 status offset=0x00480,Port3 USB3.0 status offset=0x00490,如下右:

    XHCI Port status 寄存器介绍

    这些地方的寄存器意义要去看XHCI spec才知道,我们举个例子来看,Port0 USB2.0 status offset=0x00420 bit[0] 名称是CCS,在XHCI spec中定义如下,如下图:

XHCI Port status 寄存器介绍

XHCI Port status 寄存器介绍

    到这里,我们想看USB2.0或者USB3.0的相关寄存器就清清楚楚的了,不至于一头雾水。其他平台的也依照这个规则来就好了。不管哪个部分的知识都一样,只要你一直躲着它,它就天天烦着你。当你认真面对的时候,就会有一种拨云见日的感觉。