Documentation / devicetree / bindings / spi / nuvoton,npcm750-fiu.yaml


Based on kernel version 7.2. Page generated on 2026-08-20 08:41 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/spi/nuvoton,npcm750-fiu.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Nuvoton NPCM Flash Interface Unit (FIU) SPI Controller

maintainers:
  - Tomer Maimon <tmaimon77@gmail.com>

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

description: |
  NPCM FIU supports single, dual and quad communication interface.
 
  The NPCM7XX supports three FIU modules:
    FIU0 and FIUx support two chip selects
    FIU3 supports four chip selects.
 
  The NPCM8XX supports four FIU modules:
    FIU0 and FIUx support two chip selects
    FIU1 and FIU3 support four chip selects.
 
  The FIU control register block is always required. The direct-mapped
  flash window is optional because the controller can still access flash
  through the UMA path when that mapping is not described.
 
  Alias convention:
    The '/aliases' node should define:
      For NPCM7xx:  fiu0=&fiu0; fiu1=&fiu3; fiu2=&fiux;
      For NPCM8xx:  fiu0=&fiu0; fiu1=&fiu3; fiu2=&fiux; fiu3=&fiu1;

properties:
  compatible:
    enum:
      - nuvoton,npcm750-fiu # Poleg NPCM7XX
      - nuvoton,npcm845-fiu # Arbel NPCM8XX

  reg:
    description:
      The first resource is the FIU control register block. An optional second
      resource describes the direct-mapped flash window used for direct
      read/write accesses.
    minItems: 1
    items:
      - description: FIU control registers
      - description: Memory-mapped flash contents

  reg-names:
    description:
      Resource names for the control registers and optional direct-mapped
      flash window.
    minItems: 1
    items:
      - const: control
      - const: memory

  clocks:
    maxItems: 1
    description: FIU reference clock.

  nuvoton,spix-mode:
    type: boolean
    description: Enable SPIX mode for an expansion bus to an ASIC or CPLD.

required:
  - compatible
  - reg
  - reg-names
  - clocks

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/clock/nuvoton,npcm7xx-clock.h>
    spi@fb000000 {
        compatible = "nuvoton,npcm750-fiu";
        reg = <0xfb000000 0x1000>, <0x80000000 0x10000000>;
        reg-names = "control", "memory";
        #address-cells = <1>;
        #size-cells = <0>;
        clocks = <&clk NPCM7XX_CLK_SPI0>;
 
        flash@0 {
            compatible = "jedec,spi-nor";
            reg = <0>;
            #address-cells = <1>;
            #size-cells = <1>;
        };
    };