diff --git a/src/lattice.cpp b/src/lattice.cpp index 41e775b..18aeeca 100644 --- a/src/lattice.cpp +++ b/src/lattice.cpp @@ -901,7 +901,7 @@ bool Lattice::loadConfiguration() /* SPI implementation */ /* ------------------ */ -int Lattice::spi_put(uint8_t cmd, uint8_t *tx, uint8_t *rx, uint16_t len) +int Lattice::spi_put(uint8_t cmd, uint8_t *tx, uint8_t *rx, uint32_t len) { int xfer_len = len + 1; uint8_t jtx[xfer_len]; @@ -927,7 +927,7 @@ int Lattice::spi_put(uint8_t cmd, uint8_t *tx, uint8_t *rx, uint16_t len) return 0; } -int Lattice::spi_put(uint8_t *tx, uint8_t *rx, uint16_t len) +int Lattice::spi_put(uint8_t *tx, uint8_t *rx, uint32_t len) { int xfer_len = len; uint8_t jtx[xfer_len]; diff --git a/src/lattice.hpp b/src/lattice.hpp index 48d9bf4..b5ddc46 100644 --- a/src/lattice.hpp +++ b/src/lattice.hpp @@ -43,8 +43,8 @@ class Lattice: public Device, SPIInterface { /* spi interface */ int spi_put(uint8_t cmd, uint8_t *tx, uint8_t *rx, - uint16_t len) override; - int spi_put(uint8_t *tx, uint8_t *rx, uint16_t len) override; + uint32_t len) override; + int spi_put(uint8_t *tx, uint8_t *rx, uint32_t len) override; int spi_wait(uint8_t cmd, uint8_t mask, uint8_t cond, uint32_t timeout, bool verbose=false) override; diff --git a/src/spiInterface.hpp b/src/spiInterface.hpp index 92cd1c1..f0190b1 100644 --- a/src/spiInterface.hpp +++ b/src/spiInterface.hpp @@ -42,7 +42,7 @@ class SPIInterface { * \return 0 when success */ virtual int spi_put(uint8_t cmd, uint8_t *tx, uint8_t *rx, - uint16_t len) = 0; + uint32_t len) = 0; /*! * \brief send a command, followed by len byte. @@ -51,7 +51,7 @@ class SPIInterface { * \param[in] len: number of byte to send/receive * \return 0 when success */ - virtual int spi_put(uint8_t *tx, uint8_t *rx, uint16_t len) = 0; + virtual int spi_put(uint8_t *tx, uint8_t *rx, uint32_t len) = 0; /*! * \brief wait until register content and mask match cond, or timeout diff --git a/src/xilinx.cpp b/src/xilinx.cpp index 640190f..eb1f1f6 100644 --- a/src/xilinx.cpp +++ b/src/xilinx.cpp @@ -217,7 +217,7 @@ void Xilinx::program_mem(BitParser &bitfile) * so to send only a cmd set len to 0 (or omit this param) */ int Xilinx::spi_put(uint8_t cmd, - uint8_t *tx, uint8_t *rx, uint16_t len) + uint8_t *tx, uint8_t *rx, uint32_t len) { int xfer_len = len + 1 + ((rx == NULL) ? 0 : 1); uint8_t jtx[xfer_len]; @@ -243,7 +243,7 @@ int Xilinx::spi_put(uint8_t cmd, return 0; } -int Xilinx::spi_put(uint8_t *tx, uint8_t *rx, uint16_t len) +int Xilinx::spi_put(uint8_t *tx, uint8_t *rx, uint32_t len) { int xfer_len = len + ((rx == NULL) ? 0 : 1); uint8_t jtx[xfer_len]; diff --git a/src/xilinx.hpp b/src/xilinx.hpp index a7b56fb..c00496c 100644 --- a/src/xilinx.hpp +++ b/src/xilinx.hpp @@ -21,8 +21,8 @@ class Xilinx: public Device, SPIInterface { /* spi interface */ int spi_put(uint8_t cmd, uint8_t *tx, uint8_t *rx, - uint16_t len) override; - int spi_put(uint8_t *tx, uint8_t *rx, uint16_t len) override; + uint32_t len) override; + int spi_put(uint8_t *tx, uint8_t *rx, uint32_t len) override; int spi_wait(uint8_t cmd, uint8_t mask, uint8_t cond, uint32_t timeout, bool verbose = false) override; };