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

title: Global Control Registers block in Nuvoton SoCs

maintainers:
  - Jonathan Neuschäfer <j.neuschaefer@gmx.net>
  - Tomer Maimon <tmaimon77@gmail.com>

description:
  The Global Control Registers (GCR) are a block of registers in Nuvoton SoCs
  that expose misc functionality such as chip model and version information or
  pinmux settings.

properties:
  compatible:
    items:
      - enum:
          - nuvoton,wpcm450-gcr
          - nuvoton,npcm750-gcr
          - nuvoton,npcm845-gcr
      - const: syscon
      - const: simple-mfd

  reg:
    maxItems: 1

required:
  - compatible
  - reg

additionalProperties:
  type: object

examples:
  - |
    gcr: syscon@800000 {
      compatible = "nuvoton,npcm750-gcr", "syscon", "simple-mfd";
      reg = <0x800000 0x1000>;

      mux-controller {
        compatible = "mmio-mux";
        #mux-control-cells = <1>;
        mux-reg-masks = <0x38 0x07>;
        idle-states = <2>;
      };
    };