# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/nvmem/layouts/fixed-layout.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: NVMEM layout for fixed NVMEM cells

description:
  Many NVMEM devices have hardcoded cells layout (offset and size of defined
  NVMEM content doesn't change).

  This binding allows defining such NVMEM layout with its cells. It can be used
  on top of any NVMEM device.

maintainers:
  - Rafał Miłecki <rafal@milecki.pl>

properties:
  compatible:
    const: fixed-layout

  "#address-cells":
    const: 1

  "#size-cells":
    const: 1

patternProperties:
  "@[a-f0-9]+(,[0-7])?$":
    type: object
    $ref: fixed-cell.yaml
    unevaluatedProperties: false

required:
  - compatible

additionalProperties: false

examples:
  - |
    nvmem-layout {
        compatible = "fixed-layout";
        #address-cells = <1>;
        #size-cells = <1>;

        mac@100 {
            compatible = "mac-base";
            reg = <0x100 0x6>;
            #nvmem-cell-cells = <1>;
        };

        mac@110 {
            compatible = "mac-base";
            reg = <0x110 0x11>;
            #nvmem-cell-cells = <1>;
        };

        calibration@4000 {
            reg = <0x4000 0x100>;
        };
    };
