forked from M-Labs/artiq
sayma: add JESD204 PHY done diagnostics
This commit is contained in:
parent
2ad7d2967a
commit
eb0ce933c5
|
@ -11,7 +11,12 @@ pub mod jesd {
|
||||||
unsafe {
|
unsafe {
|
||||||
(csr::JDCG[dacno as usize].jesd_control_enable_write)(if en {1} else {0})
|
(csr::JDCG[dacno as usize].jesd_control_enable_write)(if en {1} else {0})
|
||||||
}
|
}
|
||||||
clock::spin_us(5000);
|
}
|
||||||
|
|
||||||
|
pub fn phy_done(dacno: u8) -> bool {
|
||||||
|
unsafe {
|
||||||
|
(csr::JDCG[dacno as usize].jesd_control_phy_done_read)() != 0
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn ready(dacno: u8) -> bool {
|
pub fn ready(dacno: u8) -> bool {
|
||||||
|
@ -80,7 +85,11 @@ pub mod jdac {
|
||||||
|
|
||||||
fn init_one(dacno: u8) -> Result<(), &'static str> {
|
fn init_one(dacno: u8) -> Result<(), &'static str> {
|
||||||
jesd::enable(dacno, true);
|
jesd::enable(dacno, true);
|
||||||
clock::spin_us(10);
|
clock::spin_us(10_000);
|
||||||
|
if !jesd::phy_done(dacno) {
|
||||||
|
error!("JESD core PHY not done");
|
||||||
|
return Err("JESD core PHY not done");
|
||||||
|
}
|
||||||
if !jesd::ready(dacno) {
|
if !jesd::ready(dacno) {
|
||||||
error!("JESD core reported not ready");
|
error!("JESD core reported not ready");
|
||||||
return Err("JESD core reported not ready");
|
return Err("JESD core reported not ready");
|
||||||
|
|
Loading…
Reference in New Issue