Unverified Commit dd71cd4d authored by Jonathan Neuschäfer's avatar Jonathan Neuschäfer Committed by Mark Brown
Browse files

spi: Add Nuvoton WPCM450 Flash Interface Unit (FIU) bindings



The Flash Interface Unit (FIU) is the SPI flash controller in the
Nuvoton WPCM450 BMC SoC. It supports four chip selects, and direct
(memory-mapped) access to 16 MiB per chip. Larger flash chips can be
accessed by software-defined SPI transfers.

The FIU in newer NPCM7xx SoCs is not compatible with the WPCM450 FIU.

Signed-off-by: default avatarJonathan Neuschäfer <j.neuschaefer@gmx.net>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20221124191400.287918-2-j.neuschaefer@gmx.net


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 9838c182
Loading
Loading
Loading
Loading
+66 −0
Original line number Diff line number Diff line
# 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:
  - |
    #include <dt-bindings/clock/nuvoton,wpcm450-clk.h>
    spi@c8000000 {
      compatible = "nuvoton,wpcm450-fiu";
      reg = <0xc8000000 0x1000>, <0xc0000000 0x4000000>;
      #address-cells = <1>;
      #size-cells = <0>;
      reg-names = "control", "memory";
      clocks = <&clk WPCM450_CLK_FIU>;
      nuvoton,shm = <&shm>;

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

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