• Magnus Damm's avatar
    spi: SuperH MSIOF SPI Master driver V2 · 8051effc
    Magnus Damm authored
    This patch is V2 of SPI Master support for the SuperH MSIOF.
    Full duplex, spi mode 0-3, active high cs, 3-wire and lsb
    first should all be supported, but the driver has so far
    only been tested with "mmc_spi".
    
    The MSIOF hardware comes with 32-bit FIFOs for receive and
    transmit, and this driver simply breaks the SPI messages
    into FIFO-sized chunks. The MSIOF hardware manages the pins
    for clock, receive and transmit (sck/miso/mosi), but the chip
    select pin is managed by software and must be configured as
    a regular GPIO pin by the board code.
    
    Performance wise there is still room for improvement, but
    on a Ecovec board with the built-in sh7724 MSIOF0 this driver
    gets Mini-sd read speeds of about half a megabyte per second.
    
    Future work include better clock setup and merging of 8-bit
    transfers into 32-bit words to reduce interrupt load and
    improve throughput.
    Signed-off-by: default avatarMagnus Damm <damm@opensource.se>
    Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
    8051effc
spi_sh_msiof.c 16.3 KB