[coreboot] Question about PCIe separate reference clock

Zoran Stojsavljevic zoran.stojsavljevic at gmail.com
Thu Jan 12 20:04:48 CET 2017


> Zheng: We do NOT sync these two.

You must, as my best understanding is.

> Zheng: yes. Asynchronous.

They should (be forced to) be made synchronous (on the extension card).

> The VPX connector does not have a PCIe ref clock signal, so we can not send
> CPU PCIe ref clock to device.  The PCIe spec says if the separate refclk on devices
> should be 100MHz ± 300PPM, with SSC off.

I doubt. There is no way that two asynchronized clocks, however they
are locally stabilized, be synchronized. After some (?) time they'll
drift beyond 50% of the base cycle. Whatever this some (?) time will
be.

This is why when you (by)pass by wire local reference clock from CPU
to extension card, data transfer seamlessly (synchronously) works.

I need to see VPX connector pin layout. It must be somewhere some info
passed/encoded to PCIe card via VPX connector with info about the
clock (some diff signal passed, or some encoded sync), or integrated
in some other signal (which must be extracted after passing the
connector to the extension card).

Do you have some reference design you can compare your proprietary design with?

Predrag can also (he is HW person domain) put/comment some of his
thoughts on this thread (if Predrag wants). As well as some other
people (from Coreboot list).

Zoran
_______

On 1/12/17, Zheng Bao <fishbaoz at hotmail.com> wrote:
> Q: do you use local xtal attached to   Si52111-B5 to generate local PCIe
> 25MHz clock?
>
> Zheng: yes
>
>
> Q: If you dothis, my next question is how you synchronize these two clocks:
> Local
> PCIe 25 MHz and common reference clock from CPU?
>
> Zheng: We do NOT sync these two.
>
> Q: Since these two clocks, as I understand above scenario, are
> asynchronous to each other?!
>
> Zheng: yes. Asynchronous.
>
>
> The VPX connector does not have a PCIe ref clock signal, so we can not send
> CPU PCIe ref clock to
>
> device.  The PCIe spec says if the separate refclk on devices should be
> 100MHz ± 300PPM, with SSC
>
> off.  We believe our board meet this requirement. So we doubt the problem
> lies in PCI configration space.
>
>
> Zheng
>
>
> ________________________________
> From: Zoran Stojsavljevic <zoran.stojsavljevic at gmail.com>
> Sent: Thursday, January 12, 2017 9:22 AM
> To: Zheng Bao; Predrag Vidic
> Cc: coreboot at coreboot.org
> Subject: Re: [coreboot] Question about PCIe separate reference clock
>
> Hello Zheng,
>
> For decades, I've been FW/SW engineer, but I do understand a little
> bit of a HW. I have looked into the Si52111-B5 data sheet for
> clarification.
>
> My problem here is to understand, your use case: do you use local xtal
> attached to   Si52111-B5 to generate local PCIe 25MHz clock? If you do
> this, my next question is how you synchronize these two clocks: Local
> PCIe 25 MHz and common reference clock from CPU?
>
> Since these two clocks, as I understand above scenario, are
> asynchronous to each other?!
>
> Please, clarify for us your use case.
>
> Thank you,
> Zoran
> _______
>
> On 1/12/17, Zheng Bao <fishbaoz at hotmail.com> wrote:
>> Our VPX design uses separate reference clock source, which is Si52111-B5
>> (No
>> spread), instead of common ref clock from CPU.
>> Now The system is unstable. Reading PCIE configuration space is unstable
>> too. (If we add some fly wire to make it work with common ref clock, the
>> system becomes stable.)
>>
>> (abstracted from PCIe spec: 12 Slot Clock Configuration - This bit
>> indicates
>> that the
>> component uses the same physical reference clock that the
>> platform provides on the connector. If the device uses an
>> independent clock irrespective of the presence of a reference
>> clock on the connector, this bit must be clear.
>> For a multi-Function device, each Function must report the
>> same value for this bit.)
>>
>> Based on my understanding, the BIOS need to read bit "Slot Clock
>> Configurationclear" to see if
>> separate ref clock is used.  BIOS then write bit "Common Clock
>> Configuration".
>>
>> On our board, the bit "Slot Clock Configuration" is always 1, which I
>> assume
>> should be 0.
>>
>> My question is, how the hardware affect the bit "Slot Clock
>> Configuration"?
>> How do we need to design our board to make the bit "Slot Clock
>> Configuration" be 0?
>>
>> Thanks.
>>
>> Zheng
>>
>>
>



More information about the coreboot mailing list