openwrt/target/linux/brcm2708/patches-4.4/0419-spi-bcm2835-Disable-fo...

47 lines
1.4 KiB
Diff

From ca5ffeeb576e6392ed1331f01fb2ac5be4524d24 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
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 <phil@raspberrypi.org>
---
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
@@ -706,6 +706,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;
@@ -760,6 +761,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;
}