[U-Boot] [PATCH v1] DM-aware SPI driver for Allwinner SoCs

Philipp Tomsich philipp.tomsich at theobroma-systems.com
Mon Feb 20 23:40:35 UTC 2017

Note that this changesetdepends on the change-set for moving sunxi to
full device-model support (i.e. reset and clocking), which I sent out
last Friday...

This adds a rewrite of the SPI driver we had in use for the A31-uQ7
(sun6i), A80-Q7 (sun9i) and A64-uQ7 (sun50i) boards, which includes
support for:
 * cs-gpios (i.e. GPIOs as additional chip-selects)
 * clocking, reset and pinctrl based on the device-model
 * dual-IO data receive for controllers that support it (sun50i)

The key difference to the earlier incarnation that we provided as part
of our BSP is the removal of the legacy reset and clocking code and
added resilience to configuration errors (i.e. timeouts for the inner
loops) and converstion to the device-model. This was possible due to a
non-device-model driver now being present for use with in the SPL.

This has been verified against the A64-uQ7 with data rates up to
100MHz and dual-IO ("Fast Read Dual Output" opcode) from the on-board
SPI-NOR flash.

Philipp Tomsich (1):
  spi: sunxi_spi: Add DM SPI driver for A31/A80/A64

 drivers/spi/Kconfig     |  14 ++
 drivers/spi/Makefile    |   1 +
 drivers/spi/sunxi_spi.c | 571 ++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 586 insertions(+)
 create mode 100644 drivers/spi/sunxi_spi.c


More information about the U-Boot mailing list