# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/memory-controllers/st,stm32-fmc2-ebi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: STMicroelectronics Flexible Memory Controller 2 (FMC2) Bindings

description: |
  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.

maintainers:
  - Christophe Kerello <christophe.kerello@st.com>

properties:
  compatible:
    const: st,stm32mp1-fmc2-ebi

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  resets:
    maxItems: 1

  "#address-cells":
    const: 2

  "#size-cells":
    const: 1

  ranges:
    description: |
      Reflects the memory layout with four integer values per bank. Format:
      <bank-number> 0 <address of the bank> <size>

patternProperties:
  "^.*@[0-4],[a-f0-9]+$":
    type: object

    properties:
      reg:
        description: Bank number, base address and size of the device.

      st,fmc2-ebi-cs-transaction-type:
        description: |
          Select one of the transactions type supported
          0: Asynchronous mode 1 SRAM/FRAM.
          1: Asynchronous mode 1 PSRAM.
          2: Asynchronous mode A SRAM/FRAM.
          3: Asynchronous mode A PSRAM.
          4: Asynchronous mode 2 NOR.
          5: Asynchronous mode B NOR.
          6: Asynchronous mode C NOR.
          7: Asynchronous mode D NOR.
          8: Synchronous read synchronous write PSRAM.
          9: Synchronous read asynchronous write PSRAM.
          10: Synchronous read synchronous write NOR.
          11: Synchronous read asynchronous write NOR.
        $ref: /schemas/types.yaml#/definitions/uint32
        minimum: 0
        maximum: 11

      st,fmc2-ebi-cs-cclk-enable:
        description: Continuous clock enable (first bank must be configured
          in synchronous mode). The FMC_CLK is generated continuously
          during asynchronous and synchronous access. By default, the
          FMC_CLK is only generated during synchronous access.
        $ref: /schemas/types.yaml#/definitions/flag

      st,fmc2-ebi-cs-mux-enable:
        description: Address/Data multiplexed on databus (valid only with
          NOR and PSRAM transactions type). By default, Address/Data
          are not multiplexed.
        $ref: /schemas/types.yaml#/definitions/flag

      st,fmc2-ebi-cs-buswidth:
        description: Data bus width
        $ref: /schemas/types.yaml#/definitions/uint32
        enum: [ 8, 16 ]
        default: 16

      st,fmc2-ebi-cs-waitpol-high:
        description: Wait signal polarity (NWAIT signal active high).
          By default, NWAIT is active low.
        $ref: /schemas/types.yaml#/definitions/flag

      st,fmc2-ebi-cs-waitcfg-enable:
        description: The NWAIT signal indicates wheither the data from the
          device are valid or if a wait state must be inserted when accessing
          the device in synchronous mode. By default, the NWAIT signal is
          active one data cycle before wait state.
        $ref: /schemas/types.yaml#/definitions/flag

      st,fmc2-ebi-cs-wait-enable:
        description: The NWAIT signal is enabled (its level is taken into
          account after the programmed latency period to insert wait states
          if asserted). By default, the NWAIT signal is disabled.
        $ref: /schemas/types.yaml#/definitions/flag

      st,fmc2-ebi-cs-asyncwait-enable:
        description: The NWAIT signal is taken into account during asynchronous
          transactions. By default, the NWAIT signal is not taken into account
          during asynchronous transactions.
        $ref: /schemas/types.yaml#/definitions/flag

      st,fmc2-ebi-cs-cpsize:
        description: CRAM page size. The controller splits the burst access
          when the memory page is reached. By default, no burst split when
          crossing page boundary.
        $ref: /schemas/types.yaml#/definitions/uint32
        enum: [ 0, 128, 256, 512, 1024 ]
        default: 0

      st,fmc2-ebi-cs-byte-lane-setup-ns:
        description: This property configures the byte lane setup timing
          defined in nanoseconds from NBLx low to Chip Select NEx low.

      st,fmc2-ebi-cs-address-setup-ns:
        description: This property defines the duration of the address setup
          phase in nanoseconds used for asynchronous read/write transactions.

      st,fmc2-ebi-cs-address-hold-ns:
        description: This property defines the duration of the address hold
          phase in nanoseconds used for asynchronous multiplexed read/write
          transactions.

      st,fmc2-ebi-cs-data-setup-ns:
        description: This property defines the duration of the data setup phase
          in nanoseconds used for asynchronous read/write transactions.

      st,fmc2-ebi-cs-bus-turnaround-ns:
        description: This property defines the delay in nanoseconds between the
          end of current read/write transaction and the next transaction.

      st,fmc2-ebi-cs-data-hold-ns:
        description: This property defines the duration of the data hold phase
          in nanoseconds used for asynchronous read/write transactions.

      st,fmc2-ebi-cs-clk-period-ns:
        description: This property defines the FMC_CLK output signal period in
          nanoseconds.

      st,fmc2-ebi-cs-data-latency-ns:
        description: This property defines the data latency before reading or
          writing the first data in nanoseconds.

      st,fmc2_ebi-cs-write-address-setup-ns:
        description: This property defines the duration of the address setup
          phase in nanoseconds used for asynchronous write transactions.

      st,fmc2-ebi-cs-write-address-hold-ns:
        description: This property defines the duration of the address hold
          phase in nanoseconds used for asynchronous multiplexed write
          transactions.

      st,fmc2-ebi-cs-write-data-setup-ns:
        description: This property defines the duration of the data setup
          phase in nanoseconds used for asynchronous write transactions.

      st,fmc2-ebi-cs-write-bus-turnaround-ns:
        description: This property defines the delay between the end of current
          write transaction and the next transaction in nanoseconds.

      st,fmc2-ebi-cs-write-data-hold-ns:
        description: This property defines the duration of the data hold phase
          in nanoseconds used for asynchronous write transactions.

      st,fmc2-ebi-cs-max-low-pulse-ns:
        description: This property defines the maximum chip select low pulse
          duration in nanoseconds for synchronous transactions. When this timing
          reaches 0, the controller splits the current access, toggles NE to
          allow device refresh and restarts a new access.

    required:
      - reg

required:
  - "#address-cells"
  - "#size-cells"
  - compatible
  - reg
  - clocks
  - ranges

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/clock/stm32mp1-clks.h>
    #include <dt-bindings/reset/stm32mp1-resets.h>
    memory-controller@58002000 {
      #address-cells = <2>;
      #size-cells = <1>;
      compatible = "st,stm32mp1-fmc2-ebi";
      reg = <0x58002000 0x1000>;
      clocks = <&rcc FMC_K>;
      resets = <&rcc FMC_R>;

      ranges = <0 0 0x60000000 0x04000000>, /* EBI CS 1 */
               <1 0 0x64000000 0x04000000>, /* EBI CS 2 */
               <2 0 0x68000000 0x04000000>, /* EBI CS 3 */
               <3 0 0x6c000000 0x04000000>, /* EBI CS 4 */
               <4 0 0x80000000 0x10000000>; /* NAND */

      psram@0,0 {
        compatible = "mtd-ram";
        reg = <0 0x00000000 0x100000>;
        bank-width = <2>;

        st,fmc2-ebi-cs-transaction-type = <1>;
        st,fmc2-ebi-cs-address-setup-ns = <60>;
        st,fmc2-ebi-cs-data-setup-ns = <30>;
        st,fmc2-ebi-cs-bus-turnaround-ns = <5>;
      };

      nand-controller@4,0 {
        #address-cells = <1>;
        #size-cells = <0>;
        compatible = "st,stm32mp1-fmc2-nfc";
        reg = <4 0x00000000 0x1000>,
              <4 0x08010000 0x1000>,
              <4 0x08020000 0x1000>,
              <4 0x01000000 0x1000>,
              <4 0x09010000 0x1000>,
              <4 0x09020000 0x1000>;
        interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
        dmas = <&mdma1 20 0x2 0x12000a02 0x0 0x0>,
               <&mdma1 20 0x2 0x12000a08 0x0 0x0>,
               <&mdma1 21 0x2 0x12000a0a 0x0 0x0>;
        dma-names = "tx", "rx", "ecc";

        nand@0 {
          reg = <0>;
          nand-on-flash-bbt;
          #address-cells = <1>;
          #size-cells = <1>;
        };
      };
    };

...
