Home
last modified time | relevance | path

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

/Linux-v5.10/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
224 struct atmel_pmecc *pmecc; member
798 ret = atmel_pmecc_enable(nand->pmecc, op); in atmel_nand_pmecc_enable()
811 atmel_pmecc_disable(nand->pmecc); in atmel_nand_pmecc_disable()
828 ret = atmel_pmecc_wait_rdy(nand->pmecc); in atmel_nand_pmecc_generate_eccbytes()
840 atmel_pmecc_get_generated_eccbytes(nand->pmecc, i, in atmel_nand_pmecc_generate_eccbytes()
863 ret = atmel_pmecc_wait_rdy(nand->pmecc); in atmel_nand_pmecc_correct_data()
876 ret = atmel_pmecc_correct_sector(nand->pmecc, i, databuf, in atmel_nand_pmecc_correct_data()
878 if (ret < 0 && !atmel_pmecc_correct_erased_chunks(nand->pmecc)) in atmel_nand_pmecc_correct_data()
915 atmel_pmecc_disable(nand->pmecc); in atmel_nand_pmecc_write_pg()
[all …]
/Linux-v5.10/Documentation/devicetree/bindings/mtd/
Datmel-nand.txt57 "atmel,at91sam9g45-pmecc"
58 "atmel,sama5d4-pmecc"
59 "atmel,sama5d2-pmecc"
60 "microchip,sam9x60-pmecc"
80 pmecc: ecc-engine@ffffc070 {
81 compatible = "atmel,at91sam9g45-pmecc";
103 ecc-engine = <&pmecc>;
148 - atmel,has-pmecc : boolean to enable Programmable Multibit ECC hardware,
150 - atmel,pmecc-cap : error correct capability for Programmable Multibit ECC
153 - atmel,pmecc-sector-size : sector size for ECC computation. Supported values
[all …]
/Linux-v5.10/arch/arm/boot/dts/
Dsam9x60.dtsi128 ecc-engine = <&pmecc>;
561 pmecc: ecc-engine@ffffe000 { label
562 compatible = "microchip,sam9x60-pmecc", "atmel,at91sam9g45-pmecc";
Dat91sam9n12.dtsi102 pmecc: ecc-engine@ffffe000 { label
103 compatible = "atmel,at91sam9g45-pmecc";
789 ecc-engine = <&pmecc>;
Dat91sam9x5.dtsi110 pmecc: ecc-engine@ffffe000 { label
111 compatible = "atmel,at91sam9g45-pmecc";
946 ecc-engine = <&pmecc>;
Dsama5d2.dtsi172 ecc-engine = <&pmecc>;
413 pmecc: ecc-engine@f8014070 { label
414 compatible = "atmel,sama5d2-pmecc";
Dsama5d3.dtsi456 pmecc: ecc-engine@ffffc070 { label
457 compatible = "atmel,at91sam9g45-pmecc";
1130 ecc-engine = <&pmecc>;
Dsama5d4.dtsi158 ecc-engine = <&pmecc>;
740 pmecc: ecc-engine@ffffc070 { label
741 compatible = "atmel,sama5d4-pmecc";