/u-boot/drivers/mtd/nand/raw/ |
A D | fsmc_nand.c | 416 nand->ecc.mode = NAND_ECC_HW; in fsmc_nand_switch_ecc() 417 nand->ecc.bytes = 3; in fsmc_nand_switch_ecc() 418 nand->ecc.strength = 1; in fsmc_nand_switch_ecc() 428 nand->ecc.strength = 4; in fsmc_nand_switch_ecc() 429 nand->ecc.layout = NULL; in fsmc_nand_switch_ecc() 472 nand->ecc.mode = NAND_ECC_HW; in fsmc_nand_init() 473 nand->ecc.size = 512; in fsmc_nand_init() 485 nand->ecc.bytes = 13; in fsmc_nand_init() 486 nand->ecc.strength = 8; in fsmc_nand_init() 500 nand->ecc.bytes = 3; in fsmc_nand_init() [all …]
|
A D | sunxi_nand.c | 821 struct nand_ecc_ctrl *ecc = &nand->ecc; in sunxi_nfc_hw_ecc_read_chunk() local 915 struct nand_ecc_ctrl *ecc = &nand->ecc; in sunxi_nfc_hw_ecc_read_extra_oob() local 948 struct nand_ecc_ctrl *ecc = &nand->ecc; in sunxi_nfc_hw_ecc_write_chunk() local 996 struct nand_ecc_ctrl *ecc = &nand->ecc; in sunxi_nfc_hw_ecc_write_extra_oob() local 1016 struct nand_ecc_ctrl *ecc = &chip->ecc; in sunxi_nfc_hw_ecc_read_page() local 1053 struct nand_ecc_ctrl *ecc = &chip->ecc; in sunxi_nfc_hw_ecc_read_subpage() local 1084 struct nand_ecc_ctrl *ecc = &chip->ecc; in sunxi_nfc_hw_ecc_write_page() local 1117 struct nand_ecc_ctrl *ecc = &chip->ecc; in sunxi_nfc_hw_ecc_write_subpage() local 1146 struct nand_ecc_ctrl *ecc = &chip->ecc; in sunxi_nfc_hw_syndrome_ecc_read_page() local 1440 ecc->bytes = ALIGN(ecc->bytes, 2); in sunxi_nand_hw_common_ecc_ctrl_init() [all …]
|
A D | omap_gpmc.c | 497 struct nand_ecc_ctrl *ecc = &chip->ecc; in omap_correct_data_bch() local 726 nand->ecc.layout = NULL; in omap_select_ecc_scheme() 727 nand->ecc.size = 0; in omap_select_ecc_scheme() 742 nand->ecc.strength = 1; in omap_select_ecc_scheme() 744 nand->ecc.bytes = 3; in omap_select_ecc_scheme() 779 nand->ecc.strength = 8; in omap_select_ecc_scheme() 781 nand->ecc.bytes = 13; in omap_select_ecc_scheme() 820 nand->ecc.strength = 8; in omap_select_ecc_scheme() 822 nand->ecc.bytes = 14; in omap_select_ecc_scheme() 854 nand->ecc.bytes = 26; in omap_select_ecc_scheme() [all …]
|
A D | mxc_nand.c | 392 int eccpitch = chip->ecc.bytes + chip->ecc.prepad + chip->ecc.postpad; 431 host->col_addr += chip->ecc.postpad + chip->ecc.prepad; 446 int eccpitch = eccbytes + chip->ecc.prepad + chip->ecc.postpad; 491 int eccpitch = eccbytes + chip->ecc.prepad + chip->ecc.postpad; 541 chip->ecc.prepad; 553 int eccpitch = chip->ecc.bytes + chip->ecc.prepad + chip->ecc.postpad; 565 host->col_addr += chip->ecc.prepad + chip->ecc.postpad; 583 int eccpitch = eccbytes + chip->ecc.prepad + chip->ecc.postpad; 623 int eccpitch = eccbytes + chip->ecc.prepad + chip->ecc.postpad; 1194 this->ecc.bytes = 9; [all …]
|
A D | nand_base.c | 2513 int chunk = chip->ecc.bytes + chip->ecc.prepad + chip->ecc.postpad; in nand_read_oob_syndrome() 2580 int chunk = chip->ecc.bytes + chip->ecc.prepad + chip->ecc.postpad; in nand_write_oob_syndrome() 4966 struct nand_ecc_ctrl *ecc = &chip->ecc; in nand_ecc_strength_good() local 4985 struct nand_ecc_ctrl *ecc = &chip->ecc; in invalid_ecc_page_accessors() local 5000 ecc->hwctl && ecc->calculate)); in invalid_ecc_page_accessors() 5075 if (!ecc->calculate || !ecc->correct || !ecc->hwctl) { in nand_scan_tail() 5098 if (!ecc->write_subpage && ecc->hwctl && ecc->calculate) in nand_scan_tail() 5102 if ((!ecc->calculate || !ecc->correct || !ecc->hwctl) && in nand_scan_tail() 5204 ecc->read_oob_raw = ecc->read_oob; in nand_scan_tail() 5206 ecc->write_oob_raw = ecc->write_oob; in nand_scan_tail() [all …]
|
A D | davinci_nand.c | 169 u_int32_t ecc = 0; in nand_davinci_readecc() local 174 return ecc; in nand_davinci_readecc() 427 int eccbytes = chip->ecc.bytes; in nand_davinci_read_page_hwecc() 428 int eccsteps = chip->ecc.steps; in nand_davinci_read_page_hwecc() 761 nand->ecc.mode = NAND_ECC_HW; in davinci_nand_init() 762 nand->ecc.size = 512; in davinci_nand_init() 763 nand->ecc.bytes = 3; in davinci_nand_init() 764 nand->ecc.strength = 1; in davinci_nand_init() 773 nand->ecc.size = 512; in davinci_nand_init() 774 nand->ecc.bytes = 10; in davinci_nand_init() [all …]
|
A D | nand_bch.c | 47 struct nand_bch_control *nbc = chip->ecc.priv; in nand_bch_calculate_ecc() 50 memset(code, 0, chip->ecc.bytes); in nand_bch_calculate_ecc() 51 encode_bch(nbc->bch, buf, chip->ecc.size, code); in nand_bch_calculate_ecc() 54 for (i = 0; i < chip->ecc.bytes; i++) in nand_bch_calculate_ecc() 73 struct nand_bch_control *nbc = chip->ecc.priv; in nand_bch_correct_data() 81 if (errloc[i] < (chip->ecc.size*8)) in nand_bch_correct_data() 119 unsigned int eccsize = nand->ecc.size; in nand_bch_init() 120 unsigned int eccbytes = nand->ecc.bytes; in nand_bch_init() 121 unsigned int eccstrength = nand->ecc.strength; in nand_bch_init() 125 nand->ecc.bytes = eccbytes; in nand_bch_init() [all …]
|
A D | zynq_nand.c | 643 int eccbytes = chip->ecc.bytes; in zynq_nand_write_page_swecc() 644 int eccsteps = chip->ecc.steps; in zynq_nand_write_page_swecc() 676 int eccbytes = chip->ecc.bytes; in zynq_nand_read_page_hwecc() 722 eccsteps = chip->ecc.steps; in zynq_nand_read_page_hwecc() 763 eccsteps = chip->ecc.steps; in zynq_nand_read_page_swecc() 1194 nand_chip->ecc.strength = 1; in zynq_nand_probe() 1203 nand_chip->ecc.bytes = 0; in zynq_nand_probe() 1216 nand_chip->ecc.strength = 1; in zynq_nand_probe() 1218 nand_chip->ecc.bytes = 3; in zynq_nand_probe() 1221 nand_chip->ecc.hwctl = NULL; in zynq_nand_probe() [all …]
|
A D | atmel_nand.c | 475 err_byte = ecc[tmp]; in pmecc_correct_data() 492 u8 *ecc) in pmecc_correction() argument 505 if (ecc[i] != 0xff) in pmecc_correction() 827 nand->ecc.hwctl = NULL; in atmel_pmecc_nand_init_params() 915 nand->ecc.steps = 1; in atmel_pmecc_nand_init_params() 932 nand->ecc.bytes); in atmel_pmecc_nand_init_params() 945 nand->ecc.postpad = 0; in atmel_pmecc_nand_init_params() 946 nand->ecc.prepad = 0; in atmel_pmecc_nand_init_params() 947 nand->ecc.bytes = 0; in atmel_pmecc_nand_init_params() 1172 nand->ecc.bytes = 4; in atmel_hwecc_nand_init_param() [all …]
|
A D | lpc32xx_nand_slc.c | 40 u32 ecc; member 341 u32 ce = ecc[i / CONFIG_SYS_NAND_ECCBYTES]; in slc_ecc_copy_to_buffer() 422 uint32_t *eccpos = chip->ecc.layout->eccpos; in lpc32xx_read_page_hwecc() 433 lpc32xx_dma_read_buf(mtd, p, chip->ecc.size * chip->ecc.steps); in lpc32xx_read_page_hwecc() 437 for (i = 0; i < chip->ecc.total; i++) in lpc32xx_read_page_hwecc() 460 uint32_t *eccpos = chip->ecc.layout->eccpos; in lpc32xx_write_page_hwecc() 470 lpc32xx_dma_write_buf(mtd, p, chip->ecc.size * chip->ecc.steps); in lpc32xx_write_page_hwecc() 473 for (i = 0; i < chip->ecc.total; i++) in lpc32xx_write_page_hwecc() 536 lpc32xx_chip->ecc.mode = NAND_ECC_HW; in board_nand_init() 555 lpc32xx_chip->ecc.mode = NAND_ECC_SOFT; in board_nand_init() [all …]
|
A D | stm32_fmc2_nand.c | 320 u8 *ecc) in stm32_fmc2_nfc_ham_calculate() argument 336 ecc[0] = heccr; in stm32_fmc2_nfc_ham_calculate() 337 ecc[1] = heccr >> 8; in stm32_fmc2_nfc_ham_calculate() 338 ecc[2] = heccr >> 16; in stm32_fmc2_nfc_ham_calculate() 404 u8 *ecc) in stm32_fmc2_nfc_bch_calculate() argument 421 ecc[0] = bchpbr; in stm32_fmc2_nfc_bch_calculate() 422 ecc[1] = bchpbr >> 8; in stm32_fmc2_nfc_bch_calculate() 427 ecc[4] = bchpbr; in stm32_fmc2_nfc_bch_calculate() 428 ecc[5] = bchpbr >> 8; in stm32_fmc2_nfc_bch_calculate() 435 ecc[8] = bchpbr; in stm32_fmc2_nfc_bch_calculate() [all …]
|
A D | octeontx_nand.c | 406 struct nand_ecc_ctrl *ecc = &chip->ecc; in nand_ooblayout_ecc_lp() local 424 struct nand_ecc_ctrl *ecc = &chip->ecc; in nand_ooblayout_free_lp() local 466 layout->eccbytes = nand->ecc.steps * nand->ecc.bytes; in octeontx_nand_calc_ecc_layout() 1529 int i = nand->ecc.size + nand->ecc.bytes; in octeontx_nand_bch_correct() 1773 struct nand_ecc_ctrl *ecc = &nand->ecc; in octeontx_nand_calc_bch_ecc_strength() local 1847 struct nand_ecc_ctrl *ecc = &nand->ecc; in octeontx_nfc_chip_sizing() local 1863 __func__, ecc->steps, ecc->size, ecc->bytes); in octeontx_nfc_chip_sizing() 1868 int nsteps = ecc->steps ? ecc->steps : 1; in octeontx_nfc_chip_sizing() 1870 if (ecc->size && ecc->size != mtd->writesize) in octeontx_nfc_chip_sizing() 1887 if (!mtd->subpage_sft && !(ecc->steps & (ecc->steps - 1))) in octeontx_nfc_chip_sizing() [all …]
|
A D | nand_spl_simple.c | 161 this->ecc.hwctl(mtd, NAND_ECC_READ); in nand_read_page() 163 this->ecc.calculate(mtd, p, &ecc_calc[i]); in nand_read_page() 164 this->ecc.correct(mtd, p, &ecc_code[i], &ecc_calc[i]); in nand_read_page() 185 if (this->ecc.mode != NAND_ECC_SOFT) in nand_read_page() 186 this->ecc.hwctl(mtd, NAND_ECC_READ); in nand_read_page() 188 this->ecc.calculate(mtd, p, &ecc_calc[i]); in nand_read_page() 204 this->ecc.correct(mtd, p, &ecc_code[i], &ecc_calc[i]); in nand_read_page() 223 if (nand_chip.ecc.mode == NAND_ECC_SOFT) { in nand_init() 224 nand_chip.ecc.calculate = nand_calculate_ecc; in nand_init() 225 nand_chip.ecc.correct = nand_correct_data; in nand_init()
|
A D | lpc32xx_nand_mlc.c | 110 } ecc[4]; member 564 lpc32xx_chip.ecc.mode = NAND_ECC_HW; in board_nand_init() 565 lpc32xx_chip.ecc.layout = &lpc32xx_largepage_ecclayout; in board_nand_init() 566 lpc32xx_chip.ecc.size = 512; in board_nand_init() 567 lpc32xx_chip.ecc.bytes = 10; in board_nand_init() 568 lpc32xx_chip.ecc.strength = 4; in board_nand_init() 569 lpc32xx_chip.ecc.read_page = lpc32xx_read_page_hwecc; in board_nand_init() 570 lpc32xx_chip.ecc.read_page_raw = lpc32xx_read_page_raw; in board_nand_init() 571 lpc32xx_chip.ecc.write_page = lpc32xx_write_page_hwecc; in board_nand_init() 573 lpc32xx_chip.ecc.read_oob = lpc32xx_read_oob; in board_nand_init() [all …]
|
A D | denali.c | 295 int ecc_size = chip->ecc.size; in denali_check_erased_page() 300 chip->ecc.total); in denali_check_erased_page() 311 chip->ecc.strength); in denali_check_erased_page() 620 int ecc_size = chip->ecc.size; in denali_oob_xfer() 677 int ecc_size = chip->ecc.size; in denali_read_page_raw() 1118 if (chip->ecc.size && chip->ecc.strength) in denali_ecc_setup() 1168 .ecc = denali_ooblayout_ecc, 1215 chip->ecc.size <<= 1; in denali_multidev_fixup() 1216 chip->ecc.bytes <<= 1; in denali_multidev_fixup() 1217 chip->ecc.strength <<= 1; in denali_multidev_fixup() [all …]
|
A D | cortina_nand.c | 627 step = i / chip->ecc.bytes; in ca_do_bch_decode() 651 chip->ecc.size, in ca_do_bch_decode() 653 chip->ecc.bytes, in ca_do_bch_decode() 655 chip->ecc.strength); in ca_do_bch_decode() 1250 eccoob.eccbytes = mtd->writesize / nand->ecc.size * nand->ecc.bytes; in nand_config_oob_layout() 1254 nand->ecc.strength / 8); in nand_config_oob_layout() 1295 nand->ecc.mode = NAND_ECC_HW; in ca_nand_probe() 1296 nand->ecc.layout = &eccoob; in ca_nand_probe() 1305 nand->ecc.read_oob = nand_read_oob; in ca_nand_probe() 1325 nand->ecc.size = BCH_DATA_UNIT; in ca_nand_probe() [all …]
|
/u-boot/drivers/ddr/marvell/axp/ |
A D | ddr3_pbs.c | 99 u32 ecc; in ddr3_pbs_tx() local 136 for (ecc = 0; ecc < (dram_info->ecc_ena + 1); ecc++) { in ddr3_pbs_tx() 145 if (ecc) { in ddr3_pbs_tx() 166 if (ecc) in ddr3_pbs_tx() 220 ecc)) in ddr3_pbs_tx() 541 u32 ecc; in ddr3_pbs_rx() local 579 for (ecc = 0; ecc < (dram_info->ecc_ena + 1); ecc++) { in ddr3_pbs_rx() 587 if (ecc) { in ddr3_pbs_rx() 608 if (ecc) in ddr3_pbs_rx() 1098 idx = pup * (1 - ecc) + ecc * ECC_PUP; in lock_pups() [all …]
|
A D | ddr3_dqs.c | 156 for (ecc = 0; ecc < (dram_info->ecc_ena + 1); ecc++) { in ddr3_dqs_centralization_rx() 165 if (ecc) in ddr3_dqs_centralization_rx() 237 for (ecc = 0; ecc < (dram_info->ecc_ena + 1); ecc++) { in ddr3_dqs_centralization_tx() 245 if (ecc) in ddr3_dqs_centralization_tx() 322 max_pup = (ecc + (1 - ecc) * dram_info->num_of_std_pups); in ddr3_find_adll_limits() 396 [pup * (1 - ecc) + ecc * ECC_PUP] in ddr3_find_adll_limits() 896 max_pup = (ecc + (1 - ecc) * dram_info->num_of_std_pups); in ddr3_center_calc() 969 max_pup = ecc + (1 - ecc) * dram_info->num_of_std_pups; in ddr3_special_pattern_i_search() 1130 max_pup = (ecc + (1 - ecc) * dram_info->num_of_std_pups); in ddr3_special_pattern_ii_search() 1269 max_pup = (ecc + (1 - ecc) * dram_info->num_of_std_pups); in ddr3_set_dqs_centralization_results() [all …]
|
A D | ddr3_read_leveling.c | 206 for (ecc = 0; ecc <= (dram_info->ecc_ena); ecc++) { in ddr3_read_leveling_sw() 214 if (ecc) in ddr3_read_leveling_sw() 247 ecc, in ddr3_read_leveling_sw() 255 ecc, in ddr3_read_leveling_sw() 421 for (pup = 0; pup < (dram_info->num_of_std_pups * (1 - ecc) + ecc); in ddr3_read_leveling_single_cs_rl_mode() 482 (1 - ecc) + ecc)) { in ddr3_read_leveling_single_cs_rl_mode() 679 (dram_info->num_of_std_pups * (1 - ecc) + ecc); in ddr3_read_leveling_single_cs_rl_mode() 775 for (pup = 0; pup < (dram_info->num_of_std_pups * (1 - ecc) + ecc); in ddr3_read_leveling_single_cs_window_mode() 821 (1 - ecc) + ecc); pup++) { in ddr3_read_leveling_single_cs_window_mode() 909 if (final_sum == (dram_info->num_of_std_pups * (1 - ecc) + ecc)) { in ddr3_read_leveling_single_cs_window_mode() [all …]
|
/u-boot/doc/device-tree-bindings/mtd/ |
A D | stm32-fmc2-nand.txt | 19 - dma-names: Must be "tx", "rx" and "ecc" 28 - nand-ecc-strength: see nand.txt 29 - nand-ecc-step-size: see nand.txt 32 - nand-ecc-strength = <1>, nand-ecc-step-size = <512> (Hamming) 33 - nand-ecc-strength = <4>, nand-ecc-step-size = <512> (BCH4) 34 - nand-ecc-strength = <8>, nand-ecc-step-size = <512> (BCH8) (default)
|
/u-boot/doc/ |
A D | README.mpc83xx.ddrecc | 18 the 'ecc testdw' 'ecc testword' command (see example 'Injecting Multiple-Bit 29 => ecc captureclear 31 => ecc sbecnt 0 39 => ecc injectdatahi 1 47 => ecc status 83 => ecc injectdatahi 1 84 => ecc injectdatalo 1 92 => ecc status 128 => ecc inject en 134 => ecc inject dis [all …]
|
/u-boot/board/ge/common/ |
A D | vpd_reader.c | 52 size_t data_length, const u8 *ecc, size_t ecc_length) in verify_bch() argument 71 int errors = decode_bch(bch, data, data_length, ecc, NULL, NULL, in verify_bch() 159 u8 *ecc = &data[offset]; in vpd_reader() local 161 if (ecc[ID] != ECC_BLOCK_ID || ecc[LEN] < BLOCK_SIZE || in vpd_reader() 162 ecc[LEN] + offset > size || in vpd_reader() 163 ecc[LEN] - BLOCK_SIZE != size_bits / 8 || ecc[VER] != 1 || in vpd_reader() 164 ecc[TYP] != 1) in vpd_reader() 174 ecc[LEN] - BLOCK_SIZE); in vpd_reader()
|
/u-boot/fs/yaffs2/ |
A D | yaffs_tagscompat.c | 36 unsigned ecc = 0; in yaffs_calc_tags_ecc() local 39 tags->ecc = 0; in yaffs_calc_tags_ecc() 45 ecc ^= bit; in yaffs_calc_tags_ecc() 48 tags->ecc = ecc; in yaffs_calc_tags_ecc() 53 unsigned ecc = tags->ecc; in yaffs_check_tags_ecc() local 57 ecc ^= tags->ecc; in yaffs_check_tags_ecc() 59 if (ecc && ecc <= 64) { in yaffs_check_tags_ecc() 63 ecc--; in yaffs_check_tags_ecc() 65 b[ecc / 8] ^= (1 << (ecc & 7)); in yaffs_check_tags_ecc() 71 } else if (ecc) { in yaffs_check_tags_ecc()
|
/u-boot/arch/arm/dts/ |
A D | socfpga_arria10_socdk_sdmmc.dts | 18 sdmmca-ecc@ff8c2c00 { 19 compatible = "altr,socfpga-sdmmc-ecc"; 21 altr,ecc-parent = <&mmc>;
|
A D | socfpga_agilex.dtsi | 555 ocram-ecc@ff8cc000 { 559 altr,ecc-parent = <&ocram>; 563 usb0-ecc@ff8c4000 { 565 "altr,socfpga-usb-ecc"; 567 altr,ecc-parent = <&usb0>; 571 emac0-rx-ecc@ff8c0000 { 575 altr,ecc-parent = <&gmac0>; 579 emac0-tx-ecc@ff8c0400 { 583 altr,ecc-parent = <&gmac0>; 587 sdmmca-ecc@ff8c8c00 { [all …]
|