SPI_PCM#
pin should be pulled up to I/O voltagesupply through a 10K resistor.SPI_DEBUG_EN
(on BC6140) or SPI_PIO#
(on CSR1010) pinshould be pulled up directly to I/O voltage supply to enable SPI port.PSKEY_USR0
and can be changed using appropriate Configuration Tool orPSTool. See sample PSR files for disabling charger in misc/.SPIMAXCLOCK=200
option.Signal | FT232RL pin | FTDI pin name | FTDI GPIO bit | CSR pin |
---|---|---|---|---|
CS# | 2 | DTR# | D4 | SPI_CS# |
CLK | 3 | RTS# | D2 | SPI_CLK |
MOSI | 6 | RI# | D7 | SPI_MOSI |
MISO | 9 | DSR# | D5 | SPI_MISO |
TX | 1 | TXD | Not used | UART_RX |
RX | 5 | RXD | Not used | UART_TX |
LED_RD | 10 | DCD# | D6 | -- |
LED_WR | 11 | CTS# | D3 | -- |
GND | 7, 18, 21 | GND | -- | GND |
FTDI_PINOUT
Option.https://www.csrsupport.com/PCSW
. Older versions of BlueSuite can be found athttps://www.csrsupport.com/PCSWArchive
. Access to these pages requiresregistration.plugdev
group and relogin.C:Program Files (x86)CSRBlueSuite 2.6.0
);-TRANS 'SPITRANS=USB SPIPORT=1'
optionfor command line tools. Importmisc/spi-set-usb-transport.reg to change thedefault.SPIMAXCLOCK
- Maximum SPI clock frequency in kHz, default is 1000.Practical values range from 20 to 2000. CSR app may slow SPI clock down whenread or write verification fails. Some commands are always executed at 20kHz.FTDI_LOG_LEVEL
- sets csr-spi-ftdi log level, available log levels:quiet
, err
, warn
, info
, debug
. Adding a ,dump
option provides hexdumps of transferred data. Example: FTDI_LOG_LEVEL=info,dump
. Default:warn
.FTDI_LOG_FILE
- specify log file name. Can be set to stdout
to log tostandard output, or to stderr
to log to standard error stream. Default:stderr
.FTDI_INTERFACE
(since version 0.5.1) - specify interface on multi-interfacechips (FT2232, FT4232). Default: A
.FTDI_PINOUT
(since version 0.5.2) - specify a pinout. Available pinouts:default
- default pinout as described in Using FT232RL breakout board asa programmer.noleds
- this is the same as default
but without LEDs.hwspi
- pinout for use with MPSSE chips (FT2232, FT4232, FT232H), usesthe same pins as hardware SPI. Note that hardware SPI capability is notused, just the same pinout is used for convenience. This pinout can be usedwith adapters like TIAOTUMPA.The pinout is as follows: CS
- DBUS3
, CLK
- DBUS0
, MOSI
-DBUS1
, MISO
- DBUS2
.hwspi+leds
- this is the same as hwspi
but adds read and write LEDs onDBUS4
and DBUS5
pins respectively.csr-fw-backup.xpv
and csr-fw-backup.xdv
.csr-fw.xpv
and csr-fw.xdv
:csr-pskeys.psr
:pskeys.psr
to the chip:SPIMAXCLOCK
option may help in caseof communication failures.Unable to start read (invalid control data)
errors are usually harmless,since read attempts are retried. If You've got a pile of theese errors andprogrammer doesn't work - check connections, voltage levels, try to lower SPIconnection resistor values or connecting ~ 1nF capacitors in parallel withresistors. Decreasing SPI speed using SPIMAXCLOCK
option mayalso help.WARNING: Attempt %d to read sector %d
warnings are also harmless if they arenot result in error.Couldn't find LPT port
error means You use spilpt.dll driver instead ofusbspi.dll. Try importingmisc/spi-set-usb-transport.reg or adding-trans 'SPITRANS=USB SPIPORT=1'
option on command line.Lost %d of %d bytes of data in transit
or ERROR: Download Failed, Sector %d
- probably an indication of counterfeit FT232RL plugged into ASM1042 USB3.0 controller. Try to replug into other controller. See Counterfeit FT232RLchips.https://www.csrsupport.com/document.php?did=38692
- it doesn't containsource code for SPI drivers but at least development header files inCSRSource/result/include/ are of some help.