Commit Graph

6180 Commits (ef377e58be9e653b45841c6e2748df7993dc13b8)

Author SHA1 Message Date
Laszlo Nagy a3e049ae03 scripts/adi_project_xilinx: Set number of parallel OOC jobs through environment variable 2021-07-13 10:09:08 +03:00
Iacob_Liviu 30b491fff7 tb: jesd204: update and automate frame_align_tb
Fix jesd204 frame_aligh_tb by adding a fifo to solve rx and tx delay.
It saves the data from tx and compares it with the recieved ones from
rx.
2021-07-12 10:30:49 +01:00
David Winter cdda184007 adi_board: Rewrite ad_connect to support all input permutations
The goal of this commit is to make sure there isn't any significance to
the order in which parameters of ad_connect are specified.

As an example, previously you could only `ad_connect target VCC`, while
`ad_connect VCC target` would fail.

Note: This code intentionally ignores bd_{,intf_}ports, because
these can all be treated as bd_pins.

Signed-off-by: David Winter <david.winter@analog.com>
2021-07-09 12:43:31 +03:00
Josh Blum e1829a061d adrv9001: fixes for reset metastability on xilinx ioserdes
* fixes DRC warning that the clocking configuration may result in data errors
* fixes ioserdes reset issue with synchronous de-assert in data clock domain
2021-07-09 11:11:04 +03:00
alin724 e61cadb2ca axi_dmac: Restore axi_dmac_regmap_request to f7b8a2d version 2021-07-02 15:52:48 +03:00
David Winter 30cc7d7420 axi_tdd: Add standalone axi_tdd IP core
This commit adds a standalone TDD IP core based on the
existing up_tdd_cntrl module and the up_axi pcore <-> axi bridge.

Signed-off-by: David Winter <david.winter@analog.com>
2021-06-26 08:27:54 +03:00
Laszlo Nagy 20161cf458 xilinx/axi_adxcvr/axi_adxcvr_mdrp: Fix read if all channels are selected
If all channels are selected for read the values and ready signals from every
transceiver are combined. Each element merges his signals with the previous.
The first element of the chain must assume the previous channel is always ready.
2021-06-25 14:15:59 +03:00
Laszlo Nagy 2995f78751 Revert "modified transceiver configuration files"
This reverts commit 829e4155ca.

The first element of the read chain must assume there is no valid element
in front of it.  For each element the ready signal of the transceiver should be
routed if the channel is selected either by channel number or broadcast.
When the current element is not selected it should forward the ready signal from
the previous element, however this is not the case for the first one.

Having a constant 1'b1 connected to the ready input of the first element
corrupts the first read of the first channel after a channel switch.

This change will break broadcast reads.
2021-06-25 14:15:59 +03:00
stefan.raus 63ac142874 adrv9001:a10soc:system_qsys.tcl: set clock polarity to 0
For fixing "Failed to reset the device and set SPI Config"
error, both clockPolarity and clockPhase should be disabled
or both enabled. By default both are unset.

Signed-off-by: Stefan Raus <stefan.raus@analog.com>
2021-06-16 11:42:50 +03:00
David Winter 386afd8511 up_tdd_cntrl: Add magic value "TDDC"
Adds a magic identification value of 0x54444443 at word address 0x3.
It is derived from the ASCII String "TDDC" interpreted as a big-endian
32-bit unsigned integer.

Signed-off-by: David Winter <david.winter@analog.com>
2021-06-14 16:50:59 +03:00
David Winter f2017050ed axi_ad9361: Fix typo in tdd interface
As alluded to in the subject, this commit simply fixes what appears
to be a copy-paste bug.

Signed-off-by: David Winter <david.winter@analog.com>
2021-06-14 16:50:47 +03:00
Laszlo Nagy bf77271fb3 axi_adxcvr: Increase version to 17.4.a
Add support for:
  - 204C support for GTH
  - added second clock output for util_xcvr used in case for GTH
  - PROG_DIV support for GTH and GTY
2021-06-10 09:53:43 +03:00
Laszlo Nagy 505142f7f8 xilinx/axi_adxcvr: Expose PLL status in status bit 2021-06-10 09:53:43 +03:00
Laszlo Nagy b4c8a559fc util_adxcvr: Hook up RXPROGDIVRESET 2021-06-10 09:53:43 +03:00
Laszlo Nagy 75b965e87f ad9081_fmca_ebz/zcu102: Enable 204C modes 2021-06-10 09:53:43 +03:00
Laszlo Nagy 6637436c2e scripts/adi_board.tcl: Use div2 out clock from xcvr in case of GTH and 204C 2021-06-10 09:53:43 +03:00
Laszlo Nagy d743406ecd util_adxcvr: Add 204C support for GTH3/4
For GTH3/4  64b66b mode add a second clock that drives CLKUSR with a clock
that is 2x of the CLKUSR2 (lane rate/66),
   CLKUSR = 2 x CLKUSR2
   CLKUSR = lane rate / 33

This can be driven from the GT reference clock or second out clock div2.

This commit also:
- fix eyescan scale on GTY
- remove irrelevant parameters
2021-06-10 09:53:43 +03:00
Laszlo Nagy c0775adac3 util_adxcvr/util_adxcvr_xch: Place 204C logic to a common place 2021-06-10 09:53:43 +03:00
Laszlo Nagy 27465ce9c0 ad9081_fmca_ebz/zcu102: Fix spaces 2021-06-10 09:53:43 +03:00
sergiu arpadi 7b7609d21a ad469x: Clean system_project.tcl 2021-06-03 15:41:58 +03:00
Alin-Tudor Sferle 54c65013aa
Fix registers mismatches in regmap_tb from jesd 204 rx/tx and dmac
* dmac_tb: Fix regmap_tb registers mismatches

* jesd204: Fix jes204 rx and tx regmap_tb Octets per multiframe mismatch
2021-05-31 16:47:12 +03:00
Laszlo Nagy aa180fb272 axi_adrv9001: Let gate signals have initial value, useful for simulation 2021-05-26 15:44:45 +03:00
Laszlo Nagy b85784ebe8 axi_adrv9001: rx: calculate ramp value based on received value 2021-05-26 15:44:45 +03:00
Laszlo Nagy 9a93b56882 axi_adrv9001:rx: Add reset to link layer
Fix random valid signals after resets on the Rx interface.
2021-05-26 15:44:45 +03:00
Laszlo Nagy 4c35af74d4 axi_adrv9001:rx:phy: do not generate valid while in reset 2021-05-26 15:44:45 +03:00
Laszlo Nagy 32dbde6945 axi_adrv9001: Allow running Rx2/Tx2 channels in R1 mode without Rx1/Tx1
This commit removes the deadlock created while trying to use the Rx2/Tx2
channels without the Rx1/Tx1 channels enabled first.
2021-05-26 15:44:45 +03:00
Laszlo Nagy 1502b940d3 common/up_dac_common: Expose r1_mode in up clock domain to prevent deadlock
If R1 mode is first syncronized to the dac clock domain will prevent its
usage if the dac clock is missing. In such case the synchronization will not
propagate.
2021-05-26 15:44:45 +03:00
Laszlo Nagy d9bc014c98 adrv9001/zcu102: Enable independent Tx from Rx in CMOS mode 2021-05-26 15:44:45 +03:00
Laszlo Nagy 08b0d19731 axi_adrv9001: Populate correct ratio of the SSI interface and user interface clocks
Depending on FPGA technology the physical layer uses different
deserialization factors and corresponding clock division factors to
divide the source synchronous interface clock. This must be
exposed to software so it can act on it while setting the DDS rate.

Xilinx CMOS clock ratio - 4
Xilinx LVDS clock ratio - 4
Intel  CMOS clock ratio - 1
2021-05-26 15:44:45 +03:00
Laszlo Nagy 568bef4a38 adrv9001/a10soc: Initial version
This project supports CMOS mode only.
2021-05-26 15:44:45 +03:00
Owen McAree 5d008c3eca Correct constraints file pin mapping 2021-05-25 16:27:58 +03:00
Laszlo Nagy 0ad691a603 ad9081_fmca_ebz/zcu102: Differentiate parameters based on lane rate 2021-05-14 15:39:40 +03:00
Laszlo Nagy 8183599b51 ad9081_fmca_ebz/zcu102: Fix typo 2021-05-14 15:39:40 +03:00
Laszlo Nagy cf7f45ffcc ad9081_fmca_ebz: Fix for F=8 2021-05-14 15:39:40 +03:00
Laszlo Nagy 9b50e2baa5 util_adxcvr/util_adxcvr_xch: Fix typo 2021-05-14 15:39:40 +03:00
Laszlo Nagy 7b2ba41bdd ad9081_fmca_ebz/vcu118: Adjust QPLL params and diff swing
This commit fixes the 16.5Gbps lane rate case where the link drops
after few seconds an initial successful link up happens.
A few seconds delayed calibration process can workaround this but with
having the differential drivers swing increased this is no longer
required.
2021-05-14 15:39:40 +03:00
Laszlo Nagy e1b73545e4 util_adxcvr: GTY TX phase and delay alignment circuit power down.
Tied High when a) TX buffer bypass is not in use;
see UG578
2021-05-14 15:39:40 +03:00
Laszlo Nagy ef69fe36db util_adxcvr: Add PPF1_CFG parameter 2021-05-14 15:39:40 +03:00
Laszlo Nagy eba3409d78 ad9082_fmca_ebz: Use 9081 system_bd, updated comments 2021-05-14 15:39:40 +03:00
Laszlo Nagy 0d9e38bdbe ad9081_fmca_ebz: Update path to common block design
Use absolute paths so ad9082 wrapper project can include the
system_bd.tcl instead of duplicating code.
2021-05-14 15:39:40 +03:00
Laszlo Nagy 680d28476c ad9081_fmca_ebz: Add LANE_RATE param to all projects
The block design expects a lane rate to be set in the system project.
2021-05-14 15:39:40 +03:00
Laszlo Nagy bd6ec360e2 ad9081_fmca_ebz/vcu118: Set XCVR params for 204C link
Set XCVR parameter for 204C 24.75 Gbps with a  dynamic range of 10Gbps..24.75Gpbs

Organize XCVR params based on lane rate
2021-05-14 15:39:40 +03:00
Laszlo Nagy 693c002668 ad9081_fmca_ebz/common/ad9081_fmca_ebz_bd: Add 204C support for XCVR
Remove Xilinx PHY and simplify project
2021-05-14 15:39:40 +03:00
Laszlo Nagy d92f925b06 ad9081_fmca_ebz: Disable XBAR from DAC TPL 2021-05-14 15:39:40 +03:00
Laszlo Nagy 001e7a52b1 util_adxcvr: Add LANE_RATE parameter so it can be used for automatic constraint generation
Add separate LANE_RATE for TX and RX
2021-05-14 15:39:40 +03:00
Laszlo Nagy cb5e66ff9c xilinx/util_adxcvr: 204C link support for GTY4
Set channel parameters based on link mode (1 - 204b or 2 - 204c).
2021-05-14 15:39:40 +03:00
Laszlo Nagy 2d13b5b8cd xilinx/axi_adxcvr: Add 204C support, increase version to 17.3.a 2021-05-14 15:39:40 +03:00
Laszlo Nagy 77a5edaa83 scripts/adi_board.tcl: In 204C do not connect SYNC
Take link mode parameter from util_adxcvr, check it against the axi_adxcvr.
2021-05-14 15:39:40 +03:00
Laszlo Nagy 60612720cd jesd204/jesd204_common/sync_header_align: Initial version
This module creates sync header alignment described in section 7.6.1 of
the JESD 204C specification.

The alignment relies on the bitslip capability of the connected
transceiver.
2021-05-14 15:39:40 +03:00
Laszlo Nagy 0c0c6843e3 jesd204/axi_jesd204: Complete clock definitions in out of context mode 2021-05-14 15:39:40 +03:00