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. Changes in v2: - use of regmap_bulk_write/regmap_bulk_read APIs - remove ops from stm32_fmc2 structure - add 2 APIs to manage FMC2 enable/disable - add 2 APIs to manage FMC2 NWAIT shared signal 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 | 1091 +++++++++++++++++ drivers/mfd/Kconfig | 12 + drivers/mfd/Makefile | 1 + drivers/mfd/stm32-fmc2.c | 136 +++ drivers/mtd/nand/raw/Kconfig | 3 + drivers/mtd/nand/raw/stm32_fmc2_nand.c | 1277 +++++++++----------- include/linux/mfd/stm32-fmc2.h | 225 ++++ 10 files changed, 2413 insertions(+), 714 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