Home
last modified time | relevance | path

Searched refs:bch (Results 1 – 16 of 16) sorted by relevance

/openbmc/u-boot/lib/
H A Dbch.c161 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 DMakefile86 obj-$(CONFIG_BCH) += bch.o
H A DKconfig6 Enables software based BCH ECC algorithm present in lib/bch.c
/openbmc/u-boot/drivers/mtd/nand/raw/
H A Dnand_bch.c29 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 Darasan_nfc.c164 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 Dbch.h58 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 Dvpd_reader.c55 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 Dci20.dts58 ingenic,bch-controller = <&bch>;
108 &bch {
H A Djz4780.dtsi156 bch: bch@134d0000 { label
157 compatible = "ingenic,jz4780-bch";
/openbmc/u-boot/tools/
H A Dsunxi-spl-image-builder.c115 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 DREADME.omap3152 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 Dimx6ul.dtsi168 reg-names = "gpmi-nand", "bch";
170 interrupt-names = "bch";
H A Dimx7s.dtsi1139 reg-names = "gpmi-nand", "bch";
1141 interrupt-names = "bch";
H A Dimx6qdl.dtsi167 reg-names = "gpmi-nand", "bch";
169 interrupt-names = "bch";
H A Dimx6ull.dtsi197 reg-names = "gpmi-nand", "bch";
199 interrupt-names = "bch";
H A Dimx6sx.dtsi192 reg-names = "gpmi-nand", "bch";
194 interrupt-names = "bch";