aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/b200/b200_regs.hpp
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2013-07-19 14:08:22 -0700
committerJosh Blum <josh@joshknows.com>2013-07-19 14:08:22 -0700
commitb21a03fffe4f1836faa4fa50e84eb56540f1517d (patch)
tree92500b194afbbb6c60c64b426a1ecee74fe5b20a /host/lib/usrp/b200/b200_regs.hpp
parent236ac8233215278d66b4c5343e740e896d9f8599 (diff)
downloaduhd-b21a03fffe4f1836faa4fa50e84eb56540f1517d.tar.gz
uhd-b21a03fffe4f1836faa4fa50e84eb56540f1517d.tar.bz2
uhd-b21a03fffe4f1836faa4fa50e84eb56540f1517d.zip
b200: squashed support for b200 onto master branch
Diffstat (limited to 'host/lib/usrp/b200/b200_regs.hpp')
-rw-r--r--host/lib/usrp/b200/b200_regs.hpp119
1 files changed, 119 insertions, 0 deletions
diff --git a/host/lib/usrp/b200/b200_regs.hpp b/host/lib/usrp/b200/b200_regs.hpp
new file mode 100644
index 000000000..0e4cc82cd
--- /dev/null
+++ b/host/lib/usrp/b200/b200_regs.hpp
@@ -0,0 +1,119 @@
+//
+// Copyright 2012-2013 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/>.
+//
+
+#ifndef INCLUDED_B200_REGS_HPP
+#define INCLUDED_B200_REGS_HPP
+
+#include <boost/cstdint.hpp>
+
+#define TOREG(x) ((x)*4)
+
+#define localparam static const int
+
+localparam SR_CORE_SPI = 8;
+localparam SR_CORE_MISC = 16;
+localparam SR_CORE_COMPAT = 24;
+localparam SR_CORE_GPSDO_ST = 40;
+localparam RB32_CORE_SPI = 8;
+localparam RB32_CORE_MISC = 16;
+localparam RB32_CORE_STATUS = 20;
+
+localparam SR_SPI = 8;
+localparam SR_ATR = 12;
+localparam SR_TEST = 21;
+localparam SR_CODEC_IDLE = 22;
+localparam SR_READBACK = 32;
+localparam SR_TX_CTRL = 64;
+localparam SR_RX_CTRL = 96;
+localparam SR_RX_DSP = 144;
+localparam SR_TX_DSP = 184;
+localparam SR_TIME = 128;
+
+localparam RB32_TEST = 0;
+localparam RB64_TIME_NOW = 8;
+localparam RB64_TIME_PPS = 16;
+localparam RB64_CODEC_READBACK = 24;
+
+//pll constants
+static const int ADF4001_SLAVENO = (1 << 1);
+static const double ADF4001_SPI_RATE = 10e3; //slow for large time constant on spi lines
+
+/* ATR Control Bits */
+static const boost::uint32_t TX_ENABLE1 = (1 << 7);
+static const boost::uint32_t SFDX1_RX = (1 << 6);
+static const boost::uint32_t SFDX1_TX = (1 << 5);
+static const boost::uint32_t SRX1_RX = (1 << 4);
+static const boost::uint32_t SRX1_TX = (1 << 3);
+static const boost::uint32_t LED_RX1 = (1 << 2);
+static const boost::uint32_t LED_TXRX_RX1 = (1 << 1);
+static const boost::uint32_t LED_TXRX_TX1 = (1 << 0);
+
+static const boost::uint32_t TX_ENABLE2 = (1 << 7);
+static const boost::uint32_t SFDX2_RX = (1 << 6);
+static const boost::uint32_t SFDX2_TX = (1 << 5);
+static const boost::uint32_t SRX2_RX = (1 << 4);
+static const boost::uint32_t SRX2_TX = (1 << 3);
+static const boost::uint32_t LED_RX2 = (1 << 2);
+static const boost::uint32_t LED_TXRX_RX2 = (1 << 1);
+static const boost::uint32_t LED_TXRX_TX2 = (1 << 0);
+
+
+/* ATR State Definitions. */
+static const boost::uint32_t STATE_OFF = 0x00;
+
+///////////////////////// side 1 ///////////////////////////////////
+static const boost::uint32_t STATE_RX1_RX2 = (SFDX1_RX
+ | SFDX1_TX
+ | LED_RX1);
+
+static const boost::uint32_t STATE_RX1_TXRX = (SRX1_RX
+ | SRX1_TX
+ | LED_TXRX_RX1);
+
+static const boost::uint32_t STATE_FDX1_TXRX = (TX_ENABLE1
+ | SFDX1_RX
+ | SFDX1_TX
+ | LED_TXRX_TX1
+ | LED_RX1);
+
+static const boost::uint32_t STATE_TX1_TXRX = (TX_ENABLE1
+ | SFDX1_RX
+ | SFDX1_TX
+ | LED_TXRX_TX1);
+
+///////////////////////// side 2 ///////////////////////////////////
+static const boost::uint32_t STATE_RX2_RX2 = (SFDX2_RX
+ | SRX2_TX
+ | LED_RX2);
+
+static const boost::uint32_t STATE_RX2_TXRX = (SRX2_TX
+ | SRX2_RX
+ | LED_TXRX_RX2);
+
+static const boost::uint32_t STATE_FDX2_TXRX = (TX_ENABLE2
+ | SFDX2_RX
+ | SFDX2_TX
+ | LED_TXRX_TX2
+ | LED_RX2);
+
+static const boost::uint32_t STATE_TX2_TXRX = (TX_ENABLE2
+ | SFDX2_RX
+ | SFDX2_TX
+ | LED_TXRX_TX2);
+
+
+#endif /* INCLUDED_B200_REGS_HPP */