st,stm32h7-fmc

Vendor: STMicroelectronics

Note

An implementation of a driver matching this compatible is available in drivers/memc/memc_stm32.c.

Description

STM32 Flexible Memory Controller (FMC).

The FMC allows to interface with static-memory mapped external devices such as
SRAM, NOR Flash, NAND Flash, SDRAM...

All external memories share the addresses, data and control signals with the
controller. Each external device is accessed by means of a unique chip select.
The FMC performs only one access at a time to an external device.

The flexible memory controller includes three memory controllers:

  - NOR/PSRAM memory controller
  - NAND memory controller (some devices also support PC Card)
  - Synchronous DRAM (SDRAM/Mobile LPSDR SDRAM) controller

Each memory controller is defined below the FMC DeviceTree node and is managed
by a separate Zephyr device. However, because signals are shared the FMC
device handles the signals and the peripheral clocks. FMC can be enabled
in your board DeviceTree file like this:

&fmc {
    status = "okay";
    pinctrl-0 = <&fmc_nbl0_pe0 &fmc_nbl1_pe1 &fmc_nbl2_pi4...>;
};

Properties

Properties not inherited from the base binding file.

Name

Type

Details

st,mem-swap

string

The FMC bank mapping configuration (BMAP bits of FMC_BCR1).

* disable    - Default mapping.
* sdram-sram - Swap the NOR/PSRAM bank with SDRAM.
* sdramb2    - Remaps the SDRAM bank2.

If absent, then default mapping (disable) is used (reset state).

Default value: disable

Legal values: 'disable', 'sdram-sram', 'sdramb2'

pinctrl-0

phandles

Pin configuration/s for the first state. Content is specific to the
selected pin controller driver implementation.

This property is required.

pinctrl-names

string-array

Names for the provided states. The number of names needs to match the
number of states.

This property is required.

pinctrl-1

phandles

Pin configuration/s for the second state. See pinctrl-0.

pinctrl-2

phandles

Pin configuration/s for the third state. See pinctrl-0.

pinctrl-3

phandles

Pin configuration/s for the fourth state. See pinctrl-0.

pinctrl-4

phandles

Pin configuration/s for the fifth state. See pinctrl-0.