diff options
Diffstat (limited to 'mpm/lib/spi/spi_regs_iface.cpp')
-rw-r--r-- | mpm/lib/spi/spi_regs_iface.cpp | 98 |
1 files changed, 32 insertions, 66 deletions
diff --git a/mpm/lib/spi/spi_regs_iface.cpp b/mpm/lib/spi/spi_regs_iface.cpp index a1b5d29f8..842f45d42 100644 --- a/mpm/lib/spi/spi_regs_iface.cpp +++ b/mpm/lib/spi/spi_regs_iface.cpp @@ -4,10 +4,10 @@ // SPDX-License-Identifier: GPL-3.0-or-later // -#include <mpm/types/regs_iface.hpp> +#include <mpm/exception.hpp> #include <mpm/spi/spi_iface.hpp> #include <mpm/spi/spi_regs_iface.hpp> -#include <mpm/exception.hpp> +#include <mpm/types/regs_iface.hpp> using mpm::types::regs_iface; @@ -18,29 +18,23 @@ using mpm::types::regs_iface; class spi_regs_iface_impl : public regs_iface { public: - - spi_regs_iface_impl( - mpm::spi::spi_iface::sptr spi_iface, + spi_regs_iface_impl(mpm::spi::spi_iface::sptr spi_iface, uint32_t addr_shift, uint32_t data_shift, uint32_t read_flags, - uint32_t write_flags = 0 - ) : _spi_iface(spi_iface), - _addr_shift(addr_shift), - _data_shift(data_shift), - _read_flags(read_flags), - _write_flags(write_flags) + uint32_t write_flags = 0) + : _spi_iface(spi_iface) + , _addr_shift(addr_shift) + , _data_shift(data_shift) + , _read_flags(read_flags) + , _write_flags(write_flags) { /* nop */ } - uint8_t peek8( - const uint32_t addr - ) { - uint32_t transaction = 0 - | (addr << _addr_shift) - | _read_flags - ; + uint8_t peek8(const uint32_t addr) + { + uint32_t transaction = 0 | (addr << _addr_shift) | _read_flags; uint32_t data = _spi_iface->transfer24_8(transaction); if ((data & 0xFFFFFF00) != 0) { @@ -50,26 +44,17 @@ public: return data; } - void poke8( - const uint32_t addr, - const uint8_t data - ) { - uint32_t transaction = 0 - | _write_flags - | (addr << _addr_shift) - | (data << _data_shift) - ; + void poke8(const uint32_t addr, const uint8_t data) + { + uint32_t transaction = 0 | _write_flags | (addr << _addr_shift) + | (data << _data_shift); _spi_iface->transfer24_8(transaction); } - uint16_t peek16( - const uint32_t addr - ) { - uint32_t transaction = 0 - | (addr << _addr_shift) - | _read_flags - ; + uint16_t peek16(const uint32_t addr) + { + uint32_t transaction = 0 | (addr << _addr_shift) | _read_flags; uint32_t data = _spi_iface->transfer24_16(transaction); if ((data & 0xFFFF0000) != 0) { @@ -79,15 +64,10 @@ public: return data; } - void poke16( - const uint32_t addr, - const uint16_t data - ) { - uint32_t transaction = 0 - | _write_flags - | (addr << _addr_shift) - | (data << _data_shift) - ; + void poke16(const uint32_t addr, const uint16_t data) + { + uint32_t transaction = 0 | _write_flags | (addr << _addr_shift) + | (data << _data_shift); _spi_iface->transfer24_16(transaction); } @@ -101,39 +81,25 @@ private: uint32_t _write_flags; }; -regs_iface::sptr mpm::spi::make_spi_regs_iface( - mpm::spi::spi_iface::sptr spi_iface, +regs_iface::sptr mpm::spi::make_spi_regs_iface(mpm::spi::spi_iface::sptr spi_iface, uint32_t addr_shift, uint32_t data_shift, uint32_t read_flags, - uint32_t write_flags -) { + uint32_t write_flags) +{ return std::make_shared<spi_regs_iface_impl>( - spi_iface, - addr_shift, - data_shift, - read_flags, - write_flags - ); + spi_iface, addr_shift, data_shift, read_flags, write_flags); } -mpm::types::regs_iface::sptr mpm::spi::make_spidev_regs_iface( - const std::string &device, +mpm::types::regs_iface::sptr mpm::spi::make_spidev_regs_iface(const std::string& device, const int speed_hz, const int spi_mode, uint32_t addr_shift, uint32_t data_shift, uint32_t read_flags, - uint32_t write_flags -) { - auto spi_iface_sptr = mpm::spi::spi_iface::make_spidev( - device, speed_hz, spi_mode - ); + uint32_t write_flags) +{ + auto spi_iface_sptr = mpm::spi::spi_iface::make_spidev(device, speed_hz, spi_mode); return std::make_shared<spi_regs_iface_impl>( - spi_iface_sptr, - addr_shift, - data_shift, - read_flags, - write_flags - ); + spi_iface_sptr, addr_shift, data_shift, read_flags, write_flags); } |