diff options
author | Josh Blum <josh@joshknows.com> | 2010-05-10 16:37:12 -0700 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2010-05-10 16:37:12 -0700 |
commit | 7c7b0d0a0dc8dd0cb4f0229fbc55978d6f2e253c (patch) | |
tree | a5b27c2808a544c04c2963a1891896277c735e4a /host/lib/usrp/usrp2/serdes_ctrl.cpp | |
parent | bf7ef6aeb502839797894cac4d7518029a0d04c4 (diff) | |
download | uhd-7c7b0d0a0dc8dd0cb4f0229fbc55978d6f2e253c.tar.gz uhd-7c7b0d0a0dc8dd0cb4f0229fbc55978d6f2e253c.tar.bz2 uhd-7c7b0d0a0dc8dd0cb4f0229fbc55978d6f2e253c.zip |
Added a place for serdes control on the host.
Fix bug in codec control.
Comment out some clock control in fw code.
Diffstat (limited to 'host/lib/usrp/usrp2/serdes_ctrl.cpp')
-rw-r--r-- | host/lib/usrp/usrp2/serdes_ctrl.cpp | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/host/lib/usrp/usrp2/serdes_ctrl.cpp b/host/lib/usrp/usrp2/serdes_ctrl.cpp new file mode 100644 index 000000000..dde22b499 --- /dev/null +++ b/host/lib/usrp/usrp2/serdes_ctrl.cpp @@ -0,0 +1,46 @@ +// +// Copyright 2010 Ettus Research LLC +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. +// + +#include "serdes_ctrl.hpp" +#include "usrp2_regs.hpp" + +using namespace uhd; + +/*! + * A usrp2 serdes control implementation + */ +class serdes_ctrl_impl : public serdes_ctrl{ +public: + serdes_ctrl_impl(usrp2_iface::sptr iface){ + _iface = iface; + _iface->poke32(FR_MISC_CTRL_SERDES, FRF_MISC_CTRL_SERDES_ENABLE | FRF_MISC_CTRL_SERDES_RXEN); + } + + ~serdes_ctrl_impl(void){ + _iface->poke32(FR_MISC_CTRL_SERDES, 0); //power-down + } + +private: + usrp2_iface::sptr _iface; +}; + +/*********************************************************************** + * Public make function for the usrp2 serdes control + **********************************************************************/ +serdes_ctrl::sptr serdes_ctrl::make(usrp2_iface::sptr iface){ + return sptr(new serdes_ctrl_impl(iface)); +} |