From 989c8f8ccb6038c013fbc3c40cb3e511b23d7fca Mon Sep 17 00:00:00 2001 From: Gwenhael Goavec-Merou Date: Wed, 26 Feb 2025 19:48:42 +0100 Subject: [PATCH] ftdispi: lowlevel init/MPSSE configuration before pins manipulation (issue #519) --- src/ftdispi.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/ftdispi.cpp b/src/ftdispi.cpp index 1bbbe40..6874d3a 100644 --- a/src/ftdispi.cpp +++ b/src/ftdispi.cpp @@ -74,11 +74,12 @@ FtdiSpi::FtdiSpi(int vid, int pid, unsigned char interface, uint32_t clkHZ, (void)pid; (void)vid; (void)interface; + + init(1, 0x00, BITMODE_MPSSE); + setMode(0); setCSmode(SPI_CS_AUTO); setEndianness(SPI_MSB_FIRST); - - init(1, 0x00, BITMODE_MPSSE); } FtdiSpi::FtdiSpi(const cable_t &cable, @@ -96,6 +97,8 @@ FtdiSpi::FtdiSpi(const cable_t &cable, if (spi_config.wpn_pin) _wpn = spi_config.wpn_pin; + init(1, _cs_bits, BITMODE_MPSSE); + /* clk is fixed by MPSSE engine * but CS, holdn, wpn are free -> update bits direction */ @@ -106,7 +109,6 @@ FtdiSpi::FtdiSpi(const cable_t &cable, setCSmode(SPI_CS_AUTO); setEndianness(SPI_MSB_FIRST); - init(1, 0x00, BITMODE_MPSSE); } FtdiSpi::~FtdiSpi()