162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/nvmem/layouts/fixed-layout.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: NVMEM layout for fixed NVMEM cells
862306a36Sopenharmony_ci
962306a36Sopenharmony_cidescription:
1062306a36Sopenharmony_ci  Many NVMEM devices have hardcoded cells layout (offset and size of defined
1162306a36Sopenharmony_ci  NVMEM content doesn't change).
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci  This binding allows defining such NVMEM layout with its cells. It can be used
1462306a36Sopenharmony_ci  on top of any NVMEM device.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_cimaintainers:
1762306a36Sopenharmony_ci  - Rafał Miłecki <rafal@milecki.pl>
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciproperties:
2062306a36Sopenharmony_ci  compatible:
2162306a36Sopenharmony_ci    const: fixed-layout
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci  "#address-cells":
2462306a36Sopenharmony_ci    const: 1
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci  "#size-cells":
2762306a36Sopenharmony_ci    const: 1
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_cipatternProperties:
3062306a36Sopenharmony_ci  "@[a-f0-9]+$":
3162306a36Sopenharmony_ci    type: object
3262306a36Sopenharmony_ci    $ref: fixed-cell.yaml
3362306a36Sopenharmony_ci    unevaluatedProperties: false
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_cirequired:
3662306a36Sopenharmony_ci  - compatible
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ciadditionalProperties: false
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ciexamples:
4162306a36Sopenharmony_ci  - |
4262306a36Sopenharmony_ci    nvmem-layout {
4362306a36Sopenharmony_ci        compatible = "fixed-layout";
4462306a36Sopenharmony_ci        #address-cells = <1>;
4562306a36Sopenharmony_ci        #size-cells = <1>;
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci        mac@100 {
4862306a36Sopenharmony_ci            compatible = "mac-base";
4962306a36Sopenharmony_ci            reg = <0x100 0x6>;
5062306a36Sopenharmony_ci            #nvmem-cell-cells = <1>;
5162306a36Sopenharmony_ci        };
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci        mac@110 {
5462306a36Sopenharmony_ci            compatible = "mac-base";
5562306a36Sopenharmony_ci            reg = <0x110 0x11>;
5662306a36Sopenharmony_ci            #nvmem-cell-cells = <1>;
5762306a36Sopenharmony_ci        };
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci        calibration@4000 {
6062306a36Sopenharmony_ci            reg = <0x4000 0x100>;
6162306a36Sopenharmony_ci        };
6262306a36Sopenharmony_ci    };
63