From ca5ffeeb576e6392ed1331f01fb2ac5be4524d24 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 1 Jul 2016 22:09:24 +0100 Subject: [PATCH] spi-bcm2835: Disable forced software CS Select software CS in bcm2708_common.dtsi, and disable the automatic conversion in the driver to allow hardware CS to be re-enabled with an overlay. See: https://github.com/raspberrypi/linux/issues/1547 Signed-off-by: Phil Elwell --- arch/arm/boot/dts/bcm2708_common.dtsi | 2 +- drivers/spi/spi-bcm2835.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) --- a/arch/arm/boot/dts/bcm2708_common.dtsi +++ b/arch/arm/boot/dts/bcm2708_common.dtsi @@ -183,7 +183,7 @@ * add more gpios if necessary as <&gpio 6 1> * (but do not forget to make them output!) */ - cs-gpios = <0>, <0>; + cs-gpios = <&gpio 8 1>, <&gpio 7 1>; }; i2c0: i2c@7e205000 { --- a/drivers/spi/spi-bcm2835.c +++ b/drivers/spi/spi-bcm2835.c @@ -707,6 +707,7 @@ static int bcm2835_spi_setup(struct spi_ return -EINVAL; } +#if 0 /* now translate native cs to GPIO */ /* first look for chip select pins in the devices pin groups */ for (pingroup_index = 0; @@ -761,6 +762,7 @@ static int bcm2835_spi_setup(struct spi_ * so we are setting it here explicitly */ gpio_set_value(spi->cs_gpio, (spi->mode & SPI_CS_HIGH) ? 0 : 1); +#endif return 0; }