Symbol: anand
drivers/mtd/nand/raw/arasan-nand-controller.c
1000
anand->timings = 0;
drivers/mtd/nand/raw/arasan-nand-controller.c
1002
anand->data_iface = DIFACE_NVDDR |
drivers/mtd/nand/raw/arasan-nand-controller.c
1038
anand->timings = tccs_min | fast_tcad |
drivers/mtd/nand/raw/arasan-nand-controller.c
1044
anand->clk = ANFC_XLNX_SDR_DFLT_CORE_CLK;
drivers/mtd/nand/raw/arasan-nand-controller.c
1047
anand->clk = div_u64((u64)NSEC_PER_SEC * 1000,
drivers/mtd/nand/raw/arasan-nand-controller.c
1059
anand->clk = ANFC_XLNX_SDR_HS_CORE_CLK;
drivers/mtd/nand/raw/arasan-nand-controller.c
1110
struct anand *anand = to_anand(chip);
drivers/mtd/nand/raw/arasan-nand-controller.c
1134
anand->strength = 0x1;
drivers/mtd/nand/raw/arasan-nand-controller.c
1137
anand->strength = 0x2;
drivers/mtd/nand/raw/arasan-nand-controller.c
1140
anand->strength = 0x3;
drivers/mtd/nand/raw/arasan-nand-controller.c
1143
anand->strength = 0x4;
drivers/mtd/nand/raw/arasan-nand-controller.c
1168
anand->ecc_bits = bch_gf_mag * ecc->strength;
drivers/mtd/nand/raw/arasan-nand-controller.c
1169
ecc->bytes = DIV_ROUND_UP(anand->ecc_bits, 8);
drivers/mtd/nand/raw/arasan-nand-controller.c
1170
anand->ecc_total = DIV_ROUND_UP(anand->ecc_bits * ecc->steps, 8);
drivers/mtd/nand/raw/arasan-nand-controller.c
1171
ecc_offset = mtd->writesize + mtd->oobsize - anand->ecc_total;
drivers/mtd/nand/raw/arasan-nand-controller.c
1172
anand->ecc_conf = ECC_CONF_COL(ecc_offset) |
drivers/mtd/nand/raw/arasan-nand-controller.c
1173
ECC_CONF_LEN(anand->ecc_total) |
drivers/mtd/nand/raw/arasan-nand-controller.c
1176
anand->errloc = devm_kmalloc_array(nfc->dev, ecc->strength,
drivers/mtd/nand/raw/arasan-nand-controller.c
1177
sizeof(*anand->errloc), GFP_KERNEL);
drivers/mtd/nand/raw/arasan-nand-controller.c
1178
if (!anand->errloc)
drivers/mtd/nand/raw/arasan-nand-controller.c
1181
anand->hw_ecc = devm_kmalloc(nfc->dev, ecc->bytes, GFP_KERNEL);
drivers/mtd/nand/raw/arasan-nand-controller.c
1182
if (!anand->hw_ecc)
drivers/mtd/nand/raw/arasan-nand-controller.c
1186
anand->bch = bch_init(bch_gf_mag, ecc->strength, bch_prim_poly, true);
drivers/mtd/nand/raw/arasan-nand-controller.c
1187
if (!anand->bch)
drivers/mtd/nand/raw/arasan-nand-controller.c
1198
struct anand *anand = to_anand(chip);
drivers/mtd/nand/raw/arasan-nand-controller.c
1204
anand->caddr_cycles = 1;
drivers/mtd/nand/raw/arasan-nand-controller.c
1206
anand->caddr_cycles = 2;
drivers/mtd/nand/raw/arasan-nand-controller.c
1209
anand->raddr_cycles = 3;
drivers/mtd/nand/raw/arasan-nand-controller.c
1211
anand->raddr_cycles = 2;
drivers/mtd/nand/raw/arasan-nand-controller.c
1215
anand->page_sz = 0;
drivers/mtd/nand/raw/arasan-nand-controller.c
1218
anand->page_sz = 5;
drivers/mtd/nand/raw/arasan-nand-controller.c
1221
anand->page_sz = 1;
drivers/mtd/nand/raw/arasan-nand-controller.c
1224
anand->page_sz = 2;
drivers/mtd/nand/raw/arasan-nand-controller.c
1227
anand->page_sz = 3;
drivers/mtd/nand/raw/arasan-nand-controller.c
1230
anand->page_sz = 4;
drivers/mtd/nand/raw/arasan-nand-controller.c
1259
struct anand *anand = to_anand(chip);
drivers/mtd/nand/raw/arasan-nand-controller.c
1261
if (anand->bch)
drivers/mtd/nand/raw/arasan-nand-controller.c
1262
bch_free(anand->bch);
drivers/mtd/nand/raw/arasan-nand-controller.c
1274
struct anand *anand;
drivers/mtd/nand/raw/arasan-nand-controller.c
1279
anand = devm_kzalloc(nfc->dev, sizeof(*anand), GFP_KERNEL);
drivers/mtd/nand/raw/arasan-nand-controller.c
1280
if (!anand)
drivers/mtd/nand/raw/arasan-nand-controller.c
1284
anand->ncs_idx = of_property_count_elems_of_size(np, "reg", sizeof(u32));
drivers/mtd/nand/raw/arasan-nand-controller.c
1285
if (anand->ncs_idx <= 0 || anand->ncs_idx > nfc->ncs) {
drivers/mtd/nand/raw/arasan-nand-controller.c
1290
anand->cs_idx = devm_kcalloc(nfc->dev, anand->ncs_idx,
drivers/mtd/nand/raw/arasan-nand-controller.c
1291
sizeof(*anand->cs_idx), GFP_KERNEL);
drivers/mtd/nand/raw/arasan-nand-controller.c
1292
if (!anand->cs_idx)
drivers/mtd/nand/raw/arasan-nand-controller.c
1295
for (i = 0; i < anand->ncs_idx; i++) {
drivers/mtd/nand/raw/arasan-nand-controller.c
1297
&anand->cs_idx[i]);
drivers/mtd/nand/raw/arasan-nand-controller.c
1314
anand->rb = rb;
drivers/mtd/nand/raw/arasan-nand-controller.c
1316
chip = &anand->chip;
drivers/mtd/nand/raw/arasan-nand-controller.c
1329
ret = nand_scan(chip, anand->ncs_idx);
drivers/mtd/nand/raw/arasan-nand-controller.c
1341
list_add_tail(&anand->node, &nfc->chips);
drivers/mtd/nand/raw/arasan-nand-controller.c
1348
struct anand *anand, *tmp;
drivers/mtd/nand/raw/arasan-nand-controller.c
1352
list_for_each_entry_safe(anand, tmp, &nfc->chips, node) {
drivers/mtd/nand/raw/arasan-nand-controller.c
1353
chip = &anand->chip;
drivers/mtd/nand/raw/arasan-nand-controller.c
1357
list_del(&anand->node);
drivers/mtd/nand/raw/arasan-nand-controller.c
224
static struct anand *to_anand(struct nand_chip *nand)
drivers/mtd/nand/raw/arasan-nand-controller.c
226
return container_of(nand, struct anand, chip);
drivers/mtd/nand/raw/arasan-nand-controller.c
255
struct anand *anand = to_anand(chip);
drivers/mtd/nand/raw/arasan-nand-controller.c
261
val & BIT(anand->rb),
drivers/mtd/nand/raw/arasan-nand-controller.c
309
static int anfc_relative_to_absolute_cs(struct anand *anand, int num)
drivers/mtd/nand/raw/arasan-nand-controller.c
311
return anand->cs_idx[num];
drivers/mtd/nand/raw/arasan-nand-controller.c
337
struct anand *anand = to_anand(chip);
drivers/mtd/nand/raw/arasan-nand-controller.c
339
unsigned int nfc_cs_idx = anfc_relative_to_absolute_cs(anand, target);
drivers/mtd/nand/raw/arasan-nand-controller.c
345
writel_relaxed(anand->data_iface, nfc->base + DATA_INTERFACE_REG);
drivers/mtd/nand/raw/arasan-nand-controller.c
346
writel_relaxed(anand->timings, nfc->base + TIMING_REG);
drivers/mtd/nand/raw/arasan-nand-controller.c
349
if (nfc->cur_clk != anand->clk) {
drivers/mtd/nand/raw/arasan-nand-controller.c
351
ret = clk_set_rate(nfc->bus_clk, anand->clk);
drivers/mtd/nand/raw/arasan-nand-controller.c
364
nfc->cur_clk = anand->clk;
drivers/mtd/nand/raw/arasan-nand-controller.c
397
struct anand *anand = to_anand(chip);
drivers/mtd/nand/raw/arasan-nand-controller.c
407
(page & 0xFF) << (8 * (anand->caddr_cycles)) |
drivers/mtd/nand/raw/arasan-nand-controller.c
408
(((page >> 8) & 0xFF) << (8 * (1 + anand->caddr_cycles))),
drivers/mtd/nand/raw/arasan-nand-controller.c
411
ADDR2_STRENGTH(anand->strength) |
drivers/mtd/nand/raw/arasan-nand-controller.c
416
CMD_PAGE_SIZE(anand->page_sz) |
drivers/mtd/nand/raw/arasan-nand-controller.c
418
CMD_NADDRS(anand->caddr_cycles +
drivers/mtd/nand/raw/arasan-nand-controller.c
419
anand->raddr_cycles),
drivers/mtd/nand/raw/arasan-nand-controller.c
458
memset(anand->hw_ecc, 0, chip->ecc.bytes);
drivers/mtd/nand/raw/arasan-nand-controller.c
459
nand_extract_bits(anand->hw_ecc, 0,
drivers/mtd/nand/raw/arasan-nand-controller.c
460
&chip->oob_poi[mtd->oobsize - anand->ecc_total],
drivers/mtd/nand/raw/arasan-nand-controller.c
461
anand->ecc_bits * step, anand->ecc_bits);
drivers/mtd/nand/raw/arasan-nand-controller.c
463
bf = bch_decode(anand->bch, raw_buf, chip->ecc.size,
drivers/mtd/nand/raw/arasan-nand-controller.c
464
anand->hw_ecc, NULL, NULL, anand->errloc);
drivers/mtd/nand/raw/arasan-nand-controller.c
470
if (anand->errloc[i] < (chip->ecc.size * 8)) {
drivers/mtd/nand/raw/arasan-nand-controller.c
471
bit = BIT(anand->errloc[i] & 7);
drivers/mtd/nand/raw/arasan-nand-controller.c
472
byte = anand->errloc[i] >> 3;
drivers/mtd/nand/raw/arasan-nand-controller.c
484
anand->hw_ecc, chip->ecc.bytes, NULL, 0,
drivers/mtd/nand/raw/arasan-nand-controller.c
513
struct anand *anand = to_anand(chip);
drivers/mtd/nand/raw/arasan-nand-controller.c
525
(page & 0xFF) << (8 * (anand->caddr_cycles)) |
drivers/mtd/nand/raw/arasan-nand-controller.c
526
(((page >> 8) & 0xFF) << (8 * (1 + anand->caddr_cycles))),
drivers/mtd/nand/raw/arasan-nand-controller.c
529
ADDR2_STRENGTH(anand->strength) |
drivers/mtd/nand/raw/arasan-nand-controller.c
534
CMD_PAGE_SIZE(anand->page_sz) |
drivers/mtd/nand/raw/arasan-nand-controller.c
536
CMD_NADDRS(anand->caddr_cycles +
drivers/mtd/nand/raw/arasan-nand-controller.c
537
anand->raddr_cycles) |
drivers/mtd/nand/raw/arasan-nand-controller.c
542
writel_relaxed(anand->ecc_conf, nfc->base + ECC_CONF_REG);
drivers/mtd/nand/raw/arasan-nand-controller.c
544
ECC_SP_ADDRS(anand->caddr_cycles),
drivers/mtd/nand/raw/arasan-nand-controller.c
600
struct anand *anand = to_anand(chip);
drivers/mtd/nand/raw/arasan-nand-controller.c
608
nfc_op->cmd_reg = CMD_PAGE_SIZE(anand->page_sz);
drivers/mtd/nand/raw/arasan-nand-controller.c
977
struct anand *anand = to_anand(chip);
drivers/mtd/nand/raw/arasan-nand-controller.c
998
anand->data_iface = DIFACE_SDR |