f4719ae24b
sdram: clean up console output
2018-03-20 15:42:49 +01:00
206664afd9
sdram: compact read_level output
2018-03-20 10:16:05 +00:00
495625b99d
bootloader: repeat memory test 4 times
2018-03-20 09:57:49 +00:00
6fb0cbfcd3
sdram: clean up, make read_level robust to wrap around
...
* fix a few rust warnings
* also do eye scans on kintex
2018-03-20 09:57:49 +00:00
3abb378fbe
i2c: unused variable
2018-03-20 09:56:26 +00:00
276b0c7f06
sdram: reject read delay wrap arounds
2018-03-20 00:28:41 +01:00
4b3f408143
sdram: simplify read level scan
2018-03-19 18:41:56 +00:00
845784c180
kusddrphy: use first and last tap that yield many valid reads
2018-03-19 17:54:26 +00:00
ed2e0c8b34
sayma/sdram/scan: test each tap 1024 times
2018-03-20 00:59:31 +08:00
whitequark
c86df8e13e
firmware: try to unstuck the I2C bus if it gets stuck.
...
Fixes #957 .
2018-03-19 06:23:23 +00:00
whitequark
9ea7d7a804
firmware: allow building without system UART.
2018-03-14 18:34:31 +00:00
999ec40e79
bootloader: print gateware ident
2018-03-13 00:11:25 +08:00
2caeea6f25
update copyright year
2018-03-13 00:09:13 +08:00
1d081ed6c2
drtio: print diagnostic info on satellite write underflow ( #947 )
2018-03-12 23:41:19 +08:00
Florent Kermarrec
5af4609053
libboard/sdram: limit write leveling scan to "512 - initial dqs taps delay" on ultrascale
2018-03-09 19:06:47 +01:00
Florent Kermarrec
a95cd423cc
libboard/sdram: add gap for write leveling
2018-03-09 18:53:57 +01:00
Florent Kermarrec
8f6f83029c
libboard/sdram: add write/read leveling scan
2018-03-09 13:50:51 +01:00
Florent Kermarrec
b0b13be23b
libboard/sdram: rename read_delays to read_leveling
2018-03-09 09:23:20 +01:00
Florent Kermarrec
8475c21c46
firmware/libboard/sdram: kusddrphy now use time mode for odelaye3/idelaye3, now reloading dqs delay_value (500ps) with software
2018-03-08 10:00:00 +01:00
0adbbd8ede
drtio: reset aux packet gateware after locking to recovered clock
...
Closes #949
2018-03-08 15:41:13 +08:00
7afb23e8be
runtime: demote dropped and malformed packets msgs to debug
2018-03-07 14:28:21 +01:00
916197c4d7
siphaser: cleanup
2018-03-07 11:15:44 +08:00
74d1df3ff0
firmware: implement si5324 skew calibration
2018-03-07 10:57:30 +08:00
e6e5236ce2
firmware: fix si5324 select_recovered_clock
2018-03-07 10:57:30 +08:00
c2d2cc2d72
runtime: fix setup_si5324_as_synthesizer
2018-03-07 10:57:30 +08:00
c34d00cbc9
drtio: implement Si5324 phaser gateware and partial firmware support
2018-03-07 10:57:30 +08:00
257bef0d21
slave_fpga: print more info
2018-03-06 14:26:26 +01:00
a274af77d5
runtime: fix compilation without DRTIO
2018-03-05 00:43:42 +08:00
432e61bbb4
drtio: add kernel API to check for link status. Closes #941
2018-03-05 00:23:55 +08:00
928d5dc9b3
drtio: raise RTIOLinkError if operation fails due to link lost ( #942 )
2018-03-04 01:02:53 +08:00
ba74013e3e
runtime: add a missing overflow flag reset
2018-03-03 13:16:21 +08:00
1c57d27ae2
slave_fpga: use sayma_rtm magic
2018-03-01 18:32:19 +01:00
de63e657b8
kasli/si5324: lock to 100 MHz with highest available bandwidth
2018-03-01 14:49:53 +01:00
abd160d143
slave_fpga: check DONE before loading
2018-03-01 19:53:34 +08:00
a04a36ee36
firmware: move wait for write completion to read()
2018-03-01 11:37:33 +01:00
a6ae08d8b8
firmware/spi: work around cs_polarity semantics
...
The semantics differ between the RTIO and CSR interface.
2018-03-01 11:19:18 +01:00
6fbe0d8ed8
hmc830: be explicit about SPI mode selection
2018-03-01 11:19:18 +01:00
a7720d05cd
firmware, sayma: port converter_spi to spi2
...
* ksupport/nrt_bus
* port ad9154, hmc830, hmc7043
* port local_spi and drtio_spi
* port kernel_proto libdrtioaux, satman
* change sayma_rtm gateware over
* add spi2 NRTSPIMaster
* remove spi NRTSPIMaster
* change sayma device_db
* change HMC830 to open mode and explicitly sequence open mode
2018-03-01 11:19:18 +01:00
68278e225d
slave_fpga: check for INIT low
2018-03-01 17:28:01 +08:00
whitequark
14f6fa6699
firmware: fix a warning.
2018-03-01 01:25:55 +00:00
whitequark
d051cec0dd
firmware: remove useless module.
2018-03-01 01:22:52 +00:00
0c49201be7
firmware: add slave fpga serial load support
...
based on whitequark's work in f95fb27
m-labs/artiq#813
2018-02-28 19:27:52 +01:00
cedecc3030
Revert "firmware: Sayma RTM FPGA bitstream loading prototype ( #813 )."
...
This reverts commit f95fb273f1
.
Will be replaced with a bitbang/GPIO based version.
2018-02-28 18:43:56 +01:00
whitequark
f95fb273f1
firmware: Sayma RTM FPGA bitstream loading prototype ( #813 ).
2018-02-28 16:46:23 +00:00
96423882f2
fix 4d6619f3b
2018-02-22 15:27:54 +08:00
4d6619f3bc
satman: send ResetAck
2018-02-22 15:17:44 +08:00
Florent Kermarrec
5eda894db4
firmware/libboard/sdram: increase read_delays dead zone to 32 on KU
2018-02-21 19:36:37 +01:00
whitequark
96f697ec96
firmware: update compiler_builtins to unbreak __gtdf2.
...
Fixes #883 .
2018-02-21 15:21:48 +00:00
Florent Kermarrec
afc16a67b6
firmware/liboard/sdram.rs: iterate read multiple times in read_delays to avoid false positives
2018-02-21 14:15:35 +01:00
738654c783
drtio: support remote RTIO resets
2018-02-20 18:48:54 +08:00
ad2c9590d0
drtio: rewrite/fix reset and link bringup/teardown
2018-02-20 17:26:43 +08:00
83abdd283a
drtio: signal stable clock input to transceiver
2018-02-18 22:29:30 +08:00
c87636ed2b
si5324: fix cfb21ca
2018-02-18 11:38:20 +01:00
039dee4c8e
si5324: rename SI5324_FREE_RUNNING to SI5324_AS_SYNTHESIZER
...
The previous name was causing confusion with the FREE_RUN bit
that connects the crystal to CLKIN2.
2018-02-17 13:54:50 +08:00
cfb21ca126
si5324: fix usage of external CLKIN2 reference
2018-02-17 13:52:01 +08:00
fb8b36cd41
clean up ccc279b8
2018-02-17 12:10:46 +08:00
hartytp
ccc279b8da
rewrite HMC7043 init code without using ADI GUI outputs, working analog/digital delay
2018-02-17 12:07:11 +08:00
e41f49cc75
kasli: opticlock 125 MHz, mark external reference case broken
2018-02-16 17:23:15 +00:00
4d42df2a7c
kasli: set up Si5324 in standalone operation
2018-02-15 20:32:58 +08:00
c5ae81f452
satman: remove unused 62.5MHz Si5324 settings
2018-02-15 20:29:51 +08:00
d7387611c0
sayma: print RTM gateware version
2018-02-15 19:31:58 +08:00
whitequark
fe50018037
firmware: make network tracing runtime switchable.
2018-02-14 23:03:20 +00:00
df177bfd5b
use new misoc identifier
2018-02-13 20:38:48 +08:00
00f42f912b
rename 'RTM identifier' to 'RTM magic number'
...
Avoids confusion with the MiSoC identifier (containing the ARTIQ version).
2018-02-13 20:02:51 +08:00
Florent Kermarrec
e80b481032
firmware/libboard_artiq/hmc830_7043.rs: add template for sys_ref phase configuration for dac1/dac2 and fpga
2018-02-05 13:40:17 +01:00
Florent Kermarrec
e50bebb63d
firmware/liboard_artiq/ad9154.rs: add checks for jesd subclass 1 (verify that we receive the sysref and that phase error is within the specified window error threshold).
2018-02-05 13:39:30 +01:00
whitequark
807eb1155b
Update smoltcp.
...
Fixes #902 .
2018-01-30 03:29:08 +00:00
whitequark
d58393a1e5
runtime: build with -Cpanic=unwind.
...
This is required for backtraces to function. I'm not sure how it
turned out that master had -Cpanic=abort.
2018-01-26 23:01:24 +00:00
0d2f89db53
si5324: chip does not ack RST_REG write
2018-01-25 11:06:19 +08:00
cfffd9e13d
si5324: kasli support
2018-01-23 13:17:03 +08:00
c3323f0d57
hmc830: improve lock failure error report
2018-01-20 15:42:53 +08:00
hartytp
37fa3b29da
firmware: add register dump on HMC830 lock timeout.
2018-01-20 00:19:31 +00:00
Florent Kermarrec
9eb13aba3c
liboard_artiq/hmc830_7043: allow sysref digital/analog delay configuration (will need to be adjusted for jesd subclass1)
2018-01-19 17:19:02 +01:00
whitequark
80cbef0031
firmware: always reset PHY when initializing Ethernet.
...
Fixes #897 .
2018-01-19 04:56:11 +00:00
whitequark
1f82ceaa85
firmware: add HMC542 (Allaki) support.
2018-01-19 04:47:26 +00:00
Florent Kermarrec
07f4e2e35a
libboard_artiq/ad9154: fix prbs test (only keep prbs7) and
...
always do it after ad9154 initialization
2018-01-18 08:19:37 +01:00
whitequark
1e896d4ba8
firmware: fix warnings.
2018-01-17 00:48:46 +00:00
Florent Kermarrec
702c35821b
libboard_artiq/ad9154: add dac_status and dac_prbs (untested)
2018-01-15 22:15:35 +01:00
7429ee4fb6
firmware: make read leveling robust for KUS SDRAM
...
Increases the initial delay step into the valid read window as
with the original delay I was not getting out of the noisy
transition window, as evidenced by seeing read delay windows
of only 8 LSB ~10% of the time, leading to failing memory
tests
2018-01-12 10:35:38 +08:00
94d51d1364
firmware: fix drtio_dbg module syntax
2018-01-10 12:15:23 +08:00
dc593ec0f0
Merge branch 'rtio-sed' into sed-merge
2018-01-10 12:04:54 +08:00
whitequark
267c699835
firmware: support DDRPHY without write leveling ( fixes #886 ).
...
Currently, this is kasli.
2018-01-09 02:41:02 +00:00
whitequark
07ccb9eebd
firmware: support configuration without ethphy ( #886 ).
...
Currently, this is kasli.
2018-01-08 22:16:17 +00:00
whitequark
3a3f44af53
firmware: update smoltcp.
2018-01-08 21:41:53 +00:00
whitequark
987a9c8308
conda: update rustc to 1.23.0.
2018-01-08 21:39:15 +00:00
161a414567
serwb: debug print on error
2018-01-04 22:23:59 +08:00
e1a75ac1c1
runtime: set log level early
...
We want to debug startup.
2018-01-04 22:19:48 +08:00
whitequark
fc9766d2fa
firmware: reset ethphy before initializing smoltcp ( fixes #884 ).
2018-01-04 11:42:35 +00:00
whitequark
b7f38b123b
frimware: update to log 0.4.
2018-01-01 11:45:55 +00:00
whitequark
a371b25525
bootloader: allow using without Ethernet.
2017-12-31 09:21:28 +00:00
whitequark
70ebe431fd
satman: fix build after b8f3d28b
.
2017-12-31 09:21:02 +00:00
whitequark
e1253db0e8
firmware: update crc dependency, use it in libdrtioaux.
2017-12-31 09:16:11 +00:00
whitequark
b8f3d28bc0
firmware: update compiler_builtins dependency and move it to libboard.
...
This is so that we only specify it once.
2017-12-31 09:16:11 +00:00
a897d82324
ad9154: retry initialization ( #727 )
2017-12-31 11:27:43 +08:00
whitequark
3505878176
bootloader: add basic network support.
2017-12-28 15:26:12 +00:00
whitequark
d2687ce3c4
firmware: fix a typo replacing spiflash::SECTOR_SIZE with PAGE_SIZE.
2017-12-28 15:26:12 +00:00
whitequark
33e0393e4a
firmware: move mod ethmac to libboard.
2017-12-28 14:40:15 +00:00
whitequark
55cfdec644
firmware: enlarge bootloader partition to 4 sectors.
2017-12-28 14:39:26 +00:00
whitequark
acd13837ff
firmware: implement the new bootloader.
2017-12-28 13:18:51 +00:00
whitequark
b9754e7108
firmware: deduplicate libbuild_misoc and libbuild_artiq.
2017-12-28 13:18:51 +00:00
whitequark
d94db1de5d
Revert accidentally committed parts of 1b9b5602
.
2017-12-28 08:23:34 +00:00
whitequark
fcc438524c
firmware: use main.rs as the root source for non-library crates. NFC.
2017-12-28 08:20:23 +00:00
whitequark
1b9b560242
firmware: use libbuild_misoc in libdrtioaux. NFC.
2017-12-28 08:20:23 +00:00
whitequark
8f33061a6d
firmware: fix sayma_amc_standalone build with sawg.
2017-12-28 08:20:23 +00:00
4ea801b2ea
firmware: si5324 moved to board_artiq
2017-12-28 15:45:45 +08:00
whitequark
3b18ece3b7
satman: update for changes in firmware elsewhere.
2017-12-28 07:36:33 +00:00
whitequark
d3066e5044
firmware: oops, misoc #[cfg]s were missing from libboard_artiq.
2017-12-28 07:36:33 +00:00
whitequark
ca419aa3c2
firmware: split out libboard_artiq from libboard.
2017-12-28 07:07:00 +00:00
whitequark
b443fbd8f7
runtime: remove #[repr(simd)] hack.
2017-12-28 04:46:27 +00:00
whitequark
7687a34285
firmware: remove dependency on compiler-rt.
2017-12-28 04:08:29 +00:00
whitequark
4dfe71676e
firmware: remove dependency on libbase.
2017-12-28 04:03:27 +00:00
whitequark
68f128944a
firmware: clean up makefiles.
2017-12-27 23:10:47 +00:00
whitequark
d7cb4963e1
firmware: prepare config block for access from BIOS/bootloader.
...
* remove liballoc dependency from mod config,
* move mod config to libboard,
* move config sector immediately after BIOS sector.
2017-12-27 21:28:40 +00:00
whitequark
5a2cbe7088
runtime: remove borrow_mut!() in favor of backtraces.
2017-12-27 19:15:25 +00:00
whitequark
edfacbd063
conda: ship runtime.elf in board-specific packages.
...
This is so that backtraces may be symbolized.
2017-12-26 21:50:31 +00:00
whitequark
8b4a006855
runtime: update smoltcp.
2017-12-26 14:33:56 +00:00
whitequark
71eca5ad61
runtime: fix some final flash storage issues.
2017-12-26 14:09:17 +00:00
whitequark
188764693e
runtime: we're growing, put storage at 1M instead of 512K.
2017-12-26 03:34:16 +00:00
whitequark
e2513a2401
runtime: ensure flash storage never overlaps with runtime sections.
2017-12-26 03:31:37 +00:00
whitequark
6e341da3a1
runtime: simplify. NFC.
2017-12-26 02:31:28 +00:00
whitequark
061fb3dcd5
runtime: remove accidentally committed parts of a Makefile.
2017-12-25 20:30:13 +00:00
whitequark
230f2e5e18
runtime: print (address-only) backtraces on core device panics.
2017-12-25 18:32:41 +00:00
whitequark
3eec15c01d
firmware: fix compatibility with newer rustc. NFC.
2017-12-25 17:16:05 +00:00
00ed51f6f4
satman: use new alloc_list ( #880 )
2017-12-23 22:15:39 +08:00
a6ffe9f38d
drtio: add Sayma top-level designs
2017-12-21 23:08:56 +08:00
a23251276d
Revert "sayma: set up Si5324 for RGMII clock rerouting"
...
This reverts commit 2b01aa22b6
.
2017-12-21 14:42:15 +08:00
whitequark
701308474f
runtime: update smoltcp.
2017-12-19 15:51:03 +00:00
whitequark
aaba36be7a
runtime: log moninj messages at TRACE level, like all others.
2017-12-16 22:39:13 +00:00
whitequark
8cece4f260
runtime: hotswap slightly more carefully.
...
This generally lets some last characters out of UART, last ACKs
out of queues, etc. Nothing guaranteed though.
2017-12-16 22:39:13 +00:00
whitequark
4a9d8c9459
runtime: fix a warning.
2017-12-16 22:39:13 +00:00
2b01aa22b6
sayma: set up Si5324 for RGMII clock rerouting
2017-12-17 00:25:33 +08:00
f02c74cb7b
libboard/si5324: enable both clock outputs
2017-12-15 16:56:44 +08:00
9caef3c1d3
libboard/si5324: configure I2C mux on Sayma
2017-12-15 16:45:26 +08:00
77977932f2
firmware: remove AD9516 support
...
This was only used in KC705 phaser.
2017-12-14 19:16:39 +08:00
5809e08686
runtime: no startup_clock config is not an error
2017-12-14 12:39:26 +08:00
whitequark
9e8bb1d51c
runtime: update smoltcp.
2017-12-08 07:36:56 +00:00
66e089b376
libboard/serwb: more explicit retry log message
2017-12-02 10:51:13 +08:00
Florent Kermarrec
0eb9f93611
libboard/serwb: retry serwb initialization on error
2017-12-01 22:45:05 +01:00
2e5b20d53d
libboard/hmc830_7043: enable HMC830
2017-11-30 12:06:54 +08:00
ad2a32d381
libboard/ad9154: small cleanup
2017-11-30 11:33:58 +08:00
Florent Kermarrec
bd75954192
libboard/ad9154: update for sayma (spi, jesd parameters, linerate), breaks kc705/ad9154 fmc support
2017-11-29 18:09:39 +01:00
Florent Kermarrec
8b8da39a8f
libboard/hmc830_7043.rs: fix HMC7043 comments
2017-11-29 17:59:42 +01:00
19498e59f9
libboard: fix JESD reset release
2017-11-29 18:18:41 +08:00
cfb41e71a8
libboard: print serwb settings at the debug log level
2017-11-28 01:23:33 +08:00
whitequark
8e8f037971
runtime: print ethmac preamble error count.
...
Also, print total error count, not the difference (but still compute
the difference to determine *when* to print).
2017-11-26 22:35:26 +00:00
whitequark
26fdd42f8f
runtime: update smoltcp.
2017-11-22 08:09:06 +00:00
Florent Kermarrec
a3383c340c
firmware/satman/lib.rs: has_serwb_phy to has_serwb_phy_amc
2017-11-18 18:09:35 +01:00
Florent Kermarrec
39a8fc682d
artiq/firmware/libboard/hmc830_7043.rs: some cleanup, don't use hmc830 for now
2017-11-18 18:08:31 +01:00
Florent Kermarrec
aff1609a53
firmware/libboard: use correct jesd clocking
2017-11-10 10:56:45 +01:00
Florent Kermarrec
d90d624877
firmware/libboard/serwb: revert init reset, show delay
2017-11-10 10:53:20 +01:00