nand-chip.yaml 2.1 KB

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