aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.4/950-0789-Revert-spi-spi-bcm2835-Disable-forced-software-CS.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0789-Revert-spi-spi-bcm2835-Disable-forced-software-CS.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0789-Revert-spi-spi-bcm2835-Disable-forced-software-CS.patch59
1 files changed, 0 insertions, 59 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0789-Revert-spi-spi-bcm2835-Disable-forced-software-CS.patch b/target/linux/bcm27xx/patches-5.4/950-0789-Revert-spi-spi-bcm2835-Disable-forced-software-CS.patch
deleted file mode 100644
index ac0684be86..0000000000
--- a/target/linux/bcm27xx/patches-5.4/950-0789-Revert-spi-spi-bcm2835-Disable-forced-software-CS.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 1d78f72cb5a387922870e2a54228be25f84f95f6 Mon Sep 17 00:00:00 2001
-From: Phil Elwell <phil@raspberrypi.com>
-Date: Tue, 16 Jun 2020 10:23:29 +0100
-Subject: [PATCH] Revert "spi: spi-bcm2835: Disable forced software
- CS"
-
-This reverts commit 2697f0186db346176832b8eb79adaf5c874681e8.
-
-See: https://github.com/raspberrypi/linux/pull/3687
----
- drivers/spi/spi-bcm2835.c | 37 +++++++++++++++++++++++++++++++++++++
- 1 file changed, 37 insertions(+)
-
---- a/drivers/spi/spi-bcm2835.c
-+++ b/drivers/spi/spi-bcm2835.c
-@@ -1241,6 +1241,43 @@ static int bcm2835_spi_setup(struct spi_
- return -EINVAL;
- }
-
-+ /*
-+ * Translate native CS to GPIO
-+ *
-+ * FIXME: poking around in the gpiolib internals like this is
-+ * not very good practice. Find a way to locate the real problem
-+ * and fix it. Why is the GPIO descriptor in spi->cs_gpiod
-+ * sometimes not assigned correctly? Erroneous device trees?
-+ */
-+
-+ /* get the gpio chip for the base */
-+ chip = gpiochip_find("pinctrl-bcm2835", chip_match_name);
-+ if (!chip)
-+ return 0;
-+
-+ /*
-+ * Retrieve the corresponding GPIO line used for CS.
-+ * The inversion semantics will be handled by the GPIO core
-+ * code, so we pass GPIOS_OUT_LOW for "unasserted" and
-+ * the correct flag for inversion semantics. The SPI_CS_HIGH
-+ * on spi->mode cannot be checked for polarity in this case
-+ * as the flag use_gpio_descriptors enforces SPI_CS_HIGH.
-+ */
-+ if (of_property_read_bool(spi->dev.of_node, "spi-cs-high"))
-+ lflags = GPIO_ACTIVE_HIGH;
-+ else
-+ lflags = GPIO_ACTIVE_LOW;
-+ spi->cs_gpiod = gpiochip_request_own_desc(chip, 8 - spi->chip_select,
-+ DRV_NAME,
-+ lflags,
-+ GPIOD_OUT_LOW);
-+ if (IS_ERR(spi->cs_gpiod))
-+ return PTR_ERR(spi->cs_gpiod);
-+
-+ /* and set up the "mode" and level */
-+ dev_info(&spi->dev, "setting up native-CS%i to use GPIO\n",
-+ spi->chip_select);
-+
- return 0;
- }
-