aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/lib/spi
diff options
context:
space:
mode:
authorMark Meserve <mark.meserve@ni.com>2017-03-29 12:20:51 -0500
committerMartin Braun <martin.braun@ettus.com>2017-12-22 15:03:45 -0800
commit51586a989e118a5b848a95f0c5e8fd274c7cde2b (patch)
tree369014ca873806e8c0af19e7a27af1ae01cf1ac3 /mpm/lib/spi
parent306468d564a28de96ff9d272503d15b2ecb81ff3 (diff)
downloaduhd-51586a989e118a5b848a95f0c5e8fd274c7cde2b.tar.gz
uhd-51586a989e118a5b848a95f0c5e8fd274c7cde2b.tar.bz2
uhd-51586a989e118a5b848a95f0c5e8fd274c7cde2b.zip
mpm: clean up spi
remove spi_lock remove ad9371 spi_config types
Diffstat (limited to 'mpm/lib/spi')
-rw-r--r--mpm/lib/spi/CMakeLists.txt3
-rw-r--r--mpm/lib/spi/mock_spi.cpp117
-rw-r--r--mpm/lib/spi/spi_config.cpp37
-rw-r--r--mpm/lib/spi/spi_config.h44
-rw-r--r--mpm/lib/spi/spi_lock.cpp26
5 files changed, 0 insertions, 227 deletions
diff --git a/mpm/lib/spi/CMakeLists.txt b/mpm/lib/spi/CMakeLists.txt
index b84c0de73..517e88561 100644
--- a/mpm/lib/spi/CMakeLists.txt
+++ b/mpm/lib/spi/CMakeLists.txt
@@ -1,7 +1,4 @@
SET(SPI_SOURCES
- ${CMAKE_CURRENT_SOURCE_DIR}/spi_lock.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/spi_config.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/mock_spi.cpp
${CMAKE_CURRENT_SOURCE_DIR}/spidev_iface.cpp
)
diff --git a/mpm/lib/spi/mock_spi.cpp b/mpm/lib/spi/mock_spi.cpp
deleted file mode 100644
index 28518d7a8..000000000
--- a/mpm/lib/spi/mock_spi.cpp
+++ /dev/null
@@ -1,117 +0,0 @@
-//
-// Copyright 2014 Ettus Research (National Instruments)
-//
-// 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 <uhd/config.hpp>
-#include <uhd/exception.hpp>
-#include "n310_spi.h"
-
-#include <fcntl.h>
-#include <sys/ioctl.h>
-#include <linux/types.h>
-#include <linux/spi/spidev.h>
-
-
-class spidev_impl : public spi
-{
-public:
-
- spidev_impl(const std::string &device)
- : _mode(SPI_CPHA),
- _speed(2000000),
- _bits(8),
- _delay(0)
- {
- int ret;
- _fd = open(device.c_str(), O_RDWR);
- if (_fd < 0)
- throw uhd::runtime_error(str(boost::format("Could not open spidev device %s") % device));
-
- ret = ioctl(_fd, SPI_IOC_WR_MODE, &_mode);
- if (ret == -1)
- throw uhd::runtime_error("Could not set spidev mode");
-
- ret = ioctl(_fd, SPI_IOC_RD_MODE, &_mode);
- if (ret == -1)
- throw uhd::runtime_error("Could not get spidev mode");
-
- ret = ioctl(_fd, SPI_IOC_WR_BITS_PER_WORD, &_bits);
- if (ret == -1)
- throw uhd::runtime_error("Could not set spidev bits per word");
-
- ret = ioctl(_fd, SPI_IOC_RD_BITS_PER_WORD, &_bits);
- if (ret == -1)
- throw uhd::runtime_error("Could not get spidev bits per word");
-
- ret = ioctl(_fd, SPI_IOC_WR_MAX_SPEED_HZ, &_speed);
- if (ret == -1)
- throw uhd::runtime_error("Could not set spidev max speed");
-
- ret = ioctl(_fd, SPI_IOC_RD_MAX_SPEED_HZ, &_speed);
- if (ret == -1)
- throw uhd::runtime_error("Could not get spidev max speed");
- }
-
- virtual ~spidev_impl()
- {
- close(_fd);
- }
-
- uint32_t transact_spi(int, const uhd::spi_config_t &,
- uint32_t data, size_t num_bits,
- bool)
- {
- int ret(0);
- struct spi_ioc_transfer tr;
-
- uint8_t *tx_data = reinterpret_cast<uint8_t *>(&data);
-
-
- UHD_ASSERT_THROW(num_bits == 24);
- uint8_t tx[] = { tx_data[2], tx_data[1], tx_data[0] };
-
- uint8_t rx[3];
- tr.tx_buf = (unsigned long)&tx[0];
- tr.rx_buf = (unsigned long)&rx[0];
- tr.len = num_bits >> 3;
- tr.bits_per_word = _bits;
- tr.tx_nbits = 1;
- tr.rx_nbits = 1;
- tr.speed_hz = _speed;
- tr.delay_usecs = _delay;
-
- ret = ioctl(_fd, SPI_IOC_MESSAGE(1), &tr);
- if (ret < 1)
- throw uhd::runtime_error("Could not send spidev message");
-
- return rx[2];
- }
-
-private:
- int _fd;
- uint8_t _mode;
- uint32_t _speed;
- uint8_t _bits;
- uint16_t _delay;
-
-};
-
-spi::sptr spi::make(const std::string &device)
-{
- return spi::sptr(new spidev_impl(device));
-}
-*/ \ No newline at end of file
diff --git a/mpm/lib/spi/spi_config.cpp b/mpm/lib/spi/spi_config.cpp
deleted file mode 100644
index 69d6d9c2a..000000000
--- a/mpm/lib/spi/spi_config.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-#include "spi_config.h"
-
-
-spi_config_t::spi_config_t(const spi_hwd_settings_t hwd_settings, const spi_device_settings_t device_settings) :
- full_settings({
- _convert_to_adi_settings(hwd_settings.chip_select_index, device_settings),
- hwd_settings })
-{
-
-}
-
-spiSettings_t spi_config_t::_convert_to_adi_settings(const uint8_t chip_select_index, const spi_device_settings_t device_settings)
-{
- return {
- chip_select_index,
- device_settings.writeBitPolarity,
- device_settings.longInstructionWord,
- device_settings.MSBFirst,
- device_settings.CPHA,
- device_settings.CPOL,
- device_settings.enSpiStreaming,
- device_settings.autoIncAddrUp,
- device_settings.fourWireMode,
- device_settings.spiClkFreq_Hz,
- };
-}
-
-const spiSettings_t* spi_config_t::get_spi_settings() const
-{
- return &(full_settings.adi_settings);
-}
-
-const spi_full_settings_t* spi_config_t::recover_full_spi_settings(const spiSettings_t* settings)
-{
- // TODO: make this better
- return reinterpret_cast<const spi_full_settings_t*>(settings);
-}
diff --git a/mpm/lib/spi/spi_config.h b/mpm/lib/spi/spi_config.h
deleted file mode 100644
index a29a9bc64..000000000
--- a/mpm/lib/spi/spi_config.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#pragma once
-
-#include "../mykonos/adi/common.h"
-
-// contains information about the spi configuration
-
-struct spi_device_settings_t
-{
- uint8_t writeBitPolarity;
- uint8_t longInstructionWord; ///< 1 = 16bit instruction word, 0 = 8bit instruction word
- uint8_t MSBFirst; ///< 1 = MSBFirst, 0 = LSBFirst
- uint8_t CPHA; ///< clock phase, sets which clock edge the data updates (valid 0 or 1)
- uint8_t CPOL; ///< clock polarity 0 = clock starts low, 1 = clock starts high
- uint8_t enSpiStreaming; ///< Not implemented. SW feature to improve SPI throughput.
- uint8_t autoIncAddrUp; ///< Not implemented. For SPI Streaming, set address increment direction. 1= next addr = addr+1, 0:addr = addr-1
- uint8_t fourWireMode; ///< 1: Use 4-wire SPI, 0: 3-wire SPI (SDIO pin is bidirectional). NOTE: ADI's FPGA platform always uses 4-wire mode.
- uint32_t spiClkFreq_Hz;
-};
-
-struct spi_hwd_settings_t
-{
- uint8_t spidev_index;
- uint8_t chip_select_index;
-};
-
-struct spi_full_settings_t
-{
- spiSettings_t adi_settings;
- spi_hwd_settings_t hwd_settings;
-};
-
-class spi_config_t
-{
-public:
- spi_config_t(spi_hwd_settings_t hwd_settings, spi_device_settings_t device_settings);
-
-private:
- const spi_full_settings_t full_settings;
- static spiSettings_t _convert_to_adi_settings(uint8_t chip_select_index, spi_device_settings_t device_settings);
-
-public:
- const spiSettings_t* get_spi_settings() const;
- static const spi_full_settings_t* recover_full_spi_settings(const spiSettings_t* settings);
-};
diff --git a/mpm/lib/spi/spi_lock.cpp b/mpm/lib/spi/spi_lock.cpp
deleted file mode 100644
index b37daa738..000000000
--- a/mpm/lib/spi/spi_lock.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-#include "mpm/spi/spi_lock.hpp"
-
-spi_lock::spi_lock(uint8_t spidev_index) :
- spidev_index(spidev_index)
-{
-
-}
-
-uint8_t spi_lock::get_spidev() const
-{
- return spidev_index;
-}
-
-void spi_lock::lock()
-{
- spi_mutex.lock();
-}
-void spi_lock::unlock()
-{
- spi_mutex.unlock();
-}
-
-spi_lock::sptr spi_lock::make(uint8_t spidev_index)
-{
- return std::make_shared<spi_lock>(spidev_index);
-}