1. 20 Dec, 2013 3 commits
  2. 16 Dec, 2013 2 commits
  3. 06 Dec, 2013 1 commit
  4. 02 Dec, 2013 2 commits
  5. 29 Nov, 2013 6 commits
  6. 26 Nov, 2013 4 commits
  7. 19 Nov, 2013 1 commit
    • Wesley W. Terpstra's avatar
      eca: datatype fattening patch · 0a65f5dd
      Wesley W. Terpstra authored
      This patch does five things:
        - Increase param from 32 to 64 bits (CCT wanted more space)
        - Added a timing extension field (tef) to include fine delay & future proof
        - Rework the register layout to accomodate these changes
        - Flatten all channels into a single register bank
        - Sort old+new tuple elements alphabetically
      0a65f5dd
  8. 14 Nov, 2013 1 commit
  9. 01 Nov, 2013 1 commit
  10. 28 Oct, 2013 1 commit
  11. 25 Oct, 2013 1 commit
  12. 23 Oct, 2013 1 commit
  13. 04 Oct, 2013 2 commits
    • Wesley W. Terpstra's avatar
      altera phy: at some point tx_disparity_o timing changed => updated · ebc5758d
      Wesley W. Terpstra authored
      The WR TX path in the endpoint reset disparity to minus.
      To do this, it needs the disparity from the transceiver.
      Previously the disparity had to be delayed a few cycles.
      At some point this must have changed.
      
      Now the core goes back to sending
        0x17C = K28_5 minus
      as commas after packet boundaries.
      ebc5758d
    • Wesley W. Terpstra's avatar
      arria5 phy: use manual bitslide · 9ca2585f
      Wesley W. Terpstra authored
      The new-fangled RX clock shifting alignment in arria5 does not work.
      It is only able to shift 2 clock bits, leaving one (unreported) bit
      that gets slipped, resulting in a randomly occuring +800ps offset.
      
      Using manual bit alignment mode requires that we enable it using
      the avalon-mm management interface, however. Hence the random values
      we hard-wire into the phy_mgmt_* lines. Without writing a '1' to
      rx_enapatternalign (bit 0) in register 0x85 (pcs8g_rx_wa_control)
      you will only get a link 1/10th of the time as it does not align.
      9ca2585f
  14. 27 Sep, 2013 4 commits
  15. 26 Sep, 2013 7 commits
  16. 23 Sep, 2013 1 commit
  17. 17 Sep, 2013 2 commits
    • Wesley W. Terpstra's avatar
      arria5: expose async transceiver lock signal · 2af1fd96
      Wesley W. Terpstra authored
      Now that we reset all PLLs together, the transceiver lock must
      not depend on clk_sys running.
      2af1fd96
    • Wesley W. Terpstra's avatar
      arria5: work around buggy PLL reset and compensate phase · e6062d61
      Wesley W. Terpstra authored
      The problems with white rabbit reliability on arria5 were due to
      two problems, both due to the WR reference fPLL.
      
      Problem #1:
      
      The fPLLs do not lock properly at power-on. They often ended up with
      outputs that are aligned to the VCO but not the input clock. This
      caused problems because it destroys the ref-tx phase relationship.
      
      This is solved by including a core to reset the PLLs.
      
      Problem #2:
      
      Both the fPLL and transceiver introduce delay relative to the WR input
      clock. Unfortunately, timequest does NOT analysis this phase relationship.
      In order to ensure a safe transfer between the domains, we must:
      a) logic lock the clk_tx and clk_ref registers beside each other
      b) find the right fPLL offset to feed the clk_tx
      
      I tried every nanosecond phase offset and recorded the results of WR below:
         0 xoxoooooxxxxxx
      1000 ................
      2000 ................
      3000 ...............
      4000 ............
      5000 .x.xx.xx.x..xxx
      6000 xxxxxxxxxxxxxxx
      7000 xxxxxxxxxxxxxx
      
      . = successful track
      x = sync phase hangs at -4000ps
      o = track phase that goes crazy
      e6062d61