diff --git a/artiq/firmware/satman/lib.rs b/artiq/firmware/satman/lib.rs index 6f20ba017..3553b015a 100644 --- a/artiq/firmware/satman/lib.rs +++ b/artiq/firmware/satman/lib.rs @@ -14,6 +14,9 @@ fn startup() { info!("software version {}", include_str!(concat!(env!("OUT_DIR"), "/git-describe"))); info!("gateware version {}", board::ident(&mut [0; 64])); + #[cfg(has_ad9516)] + board::ad9516::init().expect("cannot initialize ad9516"); + loop {} } diff --git a/artiq/gateware/targets/kc705_drtio_master.py b/artiq/gateware/targets/kc705_drtio_master.py index 8ee6e6952..a2e3213a8 100755 --- a/artiq/gateware/targets/kc705_drtio_master.py +++ b/artiq/gateware/targets/kc705_drtio_master.py @@ -5,6 +5,7 @@ import argparse from migen import * from migen.build.generic_platform import * +from misoc.cores import spi as spi_csr from misoc.targets.kc705 import MiniSoC, soc_kc705_args, soc_kc705_argdict from misoc.integration.soc_core import mem_decoder from misoc.integration.builder import builder_args, builder_argdict @@ -59,6 +60,14 @@ class Master(MiniSoC, AMPSoC): tx_pads=tx_pads, rx_pads=rx_pads, sys_clk_freq=self.clk_freq) + + ad9154_spi = platform.request("ad9154_spi") + self.comb += ad9154_spi.en.eq(1) + self.submodules.converter_spi = spi_csr.SPIMaster(ad9154_spi) + self.csr_devices.append("converter_spi") + self.config["CONVERTER_SPI_DAC_CS"] = 0 + self.config["CONVERTER_SPI_CLK_CS"] = 1 + self.config["HAS_AD9516"] = None else: raise ValueError self.submodules.drtio = DRTIOMaster(self.transceiver) diff --git a/artiq/gateware/targets/kc705_drtio_satellite.py b/artiq/gateware/targets/kc705_drtio_satellite.py index 2bda7e9fb..e04df2b61 100755 --- a/artiq/gateware/targets/kc705_drtio_satellite.py +++ b/artiq/gateware/targets/kc705_drtio_satellite.py @@ -175,6 +175,14 @@ class Satellite(BaseSoC): tx_pads=tx_pads, rx_pads=rx_pads, sys_clk_freq=self.clk_freq) + + ad9154_spi = platform.request("ad9154_spi") + self.comb += ad9154_spi.en.eq(1) + self.submodules.converter_spi = spi_csr.SPIMaster(ad9154_spi) + self.csr_devices.append("converter_spi") + self.config["CONVERTER_SPI_DAC_CS"] = 0 + self.config["CONVERTER_SPI_CLK_CS"] = 1 + self.config["HAS_AD9516"] = None else: raise ValueError self.submodules.rx_synchronizer = gtx_7series.RXSynchronizer(