morgan
aeabca2182
upconn fw: refactor Control W/R packet
2024-09-11 11:57:21 +08:00
morgan
16ccd7eada
upconn fw: add tx test packet csr control
2024-09-11 10:17:26 +08:00
morgan
d9888d7647
cxp GW: add test packet to phy
2024-09-11 10:16:47 +08:00
morgan
6b50d83e67
pipeline GW: add test packet
2024-09-11 10:16:35 +08:00
morgan
b2ce43155e
pipeline GW: clean up variable naming
2024-09-10 16:43:54 +08:00
morgan
d81c770e54
upconn GW: clean up
2024-09-10 12:17:51 +08:00
morgan
f83afc7195
main: add testing
2024-09-09 10:52:11 +08:00
morgan
38485aec56
cxp: remove unused import
2024-09-09 10:51:27 +08:00
morgan
7dbeefd0a4
upconn fw: add big endian doc
2024-09-09 10:08:26 +08:00
morgan
fa674e32f5
upconn GW: rename variable
2024-09-09 10:08:26 +08:00
morgan
9f8f8c1ad0
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-09-09 10:08:26 +08:00
morgan
397027876c
cxp upconn firmware: low speed serial setup
...
testing: add trigger & trigger ack CSR to test tranmission prioirty
upconn: add some upconn error for control flow
upconn: add control packet writer
control packet: add u32 & u64 register control
control packet: add CRC calculation & packet type inserter in fw
2024-09-09 10:08:26 +08:00
morgan
8a6e89b2d8
zc706: add CXP_DEMO variant
...
zc706: add fmc pads
zc706: add constraint to fix comma alignment & setup/hold time issue
2024-09-09 10:08:26 +08:00
morgan
f0dda0fcf7
cxp: add upconn interface, downconn PHY & crc
...
testing: add CSR control for tx trigger & trigger ack
upconn: connect trigger, trigger ack & command_packet to UpConnPHY
downconn: add GTX PHY
2024-09-09 10:08:26 +08:00
morgan
04932d630f
cxp pipeline: packet handling pipeline
...
tx pipeline: add CRC32 inserter
tx pipeline: add start & end of packet code inserter
tx pipeline: add packet wrapper for start & stop packet indication
tx pipeline: add code source for trigger & trigger ack packet
tx pipeline: add packet for trigger & trigger ack
tx pipeline: add tx_command_packet for firmware
tx command packet: add fifo to store control packet
2024-09-09 10:08:26 +08:00
morgan
d9fb50c12e
cxp upconn gw: add low speed serial PHY
...
testing: add debug fifo output b4 encoder
cxp upconn: add low speed serial
cxp upconn: add reset, tx_busy, tx_enable
cxp upconn: add clockgen module for 20.83Mbps & 41.66Mbps using counters
cxp upconn: add oserdes using CEInserter
cxp upconn: add packet scheduler with CEInserter
scheduler: send priority packet during word/char boundary
scheduler: send IDLE every 10000 words
scheduler: encode packet before sending to oserdes
2024-09-09 10:08:26 +08:00
morgan
fa5ede6174
cxp downconn gw: add gtx 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-09-09 10:08:26 +08:00
morgan
ce0f302b22
fmc: add cxp_4r_fmc adepter io
2024-09-09 10:08:26 +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
mwojcik
4b3c9a3d08
rtio_mgt: remove support for async messages
2023-10-09 10:35:47 +08:00
mwojcik
779aea7c6a
check subkernel exceptions only when awaited
2023-10-09 10:35:03 +08:00