xref: /linux/Documentation/devicetree/bindings/mtd/nand-property.yaml (revision 8541d8f725c673db3bd741947f27974358b2e163)
1*0ba8da2fSFrank Li# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*0ba8da2fSFrank Li%YAML 1.2
3*0ba8da2fSFrank Li---
4*0ba8da2fSFrank Li$id: http://devicetree.org/schemas/mtd/nand-property.yaml#
5*0ba8da2fSFrank Li$schema: http://devicetree.org/meta-schemas/core.yaml#
6*0ba8da2fSFrank Li
7*0ba8da2fSFrank Lititle: NAND Chip Common Properties
8*0ba8da2fSFrank Li
9*0ba8da2fSFrank Limaintainers:
10*0ba8da2fSFrank Li  - Miquel Raynal <miquel.raynal@bootlin.com>
11*0ba8da2fSFrank Li
12*0ba8da2fSFrank Lidescription: |
13*0ba8da2fSFrank Li  This file covers the generic properties of a NAND chip. It implies that the
14*0ba8da2fSFrank Li  bus interface should not be taken into account: both raw NAND devices and
15*0ba8da2fSFrank Li  SPI-NAND devices are concerned by this description.
16*0ba8da2fSFrank Li
17*0ba8da2fSFrank Liproperties:
18*0ba8da2fSFrank Li  nand-ecc-engine:
19*0ba8da2fSFrank Li    description: |
20*0ba8da2fSFrank Li      A phandle on the hardware ECC engine if any. There are
21*0ba8da2fSFrank Li      basically three possibilities:
22*0ba8da2fSFrank Li      1/ The ECC engine is part of the NAND controller, in this
23*0ba8da2fSFrank Li      case the phandle should reference the parent node.
24*0ba8da2fSFrank Li      2/ The ECC engine is part of the NAND part (on-die), in this
25*0ba8da2fSFrank Li      case the phandle should reference the node itself.
26*0ba8da2fSFrank Li      3/ The ECC engine is external, in this case the phandle should
27*0ba8da2fSFrank Li      reference the specific ECC engine node.
28*0ba8da2fSFrank Li    $ref: /schemas/types.yaml#/definitions/phandle
29*0ba8da2fSFrank Li
30*0ba8da2fSFrank Li  nand-use-soft-ecc-engine:
31*0ba8da2fSFrank Li    description: Use a software ECC engine.
32*0ba8da2fSFrank Li    type: boolean
33*0ba8da2fSFrank Li
34*0ba8da2fSFrank Li  nand-no-ecc-engine:
35*0ba8da2fSFrank Li    description: Do not use any ECC correction.
36*0ba8da2fSFrank Li    type: boolean
37*0ba8da2fSFrank Li
38*0ba8da2fSFrank Li  nand-ecc-algo:
39*0ba8da2fSFrank Li    description:
40*0ba8da2fSFrank Li      Desired ECC algorithm.
41*0ba8da2fSFrank Li    $ref: /schemas/types.yaml#/definitions/string
42*0ba8da2fSFrank Li    enum: [hamming, bch, rs]
43*0ba8da2fSFrank Li
44*0ba8da2fSFrank Li  nand-ecc-strength:
45*0ba8da2fSFrank Li    description:
46*0ba8da2fSFrank Li      Maximum number of bits that can be corrected per ECC step.
47*0ba8da2fSFrank Li    $ref: /schemas/types.yaml#/definitions/uint32
48*0ba8da2fSFrank Li    minimum: 1
49*0ba8da2fSFrank Li
50*0ba8da2fSFrank Li  nand-ecc-step-size:
51*0ba8da2fSFrank Li    description:
52*0ba8da2fSFrank Li      Number of data bytes covered by a single ECC step.
53*0ba8da2fSFrank Li    $ref: /schemas/types.yaml#/definitions/uint32
54*0ba8da2fSFrank Li    minimum: 1
55*0ba8da2fSFrank Li
56*0ba8da2fSFrank Li  secure-regions:
57*0ba8da2fSFrank Li    description:
58*0ba8da2fSFrank Li      Regions in the NAND chip which are protected using a secure element
59*0ba8da2fSFrank Li      like Trustzone. This property contains the start address and size of
60*0ba8da2fSFrank Li      the secure regions present.
61*0ba8da2fSFrank Li    $ref: /schemas/types.yaml#/definitions/uint64-matrix
62*0ba8da2fSFrank Li
63*0ba8da2fSFrank Li# This file can be referenced by more specific devices (like spi-nands)
64*0ba8da2fSFrank LiadditionalProperties: true
65