# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/spi/nuvoton,wpcm450-fiu.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Nuvoton WPCM450 Flash Interface Unit (FIU)

maintainers:
  - Jonathan Neuschäfer <j.neuschaefer@gmx.net>

allOf:
  - $ref: /schemas/spi/spi-controller.yaml#

properties:
  compatible:
    const: nuvoton,wpcm450-fiu

  reg:
    items:
      - description: FIU registers
      - description: Memory-mapped flash contents

  reg-names:
    items:
      - const: control
      - const: memory

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 1

  nuvoton,shm:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: a phandle to the SHM block (see ../arm/nuvoton,shm.yaml)

required:
  - compatible
  - reg
  - clocks

unevaluatedProperties: false

examples:
  - |
    spi@c8000000 {
      compatible = "nuvoton,wpcm450-fiu";
      reg = <0xc8000000 0x1000>, <0xc0000000 0x4000000>;
      #address-cells = <1>;
      #size-cells = <0>;
      reg-names = "control", "memory";
      clocks = <&clk 0>;
      nuvoton,shm = <&shm>;

      flash@0 {
        compatible = "jedec,spi-nor";
        reg = <0>;
      };
    };

    shm: syscon@c8001000 {
      compatible = "nuvoton,wpcm450-shm", "syscon";
      reg = <0xc8001000 0x1000>;
    };