Skip to contentSkip to conversation

xtensa xtfpga SPI controller driver

PATCH Applied Max Filippov 2 participants 5 messages Mar 12, 2014 – Mar 13, 2014

Subsystems (3)
lore
Share & tools
lore

Max Filippov

author maintainer
#0 lore raw

v3 cover xtensa xtfpga SPI controller driver

Hello,

this series adds driver for SPI controller used on xtfpga xtensa platform, device tree binding documentation and an entry to MAINTAINERS.

Changes v2 -> v3:
- support all transfer widths in the range 1...16 bit;
- don't swap bytes of 16 bit transfers.

Changes v1 -> v2:
- support 8 bit transfers;
- busy-wait for maximum 100 usec (instead of 100 msec) polling BUSY register;
- use chipselect callback to check transfer size.

Max Filippov (3):
spi: add xtfpga SPI controller driver
spi/xtensa-xtfpga: add DT binding documentation
MAINTAINERS: add xtfpga platform section

 .../devicetree/bindings/spi/spi-xtensa-xtfpga.txt  |   9 ++
 MAINTAINERS                                        |   6 +
 drivers/spi/Kconfig                                |  13 ++
 drivers/spi/Makefile                               |   1 +
 drivers/spi/spi-xtensa-xtfpga.c                    | 170 +++++++++++++++++++++
 5 files changed, 199 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/spi/spi-xtensa-xtfpga.txt
 create mode 100644 drivers/spi/spi-xtensa-xtfpga.c
Signature · 6 lines
1.8.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
author maintainer
#1 lore raw

PATCH v3 1/3 spi: add xtfpga SPI controller driver

This simple SPI master controller is built into xtfpga bitstreams. It always transfers 16 bit words in SPI mode 0, automatically asserting CS on transfer start and deasserting on end.

---
Changes v2 -> v3:
- support all transfer widths in the range 1...16 bit;
- don't swap bytes of 16 bit transfers.

Changes v1 -> v2:
- support 8 bit transfers;
- busy-wait for maximum 100 usec (instead of 100 msec) polling BUSY register;
- use chipselect callback to check transfer size.

 drivers/spi/Kconfig             |  13 +++
 drivers/spi/Makefile            |   1 +
 drivers/spi/spi-xtensa-xtfpga.c | 170 ++++++++++++++++++++++++++++++++++++++++
 3 files changed, 184 insertions(+)
 create mode 100644 drivers/spi/spi-xtensa-xtfpga.c
drivers/spi/Kconfig +13 -0
index 581ee2a..e3f5335 100644
@@ -520,6 +520,19 @@ config SPI_XILINX
 
 	  Or for the DS570, see "XPS Serial Peripheral Interface (SPI) (v2.00b)"
 
+config SPI_XTENSA_XTFPGA
+	tristate "Xtensa SPI controller for xtfpga"
+	depends on XTENSA && XTENSA_PLATFORM_XTFPGA
+	select SPI_BITBANG
+	help
+	  SPI driver for xtfpga SPI master controller.
+
+	  This simple SPI master controller is built into xtfpga bitstreams
+	  and is used to control daughterboard audio codec. It always transfers
+	  16 bit words in SPI mode 0, automatically asserting CS on transfer
+	  start and deasserting on end.
+
+
 config SPI_NUC900
 	tristate "Nuvoton NUC900 series SPI"
 	depends on ARCH_W90X900
drivers/spi/Makefile +1 -0
index 95af48d..5379ade 100644
@@ -79,3 +79,4 @@ obj-$(CONFIG_SPI_TOPCLIFF_PCH)		+= spi-topcliff-pch.o
 obj-$(CONFIG_SPI_TXX9)			+= spi-txx9.o
 obj-$(CONFIG_SPI_XCOMM)		+= spi-xcomm.o
 obj-$(CONFIG_SPI_XILINX)		+= spi-xilinx.o
+obj-$(CONFIG_SPI_XTENSA_XTFPGA)		+= spi-xtensa-xtfpga.o
drivers/spi/spi-xtensa-xtfpga.c new file +170 -0

170 lines not on this page · raw message

Signature · 1 line
1.8.1.4
author maintainer
#2 lore raw

PATCH v3 2/3 spi/xtensa-xtfpga: add DT binding documentation

In reply to Max Filippov
---
 Documentation/devicetree/bindings/spi/spi-xtensa-xtfpga.txt | 9 +++++++++
 1 file changed, 9 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/spi/spi-xtensa-xtfpga.txt
Documentation/devicetree/bindings/spi/spi-xtensa-xtfpga.txt new file +9 -0
new file mode 100644
index 0000000..b6ebe2b
@@ -0,0 +1,9 @@
+Cadence Xtensa XTFPGA platform SPI controller.
+
+This simple SPI master controller is built into xtfpga bitstreams and is used
+to control daughterboard audio codec.
+
+Required properties:
+- compatible: should be "cdns,xtfpga-spi".
+- reg: physical base address of the controller and length of memory mapped
+  region.
Signature · 1 line
1.8.1.4
author maintainer
#3 lore raw

PATCH v3 3/3 MAINTAINERS: add xtfpga platform section

In reply to Max Filippov

This section will list xtfpga platform-specific drivers.

---
 MAINTAINERS | 6 ++++++
 1 file changed, 6 insertions(+)
MAINTAINERS +6 -0
index c6d0e93..9f75849 100644
@@ -9768,6 +9768,12 @@ L:	[email protected]
 S:	Maintained
 F:	drivers/tty/serial/uartlite.c
 
+XTENSA XTFPGA PLATFORM SUPPORT
+M:	Max Filippov <[email protected]>
+L:	linux-xtensa-PjhNF2WwrV/[email protected]
+S:	Maintained
+F:	drivers/spi/spi-xtensa-xtfpga.c
+
 YAM DRIVER FOR AX.25
 M:	Jean-Paul Roubelat <[email protected]>
 L:	[email protected]
Signature · 6 lines
1.8.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
maintainer Applied
#4 lore raw
In reply to Max Filippov
Quoted 4 lines · Max Filippov

Hello,

this series adds driver for SPI controller used on xtfpga xtensa platform, device tree binding documentation and an entry to MAINTAINERS.

Applied all, thanks.