Page 1 of 1

EHCI controller, HCCPARAMS reserved bits are not as expected

Posted: Sat Dec 13, 2025 10:58 am
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.

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

Posted: Sat Dec 13, 2025 1:40 pm
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

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

Posted: Sat Dec 13, 2025 2:51 pm
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.