507e617440
Commit 32698aafc9
(Documentation: devicetree: deprecate "soft_bch"
nand-ecc-mode value, 2016-04-22) deprecated "soft_bch". Update the example to
match.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Acked-by: Rafał Miłecki <zajec5@gmail.com>
Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
62 lines
2.0 KiB
Plaintext
62 lines
2.0 KiB
Plaintext
* NAND chip and NAND controller generic binding
|
|
|
|
NAND controller/NAND chip representation:
|
|
|
|
The NAND controller should be represented with its own DT node, and all
|
|
NAND chips attached to this controller should be defined as children nodes
|
|
of the NAND controller. This representation should be enforced even for
|
|
simple controllers supporting only one chip.
|
|
|
|
Mandatory NAND controller properties:
|
|
- #address-cells: depends on your controller. Should at least be 1 to
|
|
encode the CS line id.
|
|
- #size-cells: depends on your controller. Put zero unless you need a
|
|
mapping between CS lines and dedicated memory regions
|
|
|
|
Optional NAND controller properties
|
|
- ranges: only needed if you need to define a mapping between CS lines and
|
|
memory regions
|
|
|
|
Optional NAND chip properties:
|
|
|
|
- nand-ecc-mode : String, operation mode of the NAND ecc mode.
|
|
Supported values are: "none", "soft", "hw", "hw_syndrome",
|
|
"hw_oob_first".
|
|
Deprecated values:
|
|
"soft_bch": use "soft" and nand-ecc-algo instead
|
|
- nand-ecc-algo: string, algorithm of NAND ECC.
|
|
Supported values are: "hamming", "bch".
|
|
- nand-bus-width : 8 or 16 bus width if not present 8
|
|
- nand-on-flash-bbt: boolean to enable on flash bbt option if not present false
|
|
|
|
- nand-ecc-strength: integer representing the number of bits to correct
|
|
per ECC step.
|
|
|
|
- nand-ecc-step-size: integer representing the number of data bytes
|
|
that are covered by a single ECC step.
|
|
|
|
The ECC strength and ECC step size properties define the correction capability
|
|
of a controller. Together, they say a controller can correct "{strength} bit
|
|
errors per {size} bytes".
|
|
|
|
The interpretation of these parameters is implementation-defined, so not all
|
|
implementations must support all possible combinations. However, implementations
|
|
are encouraged to further specify the value(s) they support.
|
|
|
|
Example:
|
|
|
|
nand-controller {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
/* controller specific properties */
|
|
|
|
nand@0 {
|
|
reg = <0>;
|
|
nand-ecc-mode = "soft";
|
|
nand-ecc-algo = "bch";
|
|
|
|
/* controller specific properties */
|
|
};
|
|
};
|