diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.4/0421-spi-bcm2835-Disable-forced-software-CS.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.4/0421-spi-bcm2835-Disable-forced-software-CS.patch | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.4/0421-spi-bcm2835-Disable-forced-software-CS.patch b/target/linux/brcm2708/patches-4.4/0421-spi-bcm2835-Disable-forced-software-CS.patch new file mode 100644 index 0000000000..1e407630ab --- /dev/null +++ b/target/linux/brcm2708/patches-4.4/0421-spi-bcm2835-Disable-forced-software-CS.patch @@ -0,0 +1,46 @@ +From e95bf039347d97f57e7045d7cd2d1f7e4daed1c6 Mon Sep 17 00:00:00 2001 +From: Phil Elwell <phil@raspberrypi.org> +Date: Fri, 1 Jul 2016 22:09:24 +0100 +Subject: [PATCH 421/423] 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 +@@ -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; + } |