Home
last modified time | relevance | path

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

/linux-6.14.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()
365 user = devm_kzalloc(pmecc->dev, size, GFP_KERNEL); in atmel_pmecc_create_user()
369 user->pmecc = pmecc; in atmel_pmecc_create_user()
390 for (strength = 0; strength < pmecc->caps->nstrengths; strength++) { in atmel_pmecc_create_user()
391 if (pmecc->caps->strengths[strength] == req->ecc.strength) in atmel_pmecc_create_user()
[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,
58 void atmel_pmecc_reset(struct atmel_pmecc *pmecc);
Dnand-controller.c165 struct atmel_pmecc_user *pmecc; member
224 struct atmel_pmecc *pmecc; member
799 ret = atmel_pmecc_enable(nand->pmecc, op); in atmel_nand_pmecc_enable()
812 atmel_pmecc_disable(nand->pmecc); in atmel_nand_pmecc_disable()
829 ret = atmel_pmecc_wait_rdy(nand->pmecc); in atmel_nand_pmecc_generate_eccbytes()
841 atmel_pmecc_get_generated_eccbytes(nand->pmecc, i, in atmel_nand_pmecc_generate_eccbytes()
864 ret = atmel_pmecc_wait_rdy(nand->pmecc); in atmel_nand_pmecc_correct_data()
877 ret = atmel_pmecc_correct_sector(nand->pmecc, i, databuf, in atmel_nand_pmecc_correct_data()
879 if (ret < 0 && !atmel_pmecc_correct_erased_chunks(nand->pmecc)) in atmel_nand_pmecc_correct_data()
918 atmel_pmecc_disable(nand->pmecc); in atmel_nand_pmecc_write_pg()
[all …]
/linux-6.14.4/Documentation/devicetree/bindings/mtd/
Datmel-nand.txt55 "atmel,at91sam9g45-pmecc"
56 "atmel,sama5d4-pmecc"
57 "atmel,sama5d2-pmecc"
58 "microchip,sam9x60-pmecc"
59 "microchip,sam9x7-pmecc", "atmel,at91sam9g45-pmecc"
70 pmecc: ecc-engine@ffffc070 {
71 compatible = "atmel,at91sam9g45-pmecc";
93 ecc-engine = <&pmecc>;
138 - atmel,has-pmecc : boolean to enable Programmable Multibit ECC hardware,
140 - atmel,pmecc-cap : error correct capability for Programmable Multibit ECC
[all …]
/linux-6.14.4/arch/arm/boot/dts/microchip/
Dat91sam9n12.dtsi103 pmecc: ecc-engine@ffffe000 { label
104 compatible = "atmel,at91sam9g45-pmecc";
778 ecc-engine = <&pmecc>;
Dat91sam9x5.dtsi111 pmecc: ecc-engine@ffffe000 { label
112 compatible = "atmel,at91sam9g45-pmecc";
925 ecc-engine = <&pmecc>;
Dsam9x60.dtsi129 ecc-engine = <&pmecc>;
1230 pmecc: ecc-engine@ffffe000 { label
1231 compatible = "microchip,sam9x60-pmecc", "atmel,at91sam9g45-pmecc";
Dsama5d2.dtsi183 ecc-engine = <&pmecc>;
422 pmecc: ecc-engine@f8014070 { label
423 compatible = "atmel,sama5d2-pmecc";
Dsama7g5.dtsi199 ecc-engine = <&pmecc>;
328 pmecc: ecc-engine@e0808070 { label
329 compatible = "atmel,sama5d2-pmecc";
Dsama5d3.dtsi438 pmecc: ecc-engine@ffffc070 { label
439 compatible = "atmel,at91sam9g45-pmecc";
1113 ecc-engine = <&pmecc>;
Dsam9x7.dtsi1095 pmecc: ecc-engine@ffffe000 { label
1096 compatible = "microchip,sam9x7-pmecc", "atmel,at91sam9g45-pmecc";
Dsama5d4.dtsi166 ecc-engine = <&pmecc>;
730 pmecc: ecc-engine@ffffc070 { label
731 compatible = "atmel,sama5d4-pmecc";