146721a1cSMiquel Raynal# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 246721a1cSMiquel Raynal%YAML 1.2 346721a1cSMiquel Raynal--- 446721a1cSMiquel Raynal$id: http://devicetree.org/schemas/mtd/raw-nand-chip.yaml# 546721a1cSMiquel Raynal$schema: http://devicetree.org/meta-schemas/core.yaml# 646721a1cSMiquel Raynal 746721a1cSMiquel Raynaltitle: Raw NAND Chip Common Properties 846721a1cSMiquel Raynal 946721a1cSMiquel Raynalmaintainers: 1046721a1cSMiquel Raynal - Miquel Raynal <miquel.raynal@bootlin.com> 1146721a1cSMiquel Raynal 1246721a1cSMiquel RaynalallOf: 1346721a1cSMiquel Raynal - $ref: nand-chip.yaml# 1446721a1cSMiquel Raynal 1546721a1cSMiquel Raynaldescription: | 1646721a1cSMiquel Raynal The ECC strength and ECC step size properties define the user 1746721a1cSMiquel Raynal desires in terms of correction capability of a controller. Together, 1846721a1cSMiquel Raynal they request the ECC engine to correct {strength} bit errors per 1946721a1cSMiquel Raynal {size} bytes for a particular raw NAND chip. 2046721a1cSMiquel Raynal 2146721a1cSMiquel Raynal The interpretation of these parameters is implementation-defined, so 2246721a1cSMiquel Raynal not all implementations must support all possible 2346721a1cSMiquel Raynal combinations. However, implementations are encouraged to further 2446721a1cSMiquel Raynal specify the value(s) they support. 2546721a1cSMiquel Raynal 2646721a1cSMiquel Raynalproperties: 2746721a1cSMiquel Raynal $nodename: 2846721a1cSMiquel Raynal pattern: "^nand@[a-f0-9]$" 2946721a1cSMiquel Raynal 3046721a1cSMiquel Raynal reg: 3146721a1cSMiquel Raynal description: 3246721a1cSMiquel Raynal Contains the chip-select IDs. 3346721a1cSMiquel Raynal 3446721a1cSMiquel Raynal nand-ecc-placement: 3546721a1cSMiquel Raynal description: 3646721a1cSMiquel Raynal Location of the ECC bytes. This location is unknown by default 3746721a1cSMiquel Raynal but can be explicitly set to "oob", if all ECC bytes are 3846721a1cSMiquel Raynal known to be stored in the OOB area, or "interleaved" if ECC 3946721a1cSMiquel Raynal bytes will be interleaved with regular data in the main area. 4046721a1cSMiquel Raynal $ref: /schemas/types.yaml#/definitions/string 4146721a1cSMiquel Raynal enum: [ oob, interleaved ] 4217241a02SMiquel Raynal deprecated: true 4346721a1cSMiquel Raynal 44*efdd2963SMiquel Raynal nand-ecc-mode: 45*efdd2963SMiquel Raynal description: 46*efdd2963SMiquel Raynal Legacy ECC configuration mixing the ECC engine choice and 47*efdd2963SMiquel Raynal configuration. 48*efdd2963SMiquel Raynal $ref: /schemas/types.yaml#/definitions/string 49*efdd2963SMiquel Raynal enum: [none, soft, soft_bch, hw, hw_syndrome, on-die] 50*efdd2963SMiquel Raynal deprecated: true 51*efdd2963SMiquel Raynal 5246721a1cSMiquel Raynal nand-bus-width: 5346721a1cSMiquel Raynal description: 5446721a1cSMiquel Raynal Bus width to the NAND chip 5546721a1cSMiquel Raynal $ref: /schemas/types.yaml#/definitions/uint32 5646721a1cSMiquel Raynal enum: [8, 16] 5746721a1cSMiquel Raynal default: 8 5846721a1cSMiquel Raynal 5946721a1cSMiquel Raynal nand-on-flash-bbt: 6046721a1cSMiquel Raynal description: 6146721a1cSMiquel Raynal With this property, the OS will search the device for a Bad 6246721a1cSMiquel Raynal Block Table (BBT). If not found, it will create one, reserve 6346721a1cSMiquel Raynal a few blocks at the end of the device to store it and update 6446721a1cSMiquel Raynal it as the device ages. Otherwise, the out-of-band area of a 6546721a1cSMiquel Raynal few pages of all the blocks will be scanned at boot time to 6646721a1cSMiquel Raynal find Bad Block Markers (BBM). These markers will help to 6746721a1cSMiquel Raynal build a volatile BBT in RAM. 6846721a1cSMiquel Raynal $ref: /schemas/types.yaml#/definitions/flag 6946721a1cSMiquel Raynal 7046721a1cSMiquel Raynal nand-ecc-maximize: 7146721a1cSMiquel Raynal description: 7246721a1cSMiquel Raynal Whether or not the ECC strength should be maximized. The 7346721a1cSMiquel Raynal maximum ECC strength is both controller and chip 7446721a1cSMiquel Raynal dependent. The ECC engine has to select the ECC config 7546721a1cSMiquel Raynal providing the best strength and taking the OOB area size 7646721a1cSMiquel Raynal constraint into account. This is particularly useful when 7746721a1cSMiquel Raynal only the in-band area is used by the upper layers, and you 7846721a1cSMiquel Raynal want to make your NAND as reliable as possible. 7946721a1cSMiquel Raynal $ref: /schemas/types.yaml#/definitions/flag 8046721a1cSMiquel Raynal 8146721a1cSMiquel Raynal nand-is-boot-medium: 8246721a1cSMiquel Raynal description: 8346721a1cSMiquel Raynal Whether or not the NAND chip is a boot medium. Drivers might 8446721a1cSMiquel Raynal use this information to select ECC algorithms supported by 8546721a1cSMiquel Raynal the boot ROM or similar restrictions. 8646721a1cSMiquel Raynal $ref: /schemas/types.yaml#/definitions/flag 8746721a1cSMiquel Raynal 8846721a1cSMiquel Raynal nand-rb: 8946721a1cSMiquel Raynal description: 9046721a1cSMiquel Raynal Contains the native Ready/Busy IDs. 9146721a1cSMiquel Raynal $ref: /schemas/types.yaml#/definitions/uint32-array 9246721a1cSMiquel Raynal 9346721a1cSMiquel Raynal rb-gpios: 9446721a1cSMiquel Raynal description: 9546721a1cSMiquel Raynal Contains one or more GPIO descriptor (the numper of descriptor 9646721a1cSMiquel Raynal depends on the number of R/B pins exposed by the flash) for the 9746721a1cSMiquel Raynal Ready/Busy pins. Active state refers to the NAND ready state and 9846721a1cSMiquel Raynal should be set to GPIOD_ACTIVE_HIGH unless the signal is inverted. 9946721a1cSMiquel Raynal 10046721a1cSMiquel Raynal wp-gpios: 10146721a1cSMiquel Raynal description: 10246721a1cSMiquel Raynal Contains one GPIO descriptor for the Write Protect pin. 10346721a1cSMiquel Raynal Active state refers to the NAND Write Protect state and should be 10446721a1cSMiquel Raynal set to GPIOD_ACTIVE_LOW unless the signal is inverted. 10546721a1cSMiquel Raynal maxItems: 1 10646721a1cSMiquel Raynal 10746721a1cSMiquel Raynalrequired: 10846721a1cSMiquel Raynal - reg 10946721a1cSMiquel Raynal 11046721a1cSMiquel Raynal# This is a generic file other binding inherit from and extend 11146721a1cSMiquel RaynaladditionalProperties: true 112