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/mtd/ti,elm.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Texas Instruments Error Location Module (ELM).
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Roger Quadros <rogerq@kernel.org>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription:
1362306a36Sopenharmony_ci  ELM module is used together with GPMC and NAND Flash to detect
1462306a36Sopenharmony_ci  errors and the location of the error based on BCH algorithms
1562306a36Sopenharmony_ci  so they can be corrected if possible.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciproperties:
1862306a36Sopenharmony_ci  compatible:
1962306a36Sopenharmony_ci    enum:
2062306a36Sopenharmony_ci      - ti,am3352-elm
2162306a36Sopenharmony_ci      - ti,am64-elm
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci  reg:
2462306a36Sopenharmony_ci    maxItems: 1
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci  interrupts:
2762306a36Sopenharmony_ci    maxItems: 1
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci  clocks:
3062306a36Sopenharmony_ci    maxItems: 1
3162306a36Sopenharmony_ci    description: Functional clock.
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci  clock-names:
3462306a36Sopenharmony_ci    items:
3562306a36Sopenharmony_ci      - const: fck
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci  power-domains:
3862306a36Sopenharmony_ci    maxItems: 1
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci  ti,hwmods:
4162306a36Sopenharmony_ci    description:
4262306a36Sopenharmony_ci      Name of the HWMOD associated with ELM. This is for legacy
4362306a36Sopenharmony_ci      platforms only.
4462306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/string
4562306a36Sopenharmony_ci    deprecated: true
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_cirequired:
4862306a36Sopenharmony_ci  - compatible
4962306a36Sopenharmony_ci  - reg
5062306a36Sopenharmony_ci  - interrupts
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ciallOf:
5362306a36Sopenharmony_ci  - if:
5462306a36Sopenharmony_ci      properties:
5562306a36Sopenharmony_ci        compatible:
5662306a36Sopenharmony_ci          contains:
5762306a36Sopenharmony_ci            const: ti,am64-elm
5862306a36Sopenharmony_ci    then:
5962306a36Sopenharmony_ci      required:
6062306a36Sopenharmony_ci        - clocks
6162306a36Sopenharmony_ci        - clock-names
6262306a36Sopenharmony_ci        - power-domains
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ciadditionalProperties: false
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ciexamples:
6762306a36Sopenharmony_ci  - |
6862306a36Sopenharmony_ci    elm: ecc@0 {
6962306a36Sopenharmony_ci        compatible = "ti,am3352-elm";
7062306a36Sopenharmony_ci        reg = <0x0 0x2000>;
7162306a36Sopenharmony_ci        interrupts = <4>;
7262306a36Sopenharmony_ci    };
73