Egor Savkin
1852491102
add channel names to RTIO errors
2022-12-02 16:27:03 +08:00
Michael Birtwell
50dbda4f43
Use new ip_addr_storage module instead of net_settings
...
Necessary to avoid needing the alloc only trait impls in net_settings
when compiling the bootloader.
2022-04-24 10:10:43 +08:00
Michael Birtwell
95378cf9c9
Centralise all uses of the IPv4 index in net_settings.rs
2022-04-24 10:10:43 +08:00
Michael Birtwell
1fe59d27dc
Use an Ipv4AddrConfig enum instead of the USE_DHCP constant
2022-04-24 10:10:43 +08:00
Michael Birtwell
6ffb1f83ee
DHCP support for core device firmware
...
DHCP is enabled by setting the `ip` config entry to "use_dhcp". Reusing this
config field rather than creating a new one means that there is no ambiguity
over which config field takes precedence.
Adds a thread to configure the interface based on DHCP events
Adds a `Dhcpv4Socket` as a wrapper around smoltcp's version
Formalises the storage of the IP addresses so that we can update one in
another module.
There's also a workaround for the first DHCP discover packet frequently
going missing.
Signed-off-by: Michael Birtwell <michael.birtwell@oxionics.com>
2022-04-24 10:10:14 +08:00
Michael Birtwell
c60de48a30
Upgrade smoltcp 0.6.0 -> 0.8.0
...
Main changes:
Deal with interfaces now being generic over mediums, update interface name
and initialisation.
Interfaces now own their sockets. So we store a reference to the Interface
instead of the SocketSet in Scheduler and IO.
Sockets are no longer reference counted. We never called the function to
increase the socket's reference count, so now we just remove it where it
was previously released. This will result in the socket being dropped at
a different time, but I think that should be fine.
Tested firmware upload to the bootloader and spamming artiq_coremgmt log
calls to download the log from the firmware.
Signed-off-by: Michael Birtwell <michael.birtwell@oxionics.com>
2022-04-24 10:09:27 +08:00
occheung
6d3164a912
riscv: print mtval on panic
2021-10-16 17:42:24 +08:00
occheung
46326716fd
runtime: bump libfringe, impl ecall abi
...
See libfringe PR: M-Labs/libfringe#1
2021-10-16 17:42:24 +08:00
occheung
27a7a96626
runtime: setup pmp + transfer to user
2021-10-16 17:42:24 +08:00
occheung
448974fe11
runtime/main: cleanup
2021-09-10 13:59:53 +08:00
occheung
eecd825d23
firmware: suppress warning
2021-09-10 13:25:12 +08:00
occheung
1ba8c8dfee
runtime: remove irq again
2021-09-10 13:25:12 +08:00
occheung
01ca114c66
runtime: remove irq dependency
2021-09-10 13:25:12 +08:00
occheung
36171f2c61
runtime: remove inaccurate sp on panic
2021-09-10 13:25:12 +08:00
Sebastien Bourdeauducq
5656e52581
remove profiler
2021-09-10 13:25:12 +08:00
occheung
f56152e72f
rust: fix dependencies
2021-09-10 13:25:12 +08:00
occheung
c800b6c8d3
runtime: update rust alloc, managed
2021-09-10 13:25:09 +08:00
occheung
e99061b013
runtime: add riscv
2021-09-10 13:23:22 +08:00
occheung
ecedec577c
runtime: impl riscv exception handling
2021-09-10 13:23:15 +08:00
occheung
252594a606
runtime: impl riscv panic handler
2021-09-10 13:20:31 +08:00
Sebastien Bourdeauducq
420891ba54
syntax
2021-08-12 13:01:35 +08:00
Sebastien Bourdeauducq
477b1516d3
remove profiler
2021-08-12 12:51:55 +08:00
Star Chen
5111132ef0
ICAP: prevent sayma from using it ( #1740 )
2021-08-06 15:08:30 +08:00
Star Chen
6b88ea563d
talk to ICAP primitive to restart gateware ( #1733 )
2021-08-05 17:00:31 +08:00
Chris Ballance
43be383c86
kasli v2.0: drive TX_DISABLE low on all SFPs ( fixes #1570 )
...
This was the same problem as #1508 but on SFP1..3
2020-12-23 00:10:12 +08:00
Sebastien Bourdeauducq
90017da484
firmware: remove obsolete watchdog code ( #1458 )
2020-10-15 18:38:00 +08:00
Paweł Kulik
eb350c3459
Drive SFP0 TX_DISABLE low during startup (as was in Kasli v1.1). Fixes Ethernet on SFP modules with pullup on this line.
...
Signed-off-by: Paweł Kulik <pawel.kulik@creotech.pl>
2020-08-24 21:39:53 +08:00
David Nadlinger
3f0cf6e683
runtime: Stop kernel CPU before restarting comms CPU on panic
...
Before, the system would enter a boot loop when a panic occurred
while the kernel CPU was active (and panic_reset == 1), as
kernel::start() for the startup kernel would panic.
2020-07-01 17:29:05 +08:00
Sebastien Bourdeauducq
b83afedf43
kasli: light up ERROR LED on panic
2020-05-07 19:06:10 +08:00
Sebastien Bourdeauducq
4982fde898
firmware: I2C I/O expander support
2020-05-05 21:38:17 +08:00
Sebastien Bourdeauducq
9dd011f4ad
firmware: remove bitrotten Sayma code
2020-01-13 18:47:54 +08:00
Sebastien Bourdeauducq
c5137eeb62
firmware: remove legacy hmc542 code
2019-12-20 15:25:55 +08:00
David Nadlinger
d3508b014f
firmware: Add whitespace between panic handler location and message
2019-12-17 19:59:59 +00:00
Sebastien Bourdeauducq
a78e493b72
firmware: load slave FPGA in bootloader
2019-10-31 12:42:40 +08:00
Sebastien Bourdeauducq
8f76a3218e
firmware: move i2c to libboard_misoc, enable IPv6 in bootloader, share network settings
2019-10-21 12:58:52 +08:00
Sebastien Bourdeauducq
d26d80410e
runtime: refactor network settings
2019-10-19 17:56:35 +08:00
Sebastien Bourdeauducq
6d5dcb4211
runtime: enable IPv6. Closes #349
2019-10-19 17:20:33 +08:00
Sebastien Bourdeauducq
e9b81f6e33
remove serwb
...
DRTIO is a better solution
2019-10-06 18:10:23 +08:00
David Nadlinger
6d6f66338b
runtime: Update core config panic_reset command suggestion message
2019-09-10 19:31:19 +01:00
Astro
8fc5ce902f
firmware: let kasli obtain default hardware_addr from i2c_eeprom
2019-08-17 09:15:26 +08:00
Sebastien Bourdeauducq
87ce24e867
runtime: refactor startup and RTIO clocking initialization
2019-06-14 15:26:30 +08:00
Sebastien Bourdeauducq
b04e15741b
drop SI5324_SAYMA_REF
2019-06-14 14:03:48 +08:00
Sebastien Bourdeauducq
874542f33f
add Metlino support
2019-05-19 10:57:43 +08:00
David Nadlinger
4d215cf541
firmware: Add Si5324 config for 125 MHz ext ref
...
PLL divider settings as suggested by DSPLLsim 5.1.
2019-04-15 22:22:19 +01:00
Sebastien Bourdeauducq
b56c7cec1e
kasli: use 100MHz RTIO and 800MHz Urukul frequencies on Berkeley target
...
Urukul sync is not reliable at 125/1000
2019-02-05 11:24:45 +08:00
Sebastien Bourdeauducq
3356717316
sayma: DDMTD SYSREF measurement demonstration
2019-01-25 16:00:31 +08:00
Sebastien Bourdeauducq
4941fb3300
sayma: 2.4GHz DAC clocking (4X interpolation)
...
* gets another clock divider out of the way
* gets one cycle within range of the HMC7043 analog delay alone
* SYSREF/RTIO alignment removed, to be replaced with DDMTD-based scheme
2019-01-25 13:47:04 +08:00
Sebastien Bourdeauducq
a93fdb8c9d
drtio: disable all destinations in gateware at startup
...
Otherwise, kernels fail to get a RTIODestinationUnreachable exception when attempting
to reach a DRTIO destination that has never been up.
2019-01-04 23:42:12 +08:00
Sebastien Bourdeauducq
969a305c5a
Merge branch 'master' into switching125
2018-10-04 10:08:42 +08:00
Sebastien Bourdeauducq
53a979e74d
rtio: cleanup resets
2018-09-20 10:58:38 +08:00