EHCI controller, HCCPARAMS reserved bits are not as expected

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
Arpanoid
Posts: 20
Joined: Sun May 27, 2018 8:43 pm

EHCI controller, HCCPARAMS reserved bits are not as expected

Post by Arpanoid »

Hello,

I'm learning USB-driver development. Currently, I'm focusing on EHCI and trying to read the capability registers. Something weird is going on with HCCPARAMS register. In Bochs its' ok: the value is 0x00003286 and it makes sense. But on the real hardware (I use two laptops) it's 0x00036881. Bits 15:0 make sense. But bits 31:16 are reserved and should be all 0, as per the EHCI specifications. But in my case they contain 3.

Does someone have the same? Why it doesn't align with the specifications? Do those fields have some meaning or can I ignore them?

Thanks.
User avatar
BenLunt
Member
Member
Posts: 1031
Joined: Sat Nov 22, 2014 6:33 pm
Location: USA
Contact:

Re: EHCI controller, HCCPARAMS reserved bits are not as expected

Post by BenLunt »

Hi,

Bits 19:16 are specified in the EHCI v1.1 Addendum. Each bit indicates an additional capability.

- Ben
https://www.fysnet.net/the_universal_serial_bus.htm
Arpanoid
Posts: 20
Joined: Sun May 27, 2018 8:43 pm

Re: EHCI controller, HCCPARAMS reserved bits are not as expected

Post by Arpanoid »

BenLunt wrote: Sat Dec 13, 2025 1:40 pm Hi,

Bits 19:16 are specified in the EHCI v1.1 Addendum. Each bit indicates an additional capability.

- Ben
https://www.fysnet.net/the_universal_serial_bus.htm
Hi Ben. Thank you very mach. I downloaded the addendum and indeed it specifies those additional fields.

What is still strange and I can't understand: the HCIVERSION register on my both laptops reads as 0x100.
Post Reply