[00/12] add STM32 FMC2 controller drivers

From: Christophe Kerello
Date: Mon Mar 23 2020 - 10:59:54 EST


The FMC2 functional block makes the interface with: synchronous and
asynchronous static devices (such as PSNOR, PSRAM or other memory-mapped
peripherals) and NAND flash memories.
Its main purposes are:
- to translate AXI transactions into the appropriate external device
protocol
- to meet the access time requirements of the external devices
All external devices share the addresses, data and control signals with the
controller. Each external device is accessed by means of a unique Chip
Select. The FMC2 performs only one access at a time to an external device.

Christophe Kerello (12):
dt-bindings: mfd: stm32-fmc2: add STM32 FMC2 controller documentation
mfd: stm32-fmc2: add STM32 FMC2 controller driver
bus: stm32-fmc2-ebi: add STM32 FMC2 EBI controller driver
mtd: rawnand: stm32_fmc2: manage all errors cases at probe time
mtd: rawnand: stm32_fmc2: remove useless inline comments
mtd: rawnand: stm32_fmc2: use FMC2_TIMEOUT_MS for timeouts
mtd: rawnand: stm32_fmc2: cleanup
mtd: rawnand: stm32_fmc2: use FIELD_PREP/FIELD_GET macros
mtd: rawnand: stm32_fmc2: move all registers
mtd: rawnand: stm32_fmc2: use regmap APIs
mtd: rawnand: stm32_fmc2: use stm32_fmc2 structure in nfc controller
mtd: rawnand: stm32_fmc2: add new MP1 compatible string

.../devicetree/bindings/mfd/st,stm32-fmc2.yaml | 370 ++++++
drivers/bus/Kconfig | 11 +
drivers/bus/Makefile | 1 +
drivers/bus/stm32-fmc2-ebi.c | 1093 +++++++++++++++++
drivers/mfd/Kconfig | 12 +
drivers/mfd/Makefile | 1 +
drivers/mfd/stm32-fmc2.c | 120 ++
drivers/mtd/nand/raw/Kconfig | 3 +
drivers/mtd/nand/raw/stm32_fmc2_nand.c | 1273 +++++++++-----------
include/linux/mfd/stm32-fmc2.h | 226 ++++
10 files changed, 2407 insertions(+), 703 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mfd/st,stm32-fmc2.yaml
create mode 100644 drivers/bus/stm32-fmc2-ebi.c
create mode 100644 drivers/mfd/stm32-fmc2.c
create mode 100644 include/linux/mfd/stm32-fmc2.h

--
1.9.1