# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/soc/socionext/socionext,uniphier-soc-glue-debug.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Socionext UniPhier SoC-glue logic debug part

maintainers:
  - Kunihiko Hayashi <hayashi.kunihiko@socionext.com>

description: |+
  SoC-glue logic debug part implemented on Socionext UniPhier SoCs is
  a collection of miscellaneous function registers handling signals outside
  system components for debug and monitor use.

properties:
  compatible:
    items:
      - enum:
          - socionext,uniphier-ld4-soc-glue-debug
          - socionext,uniphier-pro4-soc-glue-debug
          - socionext,uniphier-pro5-soc-glue-debug
          - socionext,uniphier-pxs2-soc-glue-debug
          - socionext,uniphier-sld8-soc-glue-debug
          - socionext,uniphier-ld11-soc-glue-debug
          - socionext,uniphier-ld20-soc-glue-debug
          - socionext,uniphier-pxs3-soc-glue-debug
          - socionext,uniphier-nx1-soc-glue-debug
      - const: simple-mfd
      - const: syscon

  reg:
    maxItems: 1

  "#address-cells":
    const: 1

  "#size-cells":
    const: 1

  ranges: true

patternProperties:
  "^efuse@[0-9a-f]+$":
    $ref: /schemas/nvmem/socionext,uniphier-efuse.yaml#

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    syscon@5f900000 {
        compatible = "socionext,uniphier-pxs2-soc-glue-debug",
                     "simple-mfd", "syscon";
        reg = <0x5f900000 0x2000>;
        #address-cells = <1>;
        #size-cells = <1>;
        ranges = <0 0x5f900000 0x2000>;

        efuse@100 {
            compatible = "socionext,uniphier-efuse";
            reg = <0x100 0x28>;
        };
    };