Jump to content

PE4x series: understanding CLKREQ# and PERST# delay


sNullp

Recommended Posts

My L502x + PE4C + GTX970 setup has some annoying boot up problem, so I spent some time doing experiments and some research, here's what I found regarding these two special signal lines.

 

Basically they are related to how a motherboard initialize a device. Per https://pcisig.com/sites/default/files/specification_documents/MiniEx_M2_ECR_PERST_CLKREQ_Power-up-Reqts_20140918_Final.pdf, we can learned that for a normal motherboard + pcie device, when you press the power button the 3.3V power is firstly established. When the device probes the 3.3V power, it will issue CLKREQ# by lowering its voltage to ground. When the motherboard detects a CLKREQ, it will try to establish the reference clock, then issue PERST# by raise it to 3.3V to let the device know it. After that the device will pick the reference clock and start communicating with the motherboard.

 

For PE4c semantics (http://www.bplus.com.tw/PDF/PE4C_V30_20150129A.pdf), the CLKREQ# is not connected to the GPU at all. It will simply connected to the CLKREQ# delay circuit, which, allowing you to choose how many seconds you want before it lower the wire to ground. However, for PERST#, it connects the motherboard, the GPU and the PERST# delay circuit all together. The PERST# delay circuit will try to raise the signal only after your specific delay time, but it is easy to realize that when the motherboard raise the line to 3.3V first, it doesn't matter anymore how PERST# delay circuit behave.

The problem my laptop (L502x) has is, its motherboard doesn't 100% honor the PCIe standard. More specifically, it uses a global PERST# line, so it will be raised to 3.3V after about 0.5s after power up, globally, including the port you used to connect GPU. Moreover, its BIOS is buggy that it can't support external GPU during boot so enabling GPU while booting will hang the laptop. Also, raising PERST# before CLKREQ# goes to ground is an undefined behavior, and will result the GPU freeze and becoming undetectable.

 

So it looks like a dilemma: If we don't delay any signal, the GPU will be correctly connected upon power up, then BIOS hangs. If we delay CLKREQ# using the on-board circuit, the laptop will still issue PERST# 0.5s after power up so the GPU will freeze. If we try to change PERST# delay switch, I'm sorry, the laptop motherboard is faster than the delay circuit so nothing will change at all.

 

However, right now you might also come up with the solution yourself. If we simply put a small piece of electric tape, on line 22 on the bottom side (PCI Express Mini Card (Mini PCIe) pinout diagram @ pinoutsguide.com) of the mPCIe connector, which blocks motherboard's PERST# signal. We can successfully enable PE4C's PERST# delay circuit. Then, pick a combination that CLKREQ# will goes down before PERST# raise up, you are done! Now the GPU would be detected automatically upon boot without any hot plugging!

 

ps. PE4L has similar PERST# delay circuit implementation, its CLKREQ# is named as DETECT# but it doesn't offer any delay circuit. The 1x/(2x,4x,8x,16x) switch would either connect CLKREQ# to the card, or to the ground at the very first.

  • Thumbs Up 1
Link to comment
Share on other sites

  • 3 months later...

Worth noting that @Doink] also applied the pin22 isolation with his EXP GDC Beast (mPCIe) which too solved issues with booting to a black screen and with failed eGPU detection: http://forum.techinferno.com/implementation-guides-pc/11428-15-asus-n53sn-r9_390x%404gbps-mpcie2-exp-gdc-beast-win10-%5Bdoink%5D.html#post150176

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.