With the kernel driver from bootc, I've been able to control a 74HC595 over SPI using Python on the Rpi.
Software part (did it a few days ago, perhaps missing a step)
> Installed the debian6 image
> updated & upgraded the packages
> installed bootc (bootc.net) rpi kernel (3.2.17)
> rebooted and dmesg shows SPI enabled
> a "ls -al /dev/spi*" shows the /dev/spidev0.0 device, ready for use
> Brian Hensley (http://www.brianhensley.net/2012/02/pyt ... us-on.html
) wrote SPI code to use from Python on a Beagleboard but this is also working on the Rpi.
> Following the instruction, you'll compile spimodule.c using setup.py (both supplied by Brian).
> Changed the following in his code: data = ["00"] to turn every port off the 595 off, data = ["FF"] to turn every port to on. Also changed -> a = spi.SPI(0,0)
> Run this code using sudo (direct port access)
> Using the GPIO pin layout for the Rpi on the wiki (http://elinux.org/Rpi_Low-level_peripherals
> Connect 5v to 595 pin 10 and pin 16
> Connect GND to 595 pin 8 and pin 13
> Connect SPI0 MOSI to 595 pin 14
> Connect SPI0 SCLK to 595 pin 11
> Connect SPI0 CE0 N to 595 pin 12
> Connect LED's to pin 1 etc.
Still needs work in the C module etc, but this is a nice proof of concept.