From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pa0-x243.google.com ([2607:f8b0:400e:c03::243]) by bombadil.infradead.org with esmtps (Exim 4.85_2 #1 (Red Hat Linux)) id 1bcgII-0003RY-3K for linux-mtd@lists.infradead.org; Wed, 24 Aug 2016 22:05:10 +0000 Received: by mail-pa0-x243.google.com with SMTP id ez1so1877161pab.3 for ; Wed, 24 Aug 2016 15:04:49 -0700 (PDT) From: Kamal Dasu To: broonie@kernel.org, linux-spi@vger.kernel.org, computersforpeace@gmail.com, linux-mtd@lists.infradead.org, vigneshr@ti.com, f.fainelli@gmail.com, yendapally.reddy@broadcom.com Cc: bcm-kernel-feedback-list@broadcom.com, jon.mason@broadcom.com, Kamal Dasu Subject: [PATCH v6, 0/8] Broadcom stb, and iProc SoC QSPI driver Date: Wed, 24 Aug 2016 18:04:21 -0400 Message-Id: <1472076269-4731-1-git-send-email-kdasu.kdev@gmail.com> List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , This is v6 changes for common spi driver for the brcmstb, nsp, ns2, cygnus iProc SoCs. Changes include driver for standard MSPI and accelerated BSPI blocks.The Brodcom STB uses l2-intc where as the SoC specific interrupt handling code has been separated in a new driver. In case iProc SoCs it does not have a dedicated l2 controller and the interrupts are specific to the spi core. The drivers are organized in the following way: drivers/spi/spi-bcm-qspi.c - Common MSPI, BSPI driver drivers/spi/spi-bcm-qspi.h - Common header drivers/spi/spi-brcmstb-qspi.c - SoC specific wth brcm,spi-brcmstb-qspi compatibility, does not have anything specific for stb SoC drivers/spi/spi-iproc-qspi.c - Implements the interrupt hooks used by the common driver with "brcm,spi-nsp-qspi" compatibility V6 Changes ---------- Bindings Documentation: - Changed subject to spi: - Squashed all SoCs bindings in one commit - Removed clock-frequency redundant parameter from main spi node spi-bcm-qspi - Removed redundant transfer delays, let core handle it - Removed chip select changes, let core handle it - Use of named labels in probe function - Add comments for the exported symbols for probe, remove, pm_ops suspend/resume, to be called by the SoC platform driver - Remove redundant clock-frequency parsing - Removed retry logic code from BSPI - Use of big_endian as input parameter to the r/w inline function - Suspend/resume uses spi core msg queue suspend and resume calls - Other code cleanup to remove unused code spi-brcmstb-qspi -Separated just separated the commit spi-iproc-qspi - Changes name to spi-iproc-qspi - Read the dt native endian locally and stored in soc structure to pass to r/w macro mtd/devices/m25p80 - Made a change to be able to fallback to normal spi read when the accelarated read function does not get aligned buffers, feature used by the BSPI spi_flash_read() method Kamal Dasu (8): spi: Broadcom BRCMSTB, NSP, NS2 SoC bindings spi: bcm-qspi: Add Broadcom MSPI driver spi: brcmstb-qspi: Broadcom settop platform driver spi: bcm-qspi: Add BSPI spi-nor flash controller driver mtd: m25p80: Let m25p80_read() fallback to spi transfer arm: dts: Add bcm-nsp and bcm958625k support arm64: dts: Add ns2 SoC support spi: iproc-qspi: Add Broadcom iProc SoCs support .../devicetree/bindings/spi/brcm,spi-bcm-qspi.txt | 233 ++++ arch/arm/boot/dts/bcm-nsp.dtsi | 31 +- arch/arm/boot/dts/bcm958625k.dts | 34 + arch/arm64/boot/dts/broadcom/ns2-svk.dts | 34 + arch/arm64/boot/dts/broadcom/ns2.dtsi | 18 + drivers/mtd/devices/m25p80.c | 11 +- drivers/spi/Kconfig | 10 + drivers/spi/Makefile | 1 + drivers/spi/spi-bcm-qspi.c | 1400 ++++++++++++++++++++ drivers/spi/spi-bcm-qspi.h | 115 ++ drivers/spi/spi-brcmstb-qspi.c | 53 + drivers/spi/spi-iproc-qspi.c | 163 +++ 12 files changed, 2100 insertions(+), 3 deletions(-) create mode 100644 Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.txt create mode 100644 drivers/spi/spi-bcm-qspi.c create mode 100644 drivers/spi/spi-bcm-qspi.h create mode 100644 drivers/spi/spi-brcmstb-qspi.c create mode 100644 drivers/spi/spi-iproc-qspi.c -- 1.9.1