diff options
Diffstat (limited to 'host/lib/usrp/common/adf4001_ctrl.cpp')
-rw-r--r-- | host/lib/usrp/common/adf4001_ctrl.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/host/lib/usrp/common/adf4001_ctrl.cpp b/host/lib/usrp/common/adf4001_ctrl.cpp index a9f3c1fdb..8d080b294 100644 --- a/host/lib/usrp/common/adf4001_ctrl.cpp +++ b/host/lib/usrp/common/adf4001_ctrl.cpp @@ -116,6 +116,21 @@ void adf4001_ctrl::set_lock_to_ext_ref(bool external) program_regs(); } +bool adf4001_ctrl::set_refclk_frequency(int refclk_kHz) { + if (refclk_kHz == 30720) { + adf4001_regs.ref_counter = 96; + adf4001_regs.n = 125; + } else if (refclk_kHz == 10000) { + adf4001_regs.ref_counter = 1; + adf4001_regs.n = 4; + } else { + return false; + } + + program_regs(); + return true; +} + void adf4001_ctrl::program_regs(void) { // no control over CE, only LE, therefore we use the initialization latch method |