EHCI主机接口寄存器在BAR0所示的PCI MEM地址空间中,主要包括两部分:
1)能力寄存器组
2)操作寄存器组
下面先介绍能力寄存器组
CAPLENGTH寄存器,8位只读寄存器,给出了控制寄存器组的偏移量。
HCIVERSION寄存器,16位只读寄存器,兼容EHCI的最大和最小版本号,按照BCD编码格式。高8位是最大版本号,低8位是最小版本号。
HCSPARAMS结构参数寄存器,32位只读寄存器。
HCCPARAMS能力参数寄存器,32位只读寄存器。
HCSP-PORTROUTE伴随端口路由描述寄存器,60位只读寄存器。
HCSPARAMS
主要介绍端口、伴随控制器(USB1.1)等结构信息。
【23:20】调试端口号。
【16】P_INDICATOR端口指示灯功能。1:表示可以主控制器具有控制端口的指示灯的能力,可以通过对应端口的PORTSC(端口状态和控制寄存器)的电源域来控制。
【4】PPC端口电源控制功能。1:表示可以主控制器具有控制端口的电源的能力,可以通过端口的PORTSC的电源域来控制)。
【15:12】N_CC表示主控制器设计中伴随控制器数量。
【3:0】N_PORTS表示主控制器实现的下游物理端口数量。
【11:8】N_PCC表示每个伴随控制器可以支持的端口数量,这个数量表示0号伴随控制器可以被路由连接到[0:N_PCC-1]号端口,第1号伴随控制器可以被连接到[N_PCC: 2N_PCC-1]号端口,以此类推。
如果N_PORTS=6, N_CC=2,那么N_PCC=3。
【7】端口和伴随控制器之间的路由规则。
1:静态映射规则(参见HCSP_PORTRUTE寄存器说明);
0:动态枚举规则(参见N_PCC域说明)。
HCCPARAMS
主要介绍模式控制和寻址能力,大部分描述了厂商的定制参数,只有【0】位表示主控制器的寻址能力。0表示数据结构采用32位内存地址描述;1表示64位地址。
HCSP-PORTROUTE
这是60位的寄存器,一共15个半字节长度,每4位对应一个具体的物理端口,因此这个寄存器可以表征为PORTROUTE[15]寄存器组。在这15个寄存器中,只有[0:N_PORTS-1]的寄存器才有效。
PORTROUTE[i]指示了[i]号物理端口连接到的伴随控制器编号。