GPIO-based bitbanging SPI Master

modulename: spi-gpio.ko
configname: CONFIG_SPI_GPIO

Linux Kernel Configuration
└─> Device Drivers
└─> SPI support
└─> GPIO-based bitbanging SPI Master

In linux kernel since version 2.6.29 (release Date: 2009-03-23)  

This simple GPIO bitbanging SPI master uses the arch-neutral GPIO
interface to manage MOSI, MISO, SCK, and chipselect signals. SPI
slaves connected to a bus using this driver are configured as usual,
except that the spi_board_info.controller_data holds the GPIO number
for the chipselect used by this controller driver.

Note that this driver often won't achieve even 1 Mbit/sec speeds,
making it unusually slow for SPI. If your platform can inline
GPIO operations, you should be able to leverage that for better
speed with a custom version of this driver; see the source code.

source code: