xref: /freebsd/sys/contrib/device-tree/Bindings/mtd/ti,elm.yaml (revision d5b0e70f7e04d971691517ce1304d86a1e367e2e)
1*d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*d5b0e70fSEmmanuel Vadot%YAML 1.2
3*d5b0e70fSEmmanuel Vadot---
4*d5b0e70fSEmmanuel Vadot$id: http://devicetree.org/schemas/mtd/ti,elm.yaml#
5*d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*d5b0e70fSEmmanuel Vadot
7*d5b0e70fSEmmanuel Vadottitle: Texas Instruments Error Location Module (ELM).
8*d5b0e70fSEmmanuel Vadot
9*d5b0e70fSEmmanuel Vadotmaintainers:
10*d5b0e70fSEmmanuel Vadot  - Roger Quadros <rogerq@kernel.org>
11*d5b0e70fSEmmanuel Vadot
12*d5b0e70fSEmmanuel Vadotdescription:
13*d5b0e70fSEmmanuel Vadot  ELM module is used together with GPMC and NAND Flash to detect
14*d5b0e70fSEmmanuel Vadot  errors and the location of the error based on BCH algorithms
15*d5b0e70fSEmmanuel Vadot  so they can be corrected if possible.
16*d5b0e70fSEmmanuel Vadot
17*d5b0e70fSEmmanuel Vadotproperties:
18*d5b0e70fSEmmanuel Vadot  compatible:
19*d5b0e70fSEmmanuel Vadot    enum:
20*d5b0e70fSEmmanuel Vadot      - ti,am3352-elm
21*d5b0e70fSEmmanuel Vadot      - ti,am64-elm
22*d5b0e70fSEmmanuel Vadot
23*d5b0e70fSEmmanuel Vadot  reg:
24*d5b0e70fSEmmanuel Vadot    maxItems: 1
25*d5b0e70fSEmmanuel Vadot
26*d5b0e70fSEmmanuel Vadot  interrupts:
27*d5b0e70fSEmmanuel Vadot    maxItems: 1
28*d5b0e70fSEmmanuel Vadot
29*d5b0e70fSEmmanuel Vadot  clocks:
30*d5b0e70fSEmmanuel Vadot    maxItems: 1
31*d5b0e70fSEmmanuel Vadot    description: Functional clock.
32*d5b0e70fSEmmanuel Vadot
33*d5b0e70fSEmmanuel Vadot  clock-names:
34*d5b0e70fSEmmanuel Vadot    items:
35*d5b0e70fSEmmanuel Vadot      - const: fck
36*d5b0e70fSEmmanuel Vadot
37*d5b0e70fSEmmanuel Vadot  power-domains:
38*d5b0e70fSEmmanuel Vadot    maxItems: 1
39*d5b0e70fSEmmanuel Vadot
40*d5b0e70fSEmmanuel Vadot  ti,hwmods:
41*d5b0e70fSEmmanuel Vadot    description:
42*d5b0e70fSEmmanuel Vadot      Name of the HWMOD associated with ELM. This is for legacy
43*d5b0e70fSEmmanuel Vadot      platforms only.
44*d5b0e70fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
45*d5b0e70fSEmmanuel Vadot    deprecated: true
46*d5b0e70fSEmmanuel Vadot
47*d5b0e70fSEmmanuel Vadotrequired:
48*d5b0e70fSEmmanuel Vadot  - compatible
49*d5b0e70fSEmmanuel Vadot  - reg
50*d5b0e70fSEmmanuel Vadot  - interrupts
51*d5b0e70fSEmmanuel Vadot
52*d5b0e70fSEmmanuel VadotallOf:
53*d5b0e70fSEmmanuel Vadot  - if:
54*d5b0e70fSEmmanuel Vadot      properties:
55*d5b0e70fSEmmanuel Vadot        compatible:
56*d5b0e70fSEmmanuel Vadot          contains:
57*d5b0e70fSEmmanuel Vadot            const: ti,am64-elm
58*d5b0e70fSEmmanuel Vadot    then:
59*d5b0e70fSEmmanuel Vadot      required:
60*d5b0e70fSEmmanuel Vadot        - clocks
61*d5b0e70fSEmmanuel Vadot        - clock-names
62*d5b0e70fSEmmanuel Vadot        - power-domains
63*d5b0e70fSEmmanuel Vadot
64*d5b0e70fSEmmanuel VadotadditionalProperties: false
65*d5b0e70fSEmmanuel Vadot
66*d5b0e70fSEmmanuel Vadotexamples:
67*d5b0e70fSEmmanuel Vadot  - |
68*d5b0e70fSEmmanuel Vadot    elm: ecc@0 {
69*d5b0e70fSEmmanuel Vadot        compatible = "ti,am3352-elm";
70*d5b0e70fSEmmanuel Vadot        reg = <0x0 0x2000>;
71*d5b0e70fSEmmanuel Vadot        interrupts = <4>;
72*d5b0e70fSEmmanuel Vadot    };
73