forked from M-Labs/artiq-zynq
phys FW: update csr
This commit is contained in:
parent
844f2dab70
commit
a4f6f0e4c5
@ -59,12 +59,12 @@ mod rx {
|
|||||||
|
|
||||||
pub fn setup(timer: &mut GlobalTimer) {
|
pub fn setup(timer: &mut GlobalTimer) {
|
||||||
unsafe {
|
unsafe {
|
||||||
csr::cxp_phys::downconn_qpll_reset_write(1);
|
csr::cxp_phys::rx_qpll_reset_write(1);
|
||||||
info!("waiting for QPLL/CPLL to lock...");
|
info!("waiting for QPLL/CPLL to lock...");
|
||||||
while csr::cxp_phys::downconn_qpll_locked_read() != 1 {}
|
while csr::cxp_phys::rx_qpll_locked_read() != 1 {}
|
||||||
info!("QPLL locked");
|
info!("QPLL locked");
|
||||||
|
|
||||||
csr::cxp_phys::downconn_gtx_start_init_write(1);
|
csr::cxp_phys::rx_gtx_start_init_write(1);
|
||||||
|
|
||||||
// DEBUG: printout
|
// DEBUG: printout
|
||||||
info!("waiting for rx setup...");
|
info!("waiting for rx setup...");
|
||||||
@ -84,12 +84,12 @@ mod rx {
|
|||||||
change_cdr_cfg(speed);
|
change_cdr_cfg(speed);
|
||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
csr::cxp_phys::downconn_qpll_reset_write(1);
|
csr::cxp_phys::rx_qpll_reset_write(1);
|
||||||
info!("waiting for QPLL/CPLL to lock...");
|
info!("waiting for QPLL/CPLL to lock...");
|
||||||
while csr::cxp_phys::downconn_qpll_locked_read() != 1 {}
|
while csr::cxp_phys::rx_qpll_locked_read() != 1 {}
|
||||||
info!("QPLL locked");
|
info!("QPLL locked");
|
||||||
|
|
||||||
csr::cxp_phys::downconn_gtx_restart_write(1);
|
csr::cxp_phys::rx_gtx_restart_write(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -200,19 +200,19 @@ mod rx {
|
|||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
fn qpll_read(address: u8) -> u16 {
|
fn qpll_read(address: u8) -> u16 {
|
||||||
unsafe {
|
unsafe {
|
||||||
csr::cxp_phys::downconn_qpll_daddr_write(address);
|
csr::cxp_phys::rx_qpll_daddr_write(address);
|
||||||
csr::cxp_phys::downconn_qpll_dread_write(1);
|
csr::cxp_phys::rx_qpll_dread_write(1);
|
||||||
while csr::cxp_phys::downconn_qpll_dready_read() != 1 {}
|
while csr::cxp_phys::rx_qpll_dready_read() != 1 {}
|
||||||
csr::cxp_phys::downconn_qpll_dout_read()
|
csr::cxp_phys::rx_qpll_dout_read()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn qpll_write(address: u8, value: u16) {
|
fn qpll_write(address: u8, value: u16) {
|
||||||
unsafe {
|
unsafe {
|
||||||
csr::cxp_phys::downconn_qpll_daddr_write(address);
|
csr::cxp_phys::rx_qpll_daddr_write(address);
|
||||||
csr::cxp_phys::downconn_qpll_din_write(value);
|
csr::cxp_phys::rx_qpll_din_write(value);
|
||||||
csr::cxp_phys::downconn_qpll_din_stb_write(1);
|
csr::cxp_phys::rx_qpll_din_stb_write(1);
|
||||||
while csr::cxp_phys::downconn_qpll_dready_read() != 1 {}
|
while csr::cxp_phys::rx_qpll_dready_read() != 1 {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user