diff options
Diffstat (limited to 'target/linux/bcm53xx/patches-4.4/083-0002-spi-brcmstb-qspi-Broadcom-settop-platform-driver.patch')
-rw-r--r-- | target/linux/bcm53xx/patches-4.4/083-0002-spi-brcmstb-qspi-Broadcom-settop-platform-driver.patch | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/target/linux/bcm53xx/patches-4.4/083-0002-spi-brcmstb-qspi-Broadcom-settop-platform-driver.patch b/target/linux/bcm53xx/patches-4.4/083-0002-spi-brcmstb-qspi-Broadcom-settop-platform-driver.patch new file mode 100644 index 0000000000..476b11cdc8 --- /dev/null +++ b/target/linux/bcm53xx/patches-4.4/083-0002-spi-brcmstb-qspi-Broadcom-settop-platform-driver.patch @@ -0,0 +1,84 @@ +From 44f95d87a6187f5027568bbcdce491713d7de5e5 Mon Sep 17 00:00:00 2001 +From: Kamal Dasu <kdasu.kdev@gmail.com> +Date: Wed, 24 Aug 2016 18:04:24 -0400 +Subject: [PATCH] spi: brcmstb-qspi: Broadcom settop platform driver + +Adding the settop SoC platfrom driver, this driver is compatible +with the settop MSPI+BSPI and MSPI only blocks implemented on the +SoCs. Driver calls the spi-bcm-qspi probe(), remove() and pm_ops. + +Signed-off-by: Kamal Dasu <kdasu.kdev@gmail.com> +Signed-off-by: Mark Brown <broonie@kernel.org> +--- + drivers/spi/Makefile | 2 +- + drivers/spi/spi-brcmstb-qspi.c | 53 ++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 54 insertions(+), 1 deletion(-) + create mode 100644 drivers/spi/spi-brcmstb-qspi.c + +--- a/drivers/spi/Makefile ++++ b/drivers/spi/Makefile +@@ -19,7 +19,7 @@ obj-$(CONFIG_SPI_BCM2835AUX) += spi-bcm + obj-$(CONFIG_SPI_BCM53XX) += spi-bcm53xx.o + obj-$(CONFIG_SPI_BCM63XX) += spi-bcm63xx.o + obj-$(CONFIG_SPI_BCM63XX_HSSPI) += spi-bcm63xx-hsspi.o +-obj-$(CONFIG_SPI_BCM_QSPI) += spi-bcm-qspi.o ++obj-$(CONFIG_SPI_BCM_QSPI) += spi-brcmstb-qspi.o spi-bcm-qspi.o + obj-$(CONFIG_SPI_BFIN5XX) += spi-bfin5xx.o + obj-$(CONFIG_SPI_ADI_V3) += spi-adi-v3.o + obj-$(CONFIG_SPI_BFIN_SPORT) += spi-bfin-sport.o +--- /dev/null ++++ b/drivers/spi/spi-brcmstb-qspi.c +@@ -0,0 +1,53 @@ ++/* ++ * Copyright 2016 Broadcom ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License, version 2, as ++ * published by the Free Software Foundation (the "GPL"). ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License version 2 (GPLv2) for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * version 2 (GPLv2) along with this source code. ++ */ ++ ++#include <linux/device.h> ++#include <linux/module.h> ++#include <linux/platform_device.h> ++#include <linux/of.h> ++#include "spi-bcm-qspi.h" ++ ++static const struct of_device_id brcmstb_qspi_of_match[] = { ++ { .compatible = "brcm,spi-brcmstb-qspi" }, ++ { .compatible = "brcm,spi-brcmstb-mspi" }, ++ {}, ++}; ++MODULE_DEVICE_TABLE(of, brcmstb_qspi_of_match); ++ ++static int brcmstb_qspi_probe(struct platform_device *pdev) ++{ ++ return bcm_qspi_probe(pdev, NULL); ++} ++ ++static int brcmstb_qspi_remove(struct platform_device *pdev) ++{ ++ return bcm_qspi_remove(pdev); ++} ++ ++static struct platform_driver brcmstb_qspi_driver = { ++ .probe = brcmstb_qspi_probe, ++ .remove = brcmstb_qspi_remove, ++ .driver = { ++ .name = "brcmstb_qspi", ++ .pm = &bcm_qspi_pm_ops, ++ .of_match_table = brcmstb_qspi_of_match, ++ } ++}; ++module_platform_driver(brcmstb_qspi_driver); ++ ++MODULE_LICENSE("GPL v2"); ++MODULE_AUTHOR("Kamal Dasu"); ++MODULE_DESCRIPTION("Broadcom SPI driver for settop SoC"); |