/* SPDX-License-Identifier: GPL-2.0 */
/*
* © Copyright 2016 ATMEL
* © Copyright 2016 Free Electrons
*
* Author : Boris Brezillon < boris . brezillon @ free - electrons . com >
*
* Derived from the atmel_nand . c driver which contained the following
* copyrights :
*
* Copyright © 2003 Rick Bronson
*
* Derived from drivers / mtd / nand / autcpu12 . c ( removed in v3 . 8 )
* Copyright © 2001 Thomas Gleixner ( gleixner @ autronix . de )
*
* Derived from drivers / mtd / spia . c ( removed in v3 . 8 )
* Copyright © 2000 Steven J . Hill ( sjhill @ cotw . com )
*
*
* Add Hardware ECC support for AT91SAM9260 / AT91SAM9263
* Richard Genoud ( richard . genoud @ gmail . com ) , Adeneo Copyright © 2007
*
* Derived from Das U - Boot source code
* ( u - boot - 1 . 1 . 5 / board / atmel / at91sam9263ek / nand . c )
* © Copyright 2006 ATMEL Rousset , Lacressonniere Nicolas
*
* Add Programmable Multibit ECC support for various AT91 SoC
* © Copyright 2012 ATMEL , Hong Xu
*
* Add Nand Flash Controller support for SAMA5 SoC
* © Copyright 2013 ATMEL , Josh Wu ( josh . wu @ atmel . com )
*/
#ifndef ATMEL_PMECC_H
#define ATMEL_PMECC_H
#define ATMEL_PMECC_MAXIMIZE_ECC_STRENGTH 0
#define ATMEL_PMECC_SECTOR_SIZE_AUTO 0
#define ATMEL_PMECC_OOBOFFSET_AUTO -1
struct atmel_pmecc_user_req {
int pagesize;
int oobsize;
struct {
int strength;
int bytes;
int sectorsize;
int nsectors;
int ooboffset;
} ecc;
};
struct atmel_pmecc *devm_atmel_pmecc_get(struct device *dev);
struct atmel_pmecc_user *
atmel_pmecc_create_user(struct atmel_pmecc *pmecc,
struct atmel_pmecc_user_req *req);
void atmel_pmecc_reset(struct atmel_pmecc *pmecc);
int atmel_pmecc_enable(struct atmel_pmecc_user *user, int op);
void atmel_pmecc_disable(struct atmel_pmecc_user *user);
int atmel_pmecc_wait_rdy(struct atmel_pmecc_user *user);
int atmel_pmecc_correct_sector(struct atmel_pmecc_user *user, int sector,
void *data, void *ecc);
bool atmel_pmecc_correct_erased_chunks(struct atmel_pmecc_user *user);
void atmel_pmecc_get_generated_eccbytes(struct atmel_pmecc_user *user,
int sector, void *ecc);
#endif /* ATMEL_PMECC_H */
Messung V0.5 in Prozent C=96 H=100 G=97
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-10-01)
¤
*© Formatika GbR, Deutschland