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