| /openbmc/u-boot/lib/ |
| H A D | bch.c | 161 static void encode_bch_unaligned(struct bch_control *bch, in encode_bch_unaligned() argument 167 const int l = BCH_ECC_WORDS(bch)-1; in encode_bch_unaligned() 170 p = bch->mod8_tab + (l+1)*(((ecc[0] >> 24)^(*data++)) & 0xff); in encode_bch_unaligned() 182 static void load_ecc8(struct bch_control *bch, uint32_t *dst, in load_ecc8() argument 186 unsigned int i, nwords = BCH_ECC_WORDS(bch)-1; in load_ecc8() 191 memcpy(pad, src, BCH_ECC_BYTES(bch)-4*nwords); in load_ecc8() 198 static void store_ecc8(struct bch_control *bch, uint8_t *dst, in store_ecc8() argument 202 unsigned int i, nwords = BCH_ECC_WORDS(bch)-1; in store_ecc8() 214 memcpy(dst, pad, BCH_ECC_BYTES(bch)-4*nwords); in store_ecc8() 231 void encode_bch(struct bch_control *bch, const uint8_t *data, in encode_bch() argument [all …]
|
| H A D | Makefile | 86 obj-$(CONFIG_BCH) += bch.o
|
| H A D | Kconfig | 6 Enables software based BCH ECC algorithm present in lib/bch.c
|
| /openbmc/u-boot/drivers/mtd/nand/raw/ |
| H A D | nand_bch.c | 29 struct bch_control *bch; member 49 encode_bch(nbc->bch, buf, chip->ecc.size, code); in nand_bch_calculate_ecc() 75 count = decode_bch(nbc->bch, NULL, chip->ecc.size, read_ecc, calc_ecc, in nand_bch_correct_data() 138 nbc->bch = init_bch(m, t, 0); in nand_bch_init() 139 if (!nbc->bch) in nand_bch_init() 143 if (nbc->bch->ecc_bytes != eccbytes) { in nand_bch_init() 145 eccbytes, nbc->bch->ecc_bytes); in nand_bch_init() 204 encode_bch(nbc->bch, erased_page, eccsize, nbc->eccmask); in nand_bch_init() 226 free_bch(nbc->bch); in nand_bch_free()
|
| H A D | arasan_nfc.c | 164 u8 bch; member 1159 (ecc_matrix[found].bch << ARASAN_NAND_ECC_BCH_SHIFT); in arasan_nand_ecc_init() 1162 if (ecc_matrix[found].bch) { in arasan_nand_ecc_init()
|
| /openbmc/u-boot/include/linux/ |
| H A D | bch.h | 58 void free_bch(struct bch_control *bch); 60 void encode_bch(struct bch_control *bch, const uint8_t *data, 63 int decode_bch(struct bch_control *bch, const uint8_t *data, unsigned int len,
|
| /openbmc/u-boot/board/ge/common/ |
| H A D | vpd_reader.c | 55 struct bch_control *bch = init_bch(gfo, ecc_bits, prim_poly); in verify_bch() local 57 if (!bch) in verify_bch() 60 if (bch->ecc_bytes != ecc_length) { in verify_bch() 61 free_bch(bch); in verify_bch() 67 int errors = decode_bch(bch, data, data_length, ecc, NULL, NULL, in verify_bch() 70 free_bch(bch); in verify_bch()
|
| /openbmc/u-boot/arch/mips/dts/ |
| H A D | ci20.dts | 58 ingenic,bch-controller = <&bch>; 108 &bch {
|
| H A D | jz4780.dtsi | 156 bch: bch@134d0000 { label 157 compatible = "ingenic,jz4780-bch";
|
| /openbmc/u-boot/tools/ |
| H A D | sunxi-spl-image-builder.c | 115 struct bch_control *bch, int page) in write_page() argument 216 encode_bch(bch, buffer, info->ecc_step_size + 4, ecc); in write_page() 241 struct bch_control *bch; in create_image() local 245 bch = init_bch(14, info->ecc_strength, BCH_PRIMITIVE_POLY); in create_image() 246 if (!bch) { in create_image() 281 ret = write_page(info, buffer, src, rnd, dst, bch, page++); in create_image()
|
| /openbmc/u-boot/doc/ |
| H A D | README.omap3 | 152 OMAP3 devices we can use the BCH library in lib/bch.c. To do so add CONFIG_BCH
|
| /openbmc/u-boot/arch/arm/dts/ |
| H A D | imx6ul.dtsi | 168 reg-names = "gpmi-nand", "bch"; 170 interrupt-names = "bch";
|
| H A D | imx7s.dtsi | 1139 reg-names = "gpmi-nand", "bch"; 1141 interrupt-names = "bch";
|
| H A D | imx6qdl.dtsi | 167 reg-names = "gpmi-nand", "bch"; 169 interrupt-names = "bch";
|
| H A D | imx6ull.dtsi | 197 reg-names = "gpmi-nand", "bch"; 199 interrupt-names = "bch";
|
| H A D | imx6sx.dtsi | 192 reg-names = "gpmi-nand", "bch"; 194 interrupt-names = "bch";
|