Commit Graph

223 Commits

Author SHA1 Message Date
Egor Savkin 2d88a44e1c Add grabber module
Signed-off-by: Egor Savkin <es@m-labs.hk>

(cherry picked from commit b768d5648c)
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-10-17 16:55:24 +08:00
morgan 00c5ee01b0 feature: add SFP0..3 LED indication
io_expander.rs: add virtual_led_mapping in IoExpander
                set SFP LED at .service()
kasli_soc.py: add virtual_leds csr device
              couple virtual_leds.get(i) with rx_ready status
runtime main: add async task io_expanders_service()
satman main: add io_expander service after link up/down
2023-09-04 16:08:36 +08:00
morgan b47152f2c2 Fix I2C I/O expander settings for VUSB_PRESENT_N on Kasli-SoC 1.1
Co-authored-by: morgan <mc@m-labs.hk>
Co-committed-by: morgan <mc@m-labs.hk>
2023-09-04 15:50:45 +08:00
morgan 5597927df9 change io_expander not to borrow i2c indefinitely 2023-08-31 14:58:00 +08:00
Jonathan Coates da0eedaa76 Fix mismatched signatures for the wide interface 2023-04-17 10:16:33 +08:00
Egor Savkin 2a71b2fc62 satman: drive SFP TX_DISABLE 2023-02-19 16:47:24 +08:00
David Nadlinger 2ad1970004 rpc: Port over size/alignment fix for structs (tuples) with tail padding
This ports over the following commits from the main ARTIQ repo:
 - 8740ec3dd52d85084237797881ea137492bfe070
 - dbbe8e8ed4f852e623775b7bd3aec818cdd03376
 - b9f13d48aa7e2c0652210152b971b21c3c419347
2023-02-17 17:31:35 +08:00
Egor Savkin 99ebc2fcdb runtime: drive SFP TX_DISABLE
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-02-17 16:48:51 +08:00
Egor Savkin 709aa8195b Fix idle/startup_kernel typos in config
Signed-off-by: Egor Savkin <es@m-labs.hk>
2023-01-03 11:03:58 +08:00
mwojcik facc5808ef match ident message with mainline 2022-10-21 12:28:50 +08:00
kk105 b638fce069 update SEEN_ASYNC_ERRORS in destination_survey (#195)
Co-authored-by: kk105 <kkl@m-kabs.hk>
Reviewed-on: #195
Co-authored-by: kk105 <kkl@m-labs.hk>
Co-committed-by: kk105 <kkl@m-labs.hk>
2022-06-20 17:41:08 +08:00
occheung e3ed41ff32 fix index table reference type 2022-06-01 18:35:50 +08:00
mwojcik 7a8f96dbd9 rtio_mgt: use mutex's async_lock 2022-05-25 10:39:06 +08:00
mwojcik 4f457d9c24 moninj: log link down at debug level 2022-05-25 10:37:38 +08:00
mwojcik 24df52268e moninj: restructure timeout
stop logging errors if satellite is unavailable
drtio: don't even send message if link is down
2022-05-25 10:37:38 +08:00
mwojcik 48c9b43171 moninj: make it use async drtioaux 2022-05-25 10:37:38 +08:00
mwojcik 78bc162749 rtio_clocking: remove loop 2022-04-12 13:33:52 +08:00
mwojcik 433a9cdaf1 runtime: fix warnings on nondrtio systems 2022-03-29 10:05:11 +08:00
Sebastien Bourdeauducq a79bef2243 runtime: provide/fix more libc mem functions 2022-03-28 13:24:01 +08:00
Sebastien Bourdeauducq c6ef9b117c fix previous commit 2022-03-26 20:08:11 +08:00
Sebastien Bourdeauducq dcfaf587ec firmware: add UnwrapNoneError exception 2022-03-26 15:29:40 +08:00
mwojcik a92561b9d3 implement rtio_get_destination_status (#177)
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2022-03-25 18:20:05 +08:00
Sebastien Bourdeauducq 161044e78f drop support for big-endian moninj 2022-03-19 23:01:36 +08:00
Sebastien Bourdeauducq 426500d2f9 firmware: support 64-bit moninj probes 2022-03-17 20:26:44 +08:00
Sebastien Bourdeauducq 0530e596ba mgmt: remove spurious config write warning 2022-03-16 08:24:52 +08:00
Sebastien Bourdeauducq 7502f3a765 update dependencies 2022-03-10 17:25:40 +08:00
pca006132 ae0d724bf8 runtime: use &CSlice for lists 2022-03-10 16:30:34 +08:00
occheung 6c834899e9 si5324: fix clock source 2022-03-09 13:55:36 +08:00
spaqin 4f2a0986da rtio_clocking: fix wrong descriptions 2022-03-03 10:24:13 +08:00
spaqin 4a2218641f fix BorrowMutError in moninj 2022-03-02 15:45:17 +08:00
mwojcik 9a06cd9d27 expose pca954x_select api (#167)
PR accompanying to ARTIQ's PCA954X support (#1860).
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2022-03-02 10:52:27 +08:00
Sebastien Bourdeauducq b56b50b147 add comment about EXCEPTION_ID_LOOKUP sync 2022-03-01 09:50:28 +08:00
pca006132 f38117774f runtime/eh_artiq: updated exception IDs
Fixes #166
2022-02-28 21:15:07 +08:00
Sebastien Bourdeauducq 880ba6b206 runtime: add nac3 exception symbols 2022-02-23 11:05:08 +08:00
pca006132 6f5ba46e89 runtime/eh_artiq: support exception allocation
The backtrace is now nested, and should be used together with the stack
pointer array to construct the full backtrace for each exception.
We now allocate exception objects in a stack, but their names are still
not allocated. This is fine for exceptions raised in the driver or artiq
code, but we will have to implement allocation for names of exceptions
raised in RPC calls. The compiler should also emit code to store the
exception names once they catch it, to prepare for later reraising.
2022-01-23 21:31:22 +08:00
pca006132 8923feceac runtime/eh_artiq: use forced unwind
This patches ports the LLVM libunwind newly added forced unwinding
function. This enables us to run forced unwinding to obtain correct
backtrace when uncaught exceptions occur.

This patch also changes the exception handling scheme from the standard
two-phase unwinding to single phase using forced unwinding. This brings
some performance improvement and prepared for later nested exception
support. For nested exceptions, we will have to record the backtrace
regardless if the exception is an uncaught exception, as there can be
another exception being thrown while executing the finally block for
caught exceptions, and we will lose the backtrace if we don't store it
earlier before running the cleanup pads.
2022-01-14 13:35:24 +08:00
pca006132 acaf388dbb eh_artiq: handle catch clauses appropriately 2022-01-06 13:41:47 +08:00
pca006132 8788d6458e runtime/rpc: fixes alignment and size problem 2022-01-04 18:25:53 +08:00
stevefan1999 84becfe2c0 report async errors upon kernel termination
Port of 4a6bea479a

Co-authored-by: Steve Fan <sf@m-labs.hk>
Reviewed-on: #156
Co-authored-by: stevefan1999 <sf@m-labs.hk>
Co-committed-by: stevefan1999 <sf@m-labs.hk>
2021-12-06 17:38:55 +08:00
mwojcik 31fb2b388a Support for DRTIO 100MHz (#155)
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2021-12-03 17:19:42 +08:00
mwojcik 8be5048cd3 upgrade to new clock configuration system (#152)
As mentioned in https://github.com/m-labs/artiq/issues/1735 - this is the Zynq version.

Reviewed-on: #152
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2021-11-29 11:17:59 +08:00
Sebastien Bourdeauducq a5e3580d18 Revert "runtime: expose rint from libm"
This reverts commit 3582af564d.
2021-10-11 08:13:26 +08:00
Sebastien Bourdeauducq 3582af564d runtime: expose rint from libm 2021-10-10 20:40:29 +08:00
mwojcik aaec0abdf6 fix build/warnings before drtio is fully merged 2021-10-06 16:17:19 +08:00
mwojcik 50262b3f0c runtime: link_thread -> link_task 2021-10-06 07:59:55 +02:00
mwojcik 827c6c1306 runtime: switch to libio/libboard_artiq, add DRTIO mastering support
Reviewed-on: #137
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2021-10-06 13:05:45 +08:00
mwojcik e3d3cb2311 si5324: bring on par with mainline ARTIQ (#132)
si5324 driver in runtime should be now equal in function to the one in artiq.

kasli-soc has no way of doing a hard reset on the peripheral, but zc706 does.

Reviewed-on: #132
Co-authored-by: mwojcik <mw@m-labs.hk>
Co-committed-by: mwojcik <mw@m-labs.hk>
2021-08-04 09:12:38 +08:00
Sebastien Bourdeauducq f543501012 si5324: remove debug print 2021-08-02 14:14:59 +08:00
Sebastien Bourdeauducq 111ac0c716 runtime: clock Si5324 from its crystal 2021-07-30 17:07:58 +08:00
Sebastien Bourdeauducq 8128dc0b56 Revert "kasli-soc: work around I2C breakage (#130)"
This reverts commit f1fd55dee5.
2021-07-30 16:55:06 +08:00