diff options
author | Jonas Gorski <jonas.gorski@gmail.com> | 2018-01-13 13:18:10 +0100 |
---|---|---|
committer | Jonas Gorski <jonas.gorski@gmail.com> | 2018-02-11 23:15:05 +0100 |
commit | b0c5e8b9274188bf3bb238e013e324542ee747c4 (patch) | |
tree | 4cd32d3be6ef96eaa069d2e6cd52b625da07def1 /target/linux/brcm63xx/patches-4.9/001-4.12-01-spi-bcm63xx-make-spi-subsystem-aware-of-message-size.patch | |
parent | a27d59bb427466311fe7e69da3f0f53be18237aa (diff) | |
download | upstream-b0c5e8b9274188bf3bb238e013e324542ee747c4.tar.gz upstream-b0c5e8b9274188bf3bb238e013e324542ee747c4.tar.bz2 upstream-b0c5e8b9274188bf3bb238e013e324542ee747c4.zip |
brcm63xx: add kernel 4.9 support
Add support for kernel 4.9 based on the more upstream comformant
partition defintions. Increases compressed kernel size by ~95k
compared to 4.4.
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Diffstat (limited to 'target/linux/brcm63xx/patches-4.9/001-4.12-01-spi-bcm63xx-make-spi-subsystem-aware-of-message-size.patch')
-rw-r--r-- | target/linux/brcm63xx/patches-4.9/001-4.12-01-spi-bcm63xx-make-spi-subsystem-aware-of-message-size.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/patches-4.9/001-4.12-01-spi-bcm63xx-make-spi-subsystem-aware-of-message-size.patch b/target/linux/brcm63xx/patches-4.9/001-4.12-01-spi-bcm63xx-make-spi-subsystem-aware-of-message-size.patch new file mode 100644 index 0000000000..f049af0d82 --- /dev/null +++ b/target/linux/brcm63xx/patches-4.9/001-4.12-01-spi-bcm63xx-make-spi-subsystem-aware-of-message-size.patch @@ -0,0 +1,42 @@ +From 3fcc36962c32ad0af2d5904103e2b2b824b6b1aa Mon Sep 17 00:00:00 2001 +From: Jonas Gorski <jonas.gorski@gmail.com> +Date: Sat, 4 Feb 2017 12:32:59 +0100 +Subject: [PATCH 2/8] spi/bcm63xx: make spi subsystem aware of message size + limits + +The bcm63xx LS SPI controller does not allow manual control of the CS +lines and will toggle it automatically before after sending data, so we +are limited to messages that fit in the FIFO buffer. Since the CS lines +aren't available as GPIOs either, we will need to make slave drivers +aware of this limitation and handle it accordingly. + +Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> +--- + drivers/spi/spi-bcm63xx.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +--- a/drivers/spi/spi-bcm63xx.c ++++ b/drivers/spi/spi-bcm63xx.c +@@ -428,6 +428,13 @@ static irqreturn_t bcm63xx_spi_interrupt + return IRQ_HANDLED; + } + ++static size_t bcm63xx_spi_max_length(struct spi_device *spi) ++{ ++ struct bcm63xx_spi *bs = spi_master_get_devdata(spi->master); ++ ++ return bs->fifo_size; ++} ++ + static const unsigned long bcm6348_spi_reg_offsets[] = { + [SPI_CMD] = SPI_6348_CMD, + [SPI_INT_STATUS] = SPI_6348_INT_STATUS, +@@ -541,6 +548,8 @@ static int bcm63xx_spi_probe(struct plat + master->transfer_one_message = bcm63xx_spi_transfer_one; + master->mode_bits = MODEBITS; + master->bits_per_word_mask = SPI_BPW_MASK(8); ++ master->max_transfer_size = bcm63xx_spi_max_length; ++ master->max_message_size = bcm63xx_spi_max_length; + master->auto_runtime_pm = true; + bs->msg_type_shift = bs->reg_offsets[SPI_MSG_TYPE_SHIFT]; + bs->msg_ctl_width = bs->reg_offsets[SPI_MSG_CTL_WIDTH]; |