forked from M-Labs/artiq
firmware: Fix Kasli v2 runtime rtio_clock selection
SI5324_EXT_REF now only controls the (deprecated) fallbacks for when the rtio_clock option is not set.
This commit is contained in:
parent
696418c2a9
commit
0775ae1c19
|
@ -214,8 +214,11 @@ pub fn bypass(input: Input) -> Result<()> {
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn setup(settings: &FrequencySettings, input: Input) -> Result<()> {
|
pub fn setup(settings: &FrequencySettings, ext_input: Input) -> Result<()> {
|
||||||
let s = map_frequency_settings(settings)?;
|
let s = map_frequency_settings(settings)?;
|
||||||
|
|
||||||
|
// FREE_RUN=1 routes XA/XB to CKIN2.
|
||||||
|
let input = if settings.crystal_ref { Input::Ckin2 } else { ext_input };
|
||||||
let cksel_reg = match input {
|
let cksel_reg = match input {
|
||||||
Input::Ckin1 => 0b00,
|
Input::Ckin1 => 0b00,
|
||||||
Input::Ckin2 => 0b01,
|
Input::Ckin2 => 0b01,
|
||||||
|
|
|
@ -212,9 +212,8 @@ fn setup_si5324_as_synthesizer(cfg: RtioClock) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
#[cfg(all(soc_platform = "kasli", hw_rev = "v2.0", not(si5324_ext_ref)))]
|
|
||||||
let si5324_ref_input = si5324::Input::Ckin2;
|
#[cfg(all(soc_platform = "kasli", hw_rev = "v2.0"))]
|
||||||
#[cfg(all(soc_platform = "kasli", hw_rev = "v2.0", si5324_ext_ref))]
|
|
||||||
let si5324_ref_input = si5324::Input::Ckin1;
|
let si5324_ref_input = si5324::Input::Ckin1;
|
||||||
#[cfg(all(soc_platform = "kasli", not(hw_rev = "v2.0")))]
|
#[cfg(all(soc_platform = "kasli", not(hw_rev = "v2.0")))]
|
||||||
let si5324_ref_input = si5324::Input::Ckin2;
|
let si5324_ref_input = si5324::Input::Ckin2;
|
||||||
|
@ -222,6 +221,7 @@ fn setup_si5324_as_synthesizer(cfg: RtioClock) {
|
||||||
let si5324_ref_input = si5324::Input::Ckin2;
|
let si5324_ref_input = si5324::Input::Ckin2;
|
||||||
#[cfg(soc_platform = "kc705")]
|
#[cfg(soc_platform = "kc705")]
|
||||||
let si5324_ref_input = si5324::Input::Ckin2;
|
let si5324_ref_input = si5324::Input::Ckin2;
|
||||||
|
|
||||||
si5324::setup(&si5324_settings, si5324_ref_input).expect("cannot initialize Si5324");
|
si5324::setup(&si5324_settings, si5324_ref_input).expect("cannot initialize Si5324");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue