raspberrypi/linux — pull request #650 by notro (2014-07-27 18:17:55+00:00)
Title: spi: bcm2708: add device tree support

kconfig
```
ARCH=arm make bcmrpi_defconfig
scripts/config --enable BCM2708_DT
scripts/config --module SPI_BCM2835
yes "" | ARCH=arm make oldconfig
```

Enable SPI
```
$ fdtget /boot/bcm2708-rpi-b.dtb /soc/spi@7e204000 status
disabled
$ sudo fdtput --type s /boot/bcm2708-rpi-b.dtb /soc/spi@7e204000 status "okay"
$ sudo reboot
$ lsmod
spi_bcm2708
```

Use the spi-bcm2835 driver
```
$ fdtget /boot/bcm2708-rpi-b.dtb /soc/spi@7e204000 compatible
brcm,bcm2708-spi
$ sudo fdtput --type s /boot/bcm2708-rpi-b.dtb /soc/spi@7e204000 compatible "brcm,bcm2835-spi"
$ fdtget /boot/bcm2708-rpi-b.dtb /soc/spi@7e204000 compatible
brcm,bcm2835-spi
$ sudo reboot
$ lsmod
spi_bcm2835
```

Howto install latest dtc: https://github.com/notro/rpi-firmware/wiki/Device-Tree

**Test**

I have tested both SPI drivers with an ADS7846 touch controller. Worked fine.
This also verifies that GPIO interrupts in DT works.