2016-12-02 10:50:26 +00:00
|
|
|
From ca5ffeeb576e6392ed1331f01fb2ac5be4524d24 Mon Sep 17 00:00:00 2001
|
2016-07-07 07:22:07 +00:00
|
|
|
From: Phil Elwell <phil@raspberrypi.org>
|
|
|
|
Date: Fri, 1 Jul 2016 22:09:24 +0100
|
2016-09-10 12:54:26 +00:00
|
|
|
Subject: [PATCH] spi-bcm2835: Disable forced software CS
|
2016-07-07 07:22:07 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
@@ -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;
|
|
|
|
}
|