morgan
94d569502b
cxp up conn fw: update test case
2024-08-26 11:57:57 +08:00
morgan
679b430d74
cxp downconn: cleanup debug csr
2024-08-26 10:48:07 +08:00
morgan
7e6d4e186f
cxp downconn fw: replace tx/rx rate with DRP
2024-08-26 10:47:44 +08:00
morgan
7631907d76
cxp downconn: remove tx/rx rate
2024-08-26 10:47:44 +08:00
morgan
95297157c4
zc706: constraint the CXP CLKs & add docs
2024-08-26 10:47:39 +08:00
morgan
f34f500ed8
cxp downconn: refactor to allow gtx extensions
2024-08-22 16:33:51 +08:00
morgan
2dade34119
cxp downconn: refactor QPLl DRP into the module
2024-08-22 15:43:22 +08:00
morgan
1460f5b94b
cxp downconn fw: fix warning and cleanup
2024-08-22 13:34:35 +08:00
morgan
66dee0b812
cxp downconn: update to accept a list of gtx pins
2024-08-22 12:50:17 +08:00
morgan
3102dd8a52
zc706: use 4.0 period constraint to fix s/h issue
2024-08-22 12:49:37 +08:00
morgan
1ddd6f4a4a
zc706: use all CXP HS pads
2024-08-22 12:49:10 +08:00
morgan
6f6e580a92
cxp fmc: fix typo
2024-08-22 10:51:07 +08:00
morgan
f746f66a3a
cxp downconn firmware: GTX setup
...
testing: add loopmode mode & tsusrclk mmcm drp bitbang
testing: add IDLE word printout
downconn: add QPLL and GTX setup
downconn: add DRP to support all CXP linerate up to 12.5Gbps
2024-08-22 10:28:30 +08:00
morgan
7a60c0df84
cxp upconn firmware: init
2024-08-22 10:28:30 +08:00
morgan
7664de57c3
cxp: add upconn, downconn & crc
...
cxp: add crc32 for cxp
cxp: add upconn & downconn
2024-08-22 10:28:30 +08:00
morgan
cce5a079c1
cxp upconn: add low speed serial
...
cxp upconn: add low speed serial
cxp upconn: add pll for bitrate2x mode
cxp upconn: add tx_fifos & idle with encoder
cxp upconn: add priority packet that send in word/char boundary
cxp upconn: disable debug sma & pmod output
2024-08-22 10:28:30 +08:00
morgan
fdfe54bc01
zc706: add constraint to fix comma alignment issue
2024-08-22 10:28:30 +08:00
morgan
bf3a05dd49
cxp downconn: add high speed serial up to 12.5Gbps
...
testing: add txusrclk mmcm & loopback mode
testing: add debug output
downconn: add GTX and QPLL support
downconn: add DRP for GTX and QPLL to support all CXP linerates
GTX: add gtx with mmcm for TXUSRCLK freq requirement
GTX: add loopback mode parameter for testing
GTX: add gtx with 40bits internal width
GTX: use built-in comma aligner
GTX: add comma checker to ensure comma is aligner on highest linerate
GTX: set QPLL as CLK source for GTX
2024-08-22 10:28:30 +08:00
morgan
671de8a512
zc706: add CXP_DEMO variant
...
cxp fmc: add USER LED to allow compilation
cxp fmc: add debug pmod pads
2024-08-22 10:28:30 +08:00
morgan
4fdee6b9a5
fmc: add cxp_4r_fmc adepter io
2024-08-22 10:28:30 +08:00
abdul124
d508c5c6f8
firmware: add unit tests for exception sync
2024-08-21 16:35:03 +08:00
abdul124
bae41253e4
firmware: sync exception names and ids
2024-08-21 16:34:25 +08:00
abdul124
20181e9915
fix nalgebra url
2024-08-07 13:49:03 +08:00
abdul124
a835149619
kernel/linalg: remove redundant unsafe blocks
2024-08-07 13:48:21 +08:00
Sebastien Bourdeauducq
78d6b7ddcf
cargo fmt
2024-08-05 19:37:55 +08:00
Simon Renblad
fad1db9796
comms: remove idle kernel DRTIO error case
2024-08-05 19:28:09 +08:00
Simon Renblad
fee30033ec
comms: run idle kernel on start-up
2024-08-05 19:28:09 +08:00
abdul124
fe6f259d48
kernel: add linalg functions
2024-08-01 18:20:32 +08:00
mwojcik
63f4783687
subkernels: support exceptions from subkernels
2024-07-31 17:22:29 +08:00
mwojcik
69a0b1bfb7
subkernels: raise exceptions to kernel
2024-07-31 17:22:29 +08:00
Sébastien Bourdeauducq
57fd327ecb
rustfmt
2024-07-22 18:55:17 +08:00
abdul124
69d5b11ebf
kernel/api: add nalgebra::linalg methods
2024-07-22 11:57:58 +08:00
abdul124
bab938c563
add nalgebra dependency
...
Co-authored-by: abdul124 <ar@m-labs.hk>
Co-committed-by: abdul124 <ar@m-labs.hk>
2024-07-22 11:13:45 +08:00
mwojcik
d51e5e60c3
repeater: handle async messages
2024-07-09 23:04:34 +08:00
mwojcik
23857eef63
allow toggling SED spread with flash config key
2024-07-09 18:11:20 +08:00
abdul124
3a789889cf
kernel/api: add rint api
2024-07-05 14:53:09 +08:00
mwojcik
72b814f7fd
repeater: clear buffer after ping
2024-07-04 17:30:04 +08:00
morgan
586fd2f17e
Gateware: remove redundant si549.py & wrpll.py
2024-05-30 15:27:16 +08:00
morgan
377f8779a0
kasli soc: refactor to use wrpll from artiq
2024-05-30 15:25:33 +08:00
mwojcik
2b2ebb5354
aux: increase max payload size
2024-05-20 15:20:06 +08:00
morgan
35ea0ed2ca
WRPLL: add filter for DRTIO 100MHz
2024-05-08 18:50:55 +08:00
morgan
cdf4ff24c0
WRPLL: replace PI controller with new filter
2024-05-08 18:50:55 +08:00
morgan
285b02c4b1
WRPLL: remove anti-windup
2024-05-08 18:50:55 +08:00
morgan
53cb592d19
kasli soc: add rtio_frequency cfg for runtime
2024-05-08 16:14:56 +08:00
morgan
1d603c73b7
DDMTD: replace 1st edge to median edge deglitcher
2024-04-29 13:05:02 +08:00
morgan
61315c29b9
Si549: recalibrate TAG_OFFSET for ISERDESE2
2024-04-29 13:03:30 +08:00
morgan
3f57de6ec7
DDMTD: replace FD with ISERDESE2
2024-04-29 13:03:30 +08:00
morgan
cca23aa2a5
wrpll runtime: reduce mmcm output jitter
...
rtio_clocking: update mmcm setting to use HIGH bandwidth
2024-04-29 11:20:50 +08:00
morgan
2bbaea3ad5
SMAFreqMulti: set mmcm bw to HIGH for lower jitter
2024-04-29 11:20:50 +08:00
mwojcik
0a19f8fb89
satman: revert async flag changes
2024-04-26 11:37:14 +08:00
mwojcik
a30c7d1f3a
runtime: drtio aux refactoring, revert async flag
2024-04-26 11:37:14 +08:00
mwojcik
2d10503c20
libboard_artiq: support multiple aux rx buffers
2024-04-24 17:12:57 +08:00
mwojcik
92a29051f7
drtio_aux_controller: support aux_buffer_count
2024-04-24 17:12:39 +08:00
morgan
14fa038118
Firmware: Runtime WRPLL
...
runtime: drive CLK_SEL to true when si549 is used
runtime & libboard_artiq: allow standalone to use io_expander
si549: add bit bang mmcm dynamic configuration
si549: add frequency counter for refclk
rtio_clocking & si549: add 125Mhz wrpll refclk setup
2024-04-12 16:38:46 +08:00
morgan
b81323af30
Firmware: Satman skew calibration & tester
...
cargo template: add calibrate_wrpll_skew feature
tag collector: add TAG_OFFSET for Satman WRPLL
tag collector: add TAG_OFFSET getter & setter for calibration
wrpll: add skew tester and calibration
wrpll: gate calibration behind calibrate_wrpll_skew feature
2024-04-12 16:38:46 +08:00
morgan
291777f764
Firmware: Satman WRPLL
...
satman: drive CLK_SEL to true when si549 is used
satman : add main & helper si549 setup
satman : add WRPLL select_recovered_clock
si549: add tag collector to process gtx & main tags
si549: add frequency counter to set BASE_ADPLL
si549: add set_adpll for main & helper PLL
si549: add main & helper PLL
FIQ & si549: replace dummy with a custom handler for gtx & main tags ISR
2024-04-12 16:38:39 +08:00
morgan
a1d80fb93b
Firmware: Si549 and io_expander
...
io_expander: set CLK_SEL pin to output when si549 is used
io_expander: gate virtual leds for standalone
si549: add bit bang i2c
si549: add si549 programming
si549: add main & helper setup
2024-04-11 15:18:10 +08:00
morgan
7827c7b803
Gateware: kasli_soc WRPLL setup
...
kasli_soc: use enable_wrpll from json to switch from si5324 to si549
kasli_soc: add wrpll for all variants
kasli_soc: add gtx & main tag nFIQ for all variants
kasli_soc: add clk_synth_se for master & satellite
kasli_soc: add wrpll_refclk for runtime
kasli_soc: add skewtester for satman
kasli_soc: add WRPLL_REF_CLK config for firmware
2024-04-11 15:18:10 +08:00
morgan
e4d8d44c7c
Gateware: WRPLL
...
ddmtd: add DDMTD and deglitcher
wrpll: add helper clockdomain
wrpll: add frequency counter
wrpll: add skewtester
wrpll: add gtx & main tag collection
wrpll: add gtx & main tag eventmanager for shared peripheral interrupt
wrpll: add SMA frequency multiplier to generate 125Mhz refclk
si549: add i2c and adpll programmer
2024-04-11 15:18:04 +08:00
morgan
4455f740d2
main: set exception vector table addr
...
linker: add exceptions start & end symbol
2024-03-07 15:37:42 +08:00
morgan
63bf1c81d4
fiq: use dummy handler to fix compilation error
2024-03-07 13:26:52 +08:00
mwojcik
bfb582f99b
cargo fmt
2024-02-01 14:43:41 +08:00
mwojcik
52e64fb2f9
subkernel: use negative ID for argument passing
2024-02-01 14:43:41 +08:00
mwojcik
facc98058c
subkernel: fix DMA return control to wrong master
2024-02-01 14:43:41 +08:00
mwojcik
f0f81dbf8a
subkernel: support no-timeout, message passing
2024-02-01 14:43:41 +08:00
mwojcik
30e6bf4a3a
subkernel: add support for (d)dma
2024-01-11 12:33:02 +08:00
mwojcik
8f4e30dd9c
satman: support sub-subkernels, routing
2024-01-11 12:33:02 +08:00
mwojcik
e31a31c4ff
master: drtioaux:
...
- support async flag
- source in packets
- rerouting packets
2024-01-11 12:33:02 +08:00
mwojcik
6ca1719033
comms: fix compilation on standalone
2023-11-14 14:08:31 +08:00
mwojcik
aebc739c1e
add support for tar flashable (sub)kernels
2023-11-13 11:24:23 +08:00
linuswck
e1b2c45813
kasli_soc & zc706: Fix GTX Clock Path during INIT
2023-11-07 18:55:08 +08:00
linuswck
e6372b9766
zynq_clocking: Allow ext signal to set cur_clk csr
...
- for example, current_clock csr can be connected to tx_init.done
2023-11-07 18:55:08 +08:00
linuswck
07044752b6
zynq_clocking: add ext_async_rst to AsyncRstSYNCR
2023-11-07 18:55:08 +08:00
linuswck
79fc5a7789
zynq_clocking: expose mmcm_locked for SYSCRG
...
- mmcm_locked -> self.mmcm_locked
2023-11-07 18:55:08 +08:00
mwojcik
6c8346ca5f
subkernel: improve stability,
...
fix exception on awaiting message
2023-11-02 16:58:34 +08:00
mwojcik
b76f634686
drtio: increase robustness for longer payloads
2023-11-02 14:48:52 +08:00
morgan
4a34777b97
refactor i2c, io_expander, task under the same cfg
2023-10-25 11:52:04 +08:00
morgan
43e4527392
fix kasli-soc demo compilation warning
2023-10-25 11:45:13 +08:00
mwojcik
0a3bfc9a61
subkernel: separate tags and data
2023-10-18 12:03:43 +08:00
Egor Savkin
d3fbfd75b0
Fix grabber build and warning
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-10-18 11:24:43 +08:00
Egor Savkin
b768d5648c
Add grabber module
...
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-10-16 14:35:20 +08:00
Sebastien Bourdeauducq
812aea33b3
rustfmt
2023-10-11 17:56:30 +08:00
linuswck
136e24f597
kasli-soc: Add BUFG to the IBUFGDS for MMCM CLKIN1
...
- Fix Vivado Compilation Error [DRC REQP-119]
- MMCME2_ADV CLKIN1 and CLKIN2 are now driven from the same source type (BUFG)
2023-10-11 16:45:26 +08:00
linuswck
a4d1be00c0
Firmware: Add drtio_eem.rs support
...
- Port from Artiq repo
- Initialize the drtio_eem on main, rtio_clocking
- Driver for eem_transceiver
2023-10-10 11:22:05 +08:00
linuswck
b15322b6ba
kasli_soc: Add support for shuttler on gateware
...
- Port from artiq repo
- Add EEM_DRTIO gateware
2023-10-10 11:22:05 +08:00
linuswck
8fd1306145
zynq_clocking: Add sys5x, 208MHz CLK & IDELAYCTRL
...
- Port from artiq repo
- Generate sys5x for for EEM Serdes, 208MHz REF Clock for IDELAYCTRL
- Add IDELAYCTRL for IDEALYE2 in EEM Serdes
2023-10-10 11:21:34 +08:00
Sebastien Bourdeauducq
a28a819b18
add manifests target to PHONY
2023-10-09 18:29:53 +08:00
Sebastien Bourdeauducq
3f414278e2
cleanup
2023-10-09 18:28:20 +08:00
Sebastien Bourdeauducq
e5aafad60d
force cargo to use our copy of zynq-rs
2023-10-09 18:27:58 +08:00
mwojcik
b9a0bcabeb
ksupport: fix build on acpki variants
2023-10-09 17:10:45 +08:00
mwojcik
8eb359ee42
cargo fmt
2023-10-09 11:50:47 +08:00
mwojcik
7263862fd8
satellite: support optional args
2023-10-09 11:42:51 +08:00
mwojcik
29cc0a6e28
ddma/subkernel: fix wrong destination reported
2023-10-09 11:42:51 +08:00
mwojcik
616c40429e
satellite: process kernel requests more often
2023-10-09 11:42:51 +08:00
mwojcik
3ea8147966
subkernel: send async statuses when requested
2023-10-09 11:42:51 +08:00
mwojcik
cb79c12284
satellite: support subkernels
2023-10-09 11:42:51 +08:00
mwojcik
623cc7b79e
libkernel -> ksupport
2023-10-09 11:42:51 +08:00
mwojcik
49205eea17
satellite gateware: add kernel rtio to cri
2023-10-09 11:36:23 +08:00
mwojcik
6885c618b5
move kernel-related code to separate library
2023-10-09 11:36:23 +08:00
mwojcik
c696fd826f
master: support optional args
2023-10-09 10:35:47 +08:00