I am seeing the same behavior with the RMH enabled. Portsc of the debug port reports no device connected to the debug port, thus ENABLE in the debug port ctrl/status register will never turn on.
Is the debug port supposed to only work with RMH disabled?
What is required to get the debug port 'muxed' in to the RMH port 1?
Following what Intel says into the PCH specification, the RMH should not have any impact on debug port configuration. If RMH is disabled, debug port is still ehci portsc #1 and other ports are accessed directly through ehci portsc registers. If RMH is enabled, ehci portsc #0 is connected to RMH and you have to craft special hub descriptors to get/set port status, but debug port remains at ehci portsc #1 and we should be able to detect status/enable change into this register when a new device is connected. However this fails !
I've tested debug port under windows 7, and this top of the pop OS is only able to make use of the debug port once the operating system has started. This maybe means that the full usb stack of windows, which is able to craft request to hubs is needed to talk to the RMH to effectively set/get status via the RMH. But this should be investigated. If it's the case, Intel did not respect the debug port specification which by no means tell to retrieve usb port status through hub requests.
If one of the PCH Intel engineer is lurking here .... please help us
Before resetting the corresponding portsc, make sure to set the "own" bit into the debugport control and status register. And you will see enabled/connected bits into the corresponding portsc after reset if you connected an highspeed device.
This works !
Hey did you find an answer to your question about disabling the RMH. I have a different problem. I have a system that uses 5-deep hubs that are deployed around the country, now intel has changed the maximum hubdepth which means my systems won't work with new intel chipsets. I would like to just disable the RMH so the host controller maps out at least one port not through a HUB, but I too could not find some configuration to disable the RMH.
No i didn't find a way to disable it. I just found how to properly make use of it through the debug port.
However, my bios did not allow me to disable the RMH (Dell computer) but i found (google) some bios updates that add that feature for some machines.
What you only need imho, is to find the proper system register (maybe in the pci config space or something like that) that allow you to disable it. You can try by taking two bioses built for a specific model one with the "RMH disable" feature and the other without it and bindiff them to locate the change and understand how they made it. You should repeat the process with different machines/bioses to check if it is or not the same register that is used to disable the RMH.