Home
last modified time | relevance | path

Searched refs:pmecc (Results 1 – 11 of 11) sorted by relevance

/Linux-v5.4/drivers/mtd/nand/raw/atmel/
Dpmecc.c169 struct atmel_pmecc *pmecc; member
277 static int atmel_pmecc_prepare_user_req(struct atmel_pmecc *pmecc, in atmel_pmecc_prepare_user_req() argument
309 for (i = 0; i < pmecc->caps->nstrengths; i++) { in atmel_pmecc_prepare_user_req()
310 int nbytes, strength = pmecc->caps->strengths[i]; in atmel_pmecc_prepare_user_req()
343 atmel_pmecc_create_user(struct atmel_pmecc *pmecc, in atmel_pmecc_create_user() argument
350 ret = atmel_pmecc_prepare_user_req(pmecc, req); in atmel_pmecc_create_user()
369 user->pmecc = pmecc; in atmel_pmecc_create_user()
392 for (strength = 0; strength < pmecc->caps->nstrengths; strength++) { in atmel_pmecc_create_user()
393 if (pmecc->caps->strengths[strength] == req->ecc.strength) in atmel_pmecc_create_user()
419 const int *strengths = user->pmecc->caps->strengths; in get_strength()
[all …]
DMakefile2 obj-$(CONFIG_MTD_NAND_ATMEL) += atmel-nand-controller.o atmel-pmecc.o
5 atmel-pmecc-objs := pmecc.o
Dpmecc.h56 atmel_pmecc_create_user(struct atmel_pmecc *pmecc,
60 void atmel_pmecc_reset(struct atmel_pmecc *pmecc);
Dnand-controller.c165 struct atmel_pmecc_user *pmecc; member
222 struct atmel_pmecc *pmecc; member
728 ret = atmel_pmecc_enable(nand->pmecc, op); in atmel_nand_pmecc_enable()
741 atmel_pmecc_disable(nand->pmecc); in atmel_nand_pmecc_disable()
758 ret = atmel_pmecc_wait_rdy(nand->pmecc); in atmel_nand_pmecc_generate_eccbytes()
770 atmel_pmecc_get_generated_eccbytes(nand->pmecc, i, in atmel_nand_pmecc_generate_eccbytes()
793 ret = atmel_pmecc_wait_rdy(nand->pmecc); in atmel_nand_pmecc_correct_data()
806 ret = atmel_pmecc_correct_sector(nand->pmecc, i, databuf, in atmel_nand_pmecc_correct_data()
808 if (ret < 0 && !atmel_pmecc_correct_erased_chunks(nand->pmecc)) in atmel_nand_pmecc_correct_data()
845 atmel_pmecc_disable(nand->pmecc); in atmel_nand_pmecc_write_pg()
[all …]
/Linux-v5.4/Documentation/devicetree/bindings/mtd/
Datmel-nand.txt57 "atmel,at91sam9g45-pmecc"
58 "atmel,sama5d4-pmecc"
59 "atmel,sama5d2-pmecc"
79 pmecc: ecc-engine@ffffc070 {
80 compatible = "atmel,at91sam9g45-pmecc";
102 ecc-engine = <&pmecc>;
147 - atmel,has-pmecc : boolean to enable Programmable Multibit ECC hardware,
149 - atmel,pmecc-cap : error correct capability for Programmable Multibit ECC
152 - atmel,pmecc-sector-size : sector size for ECC computation. Supported values
154 - atmel,pmecc-lookup-table-offset : includes two offsets of lookup table in ROM
[all …]
/Linux-v5.4/arch/arm/boot/dts/
Dat91-kizboxmini.dts38 atmel,has-pmecc;
39 atmel,pmecc-cap = <4>;
40 atmel,pmecc-sector-size = <512>;
Dat91sam9n12.dtsi98 pmecc: ecc-engine@ffffe000 { label
99 compatible = "atmel,at91sam9g45-pmecc";
1053 ecc-engine = <&pmecc>;
Dsama5d2.dtsi289 ecc-engine = <&pmecc>;
526 pmecc: ecc-engine@f8014070 { label
527 compatible = "atmel,sama5d2-pmecc";
Dat91sam9x5.dtsi106 pmecc: ecc-engine@ffffe000 { label
107 compatible = "atmel,at91sam9g45-pmecc";
998 ecc-engine = <&pmecc>;
Dsama5d3.dtsi444 pmecc: ecc-engine@ffffc070 { label
445 compatible = "atmel,at91sam9g45-pmecc";
1548 ecc-engine = <&pmecc>;
Dsama5d4.dtsi272 ecc-engine = <&pmecc>;
845 pmecc: ecc-engine@ffffc070 { label
846 compatible = "atmel,sama5d4-pmecc";