Graphics
Intel® graphics drivers and software, compatibility, troubleshooting, performance, and optimization
20622 Discussions

EHCI debug port for P55 PCH

idata
Employee
3,076 Views

I'm unable to detect for an high speed device connected to the ehci debug port, and thus can not use the debug port. The chipset specification tells about the debug port that it is muxed between RMH port 1 and EHCI port 1 (see "section 5.19.1").

So if i'm correct, and following what is described at "section 16.2.2.9", the RMH port 1 should be reflected to ehci port 1. Thus i should be able to detect for instance connect status change by reading the PORTSC memory mapped register found at MEM_BASE + 68–6Bh, without having to talk to the RMH using specific hub class descriptors to get the port status. It should only be the case for ehci port 0 and so downstream classic hub ports. But the debug port is appart, the RMH should know that.

The fact is that no modern Operating System (recent Linux kernel 2.6.34, Windows 7) is able to enable this debug port at boot time maybe because of this incorrect status reported by the ehci portsc # 1. However, windows 7 is only able to enable the debug port once booted. Maybe this means that the debug port driver is using usb hub descriptors to get port status. But according to your specification, it should not be needed !

My motherboard comes from a Dell Inspiron 580 workstation. And Dell won't be able to help me on that. Their BIOS is also so lame, that there is no feature provided to disable the RMH and check if my code will work without it (as it works on many other chips, AMD SB600, ICHxx, ...).

So for the sake of peace of mind, could you please tell me which chipset configuration register is used to enable/disable the RMH and do proper tests ? As your BIOS for the DP55WG for instance provides the feature, you should be able to help me on that ? Is it so sensitive that the piece of information is only provided to BIOS manufacturers ?

Regards

0 Kudos
5 Replies
idata
Employee
922 Views

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?

Thanks,

0 Kudos
idata
Employee
922 Views

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

0 Kudos
idata
Employee
922 Views

Hi,

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 !

0 Kudos
idata
Employee
922 Views

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.

Thanks,

0 Kudos
idata
Employee
922 Views

Hello,

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.

0 Kudos
Reply