/openbmc/linux/drivers/mtd/nand/raw/atmel/ |
H A D | pmecc.c | 169 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 …]
|
H A D | Makefile | 2 obj-$(CONFIG_MTD_NAND_ATMEL) += atmel-nand-controller.o atmel-pmecc.o 5 atmel-pmecc-objs := pmecc.o
|
H A D | pmecc.h | 56 atmel_pmecc_create_user(struct atmel_pmecc *pmecc, 58 void atmel_pmecc_reset(struct atmel_pmecc *pmecc);
|
H A D | nand-controller.c | 165 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 …]
|
/openbmc/u-boot/tools/ |
H A D | atmelimage.c | 36 } pmecc; variable 73 pmecc.use_pmecc = strtol(param, NULL, 10); in atmel_find_pmecc_parameter_in_token() 76 pmecc.sector_per_page = strtol(param, NULL, 10); in atmel_find_pmecc_parameter_in_token() 79 pmecc.spare_size = strtol(param, NULL, 10); in atmel_find_pmecc_parameter_in_token() 82 pmecc.ecc_bits = strtol(param, NULL, 10); in atmel_find_pmecc_parameter_in_token() 85 pmecc.sector_size = strtol(param, NULL, 10); in atmel_find_pmecc_parameter_in_token() 88 pmecc.ecc_offset = strtol(param, NULL, 10); in atmel_find_pmecc_parameter_in_token() 251 tmp |= (pmecc.ecc_offset & 0x1ff) << 18; in atmel_vrec_header() 253 switch (pmecc.sector_size) { in atmel_vrec_header() 263 pmecc.sector_size); in atmel_vrec_header() [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/mtd/ |
H A D | atmel-nand.txt | 55 "atmel,at91sam9g45-pmecc" 56 "atmel,sama5d4-pmecc" 57 "atmel,sama5d2-pmecc" 58 "microchip,sam9x60-pmecc" 78 pmecc: ecc-engine@ffffc070 { 79 compatible = "atmel,at91sam9g45-pmecc"; 101 ecc-engine = <&pmecc>; 146 - atmel,has-pmecc : boolean to enable Programmable Multibit ECC hardware, 148 - atmel,pmecc-cap : error correct capability for Programmable Multibit ECC 151 - atmel,pmecc-sector-size : sector size for ECC computation. Supported values [all …]
|
/openbmc/u-boot/drivers/mtd/nand/raw/ |
H A D | atmel_nand.c | 39 struct pmecc_regs __iomem *pmecc; member 169 value = pmecc_readl(host->pmecc, rem_port[sector].rem[i / 2]); in pmecc_gen_syndrome() 538 pmecc_writel(host->pmecc, ctrl, PMECC_CTRL_RST); in atmel_nand_pmecc_read_page() 539 pmecc_writel(host->pmecc, ctrl, PMECC_CTRL_DISABLE); in atmel_nand_pmecc_read_page() 540 pmecc_writel(host->pmecc, cfg, ((pmecc_readl(host->pmecc, cfg)) in atmel_nand_pmecc_read_page() 543 pmecc_writel(host->pmecc, ctrl, PMECC_CTRL_ENABLE); in atmel_nand_pmecc_read_page() 544 pmecc_writel(host->pmecc, ctrl, PMECC_CTRL_DATA); in atmel_nand_pmecc_read_page() 550 if (!(pmecc_readl(host->pmecc, sr) & PMECC_SR_BUSY)) in atmel_nand_pmecc_read_page() 561 stat = pmecc_readl(host->pmecc, isr); in atmel_nand_pmecc_read_page() 578 pmecc_writel(host->pmecc, ctrl, PMECC_CTRL_RST); in atmel_nand_pmecc_write_page() [all …]
|
/openbmc/u-boot/arch/arm/dts/ |
H A D | at91sam9x5cm.dtsi | 43 atmel,has-pmecc; /* Enable PMECC */ 44 atmel,pmecc-cap = <2>; 45 atmel,pmecc-sector-size = <512>;
|
H A D | sama5d3xcm.dtsi | 76 atmel,has-pmecc; 77 atmel,pmecc-cap = <4>; 78 atmel,pmecc-sector-size = <512>;
|
H A D | sama5d3xcm_cmp.dtsi | 119 atmel,has-pmecc; 120 atmel,pmecc-cap = <4>; 121 atmel,pmecc-sector-size = <512>;
|
H A D | at91sam9n12ek.dts | 156 atmel,has-pmecc; 157 atmel,pmecc-cap = <2>; 158 atmel,pmecc-sector-size = <512>;
|
H A D | at91-sama5d3_xplained.dts | 270 atmel,has-pmecc; 271 atmel,pmecc-cap = <4>; 272 atmel,pmecc-sector-size = <512>;
|
H A D | at91-sama5d4_xplained.dts | 246 atmel,has-pmecc;
|
H A D | at91-sama5d4ek.dts | 281 atmel,has-pmecc;
|
H A D | at91sam9n12.dtsi | 1026 atmel,pmecc-lookup-table-offset = <0x0 0x8000>;
|
H A D | at91sam9x5.dtsi | 1221 atmel,pmecc-lookup-table-offset = <0x0 0x8000>;
|
H A D | sama5d3.dtsi | 1521 atmel,pmecc-lookup-table-offset = <0x0 0x8000>;
|
/openbmc/linux/arch/arm/boot/dts/microchip/ |
H A D | at91sam9n12.dtsi | 103 pmecc: ecc-engine@ffffe000 { label 104 compatible = "atmel,at91sam9g45-pmecc"; 778 ecc-engine = <&pmecc>;
|
H A D | sam9x60.dtsi | 129 ecc-engine = <&pmecc>; 1192 pmecc: ecc-engine@ffffe000 { label 1193 compatible = "microchip,sam9x60-pmecc", "atmel,at91sam9g45-pmecc";
|
H A D | at91sam9x5.dtsi | 111 pmecc: ecc-engine@ffffe000 { label 112 compatible = "atmel,at91sam9g45-pmecc"; 925 ecc-engine = <&pmecc>;
|
H A D | sama5d2.dtsi | 183 ecc-engine = <&pmecc>; 422 pmecc: ecc-engine@f8014070 { label 423 compatible = "atmel,sama5d2-pmecc";
|
H A D | sama7g5.dtsi | 199 ecc-engine = <&pmecc>; 328 pmecc: ecc-engine@e0808070 { label 329 compatible = "atmel,sama5d2-pmecc";
|
H A D | sama5d3.dtsi | 438 pmecc: ecc-engine@ffffc070 { label 439 compatible = "atmel,at91sam9g45-pmecc"; 1113 ecc-engine = <&pmecc>;
|
H A D | sama5d4.dtsi | 166 ecc-engine = <&pmecc>; 730 pmecc: ecc-engine@ffffc070 { label 731 compatible = "atmel,sama5d4-pmecc";
|
/openbmc/linux/ |
H A D | opengrok0.0.log | [all...] |