162306a36Sopenharmony_ciHisilicon Hip04 Soc NAND controller DT binding
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciRequired properties:
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci- compatible:          Should be "hisilicon,504-nfc".
662306a36Sopenharmony_ci- reg:                 The first contains base physical address and size of
762306a36Sopenharmony_ci                       NAND controller's registers. The second contains base
862306a36Sopenharmony_ci                       physical address and size of NAND controller's buffer.
962306a36Sopenharmony_ci- interrupts:          Interrupt number for nfc.
1062306a36Sopenharmony_ci- nand-bus-width:      See nand-controller.yaml.
1162306a36Sopenharmony_ci- nand-ecc-mode:       Support none and hw ecc mode.
1262306a36Sopenharmony_ci- #address-cells:      Partition address, should be set 1.
1362306a36Sopenharmony_ci- #size-cells:         Partition size, should be set 1.
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciOptional properties:
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci- nand-ecc-strength:   Number of bits to correct per ECC step.
1862306a36Sopenharmony_ci- nand-ecc-step-size:  Number of data bytes covered by a single ECC step.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciThe following ECC strength and step size are currently supported:
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci - nand-ecc-strength = <16>, nand-ecc-step-size = <1024>
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciFlash chip may optionally contain additional sub-nodes describing partitions of
2562306a36Sopenharmony_cithe address space. See partition.txt for more detail.
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ciExample:
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci	nand: nand@4020000 {
3062306a36Sopenharmony_ci		compatible = "hisilicon,504-nfc";
3162306a36Sopenharmony_ci		reg = <0x4020000 0x10000>, <0x5000000 0x1000>;
3262306a36Sopenharmony_ci		interrupts = <0 379 4>;
3362306a36Sopenharmony_ci		nand-bus-width = <8>;
3462306a36Sopenharmony_ci		nand-ecc-mode = "hw";
3562306a36Sopenharmony_ci		nand-ecc-strength = <16>;
3662306a36Sopenharmony_ci		nand-ecc-step-size = <1024>;
3762306a36Sopenharmony_ci		#address-cells = <1>;
3862306a36Sopenharmony_ci		#size-cells = <1>;
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci		partition@0 {
4162306a36Sopenharmony_ci			label = "nand_text";
4262306a36Sopenharmony_ci			reg = <0x00000000 0x00400000>;
4362306a36Sopenharmony_ci		};
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci		...
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci	};
48