From 87f09bed1bf01958d7c087a5f7bb2bb1aa4cd3cb Mon Sep 17 00:00:00 2001 From: newell Date: Mon, 30 Sep 2024 14:31:24 -0700 Subject: [PATCH] Add configuration flags --- src/libksupport/src/kernel/api.rs | 10 +++++++++- src/libksupport/src/lib.rs | 1 + src/runtime/src/main.rs | 1 + src/runtime/src/rtio_clocking.rs | 4 ++-- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/libksupport/src/kernel/api.rs b/src/libksupport/src/kernel/api.rs index ef77e43..dc512b5 100644 --- a/src/libksupport/src/kernel/api.rs +++ b/src/libksupport/src/kernel/api.rs @@ -11,7 +11,9 @@ use super::{cache, core1::rtio_get_destination_status, dma, linalg, rpc::{rpc_recv, rpc_send, rpc_send_async}}; -use crate::{eh_artiq, i2c, rtio}; +use crate::{eh_artiq, rtio}; +#[cfg(not(feature = "target_ebaz4205"))] +use crate::i2c; extern "C" { fn vsnprintf_(buffer: *mut c_char, count: size_t, format: *const c_char, va: VaList) -> c_int; @@ -109,11 +111,17 @@ pub fn resolve(required: &[u8]) -> Option { api!(cache_put = cache::put), // i2c + #[cfg(not(feature = "target_ebaz4205"))] api!(i2c_start = i2c::start), + #[cfg(not(feature = "target_ebaz4205"))] api!(i2c_restart = i2c::restart), + #[cfg(not(feature = "target_ebaz4205"))] api!(i2c_stop = i2c::stop), + #[cfg(not(feature = "target_ebaz4205"))] api!(i2c_write = i2c::write), + #[cfg(not(feature = "target_ebaz4205"))] api!(i2c_read = i2c::read), + #[cfg(not(feature = "target_ebaz4205"))] api!(i2c_switch_select = i2c::switch_select), // subkernel diff --git a/src/libksupport/src/lib.rs b/src/libksupport/src/lib.rs index 630f19e..78a2f1d 100644 --- a/src/libksupport/src/lib.rs +++ b/src/libksupport/src/lib.rs @@ -21,6 +21,7 @@ pub use pl::csr::rtio_core; use void::Void; pub mod eh_artiq; +#[cfg(not(feature = "target_ebaz4205"))] pub mod i2c; pub mod irq; pub mod kernel; diff --git a/src/runtime/src/main.rs b/src/runtime/src/main.rs index dd24e25..ecfd1c2 100644 --- a/src/runtime/src/main.rs +++ b/src/runtime/src/main.rs @@ -100,6 +100,7 @@ pub fn main_core0() { info!("gateware ident: {}", identifier_read(&mut [0; 64])); + #[cfg(not(feature = "target_ebaz4205"))] ksupport::i2c::init(); #[cfg(feature = "target_kasli_soc")] { diff --git a/src/runtime/src/rtio_clocking.rs b/src/runtime/src/rtio_clocking.rs index 06918b2..42cb215 100644 --- a/src/runtime/src/rtio_clocking.rs +++ b/src/runtime/src/rtio_clocking.rs @@ -69,7 +69,7 @@ fn get_rtio_clock_cfg(cfg: &Config) -> RtioClock { res } -#[cfg(not(has_drtio))] +#[cfg(not(any(has_drtio, feature = "target_ebaz4205")))] fn init_rtio(timer: &mut GlobalTimer) { info!("Switching SYS clocks..."); unsafe { @@ -429,7 +429,7 @@ pub fn init(timer: &mut GlobalTimer, cfg: &Config) { #[cfg(has_drtio)] init_drtio(timer); - #[cfg(not(has_drtio))] + #[cfg(not(any(has_drtio, feature = "target_ebaz4205")))] init_rtio(timer); #[cfg(all(has_si549, has_wrpll))]