Lines Matching refs:dlyb

257 static void sdmmc_dlyb_input_ck(struct sdmmc_dlyb *dlyb)  in sdmmc_dlyb_input_ck()  argument
259 if (!dlyb || !dlyb->base) in sdmmc_dlyb_input_ck()
263 writel_relaxed(0, dlyb->base + DLYB_CR); in sdmmc_dlyb_input_ck()
269 struct sdmmc_dlyb *dlyb = host->variant_priv; in mmci_sdmmc_set_pwrreg() local
274 sdmmc_dlyb_input_ck(dlyb); in mmci_sdmmc_set_pwrreg()
371 static void sdmmc_dlyb_set_cfgr(struct sdmmc_dlyb *dlyb, in sdmmc_dlyb_set_cfgr() argument
376 writel_relaxed(DLYB_CR_SEN | DLYB_CR_DEN, dlyb->base + DLYB_CR); in sdmmc_dlyb_set_cfgr()
380 writel_relaxed(cfgr, dlyb->base + DLYB_CFGR); in sdmmc_dlyb_set_cfgr()
383 writel_relaxed(DLYB_CR_DEN, dlyb->base + DLYB_CR); in sdmmc_dlyb_set_cfgr()
388 struct sdmmc_dlyb *dlyb = host->variant_priv; in sdmmc_dlyb_lng_tuning() local
393 sdmmc_dlyb_set_cfgr(dlyb, i, DLYB_CFGR_SEL_MAX, true); in sdmmc_dlyb_lng_tuning()
395 ret = readl_relaxed_poll_timeout(dlyb->base + DLYB_CFGR, cfgr, in sdmmc_dlyb_lng_tuning()
413 dlyb->unit = i; in sdmmc_dlyb_lng_tuning()
414 dlyb->max = __fls(lng); in sdmmc_dlyb_lng_tuning()
421 struct sdmmc_dlyb *dlyb = host->variant_priv; in sdmmc_dlyb_phase_tuning() local
425 for (phase = 0; phase <= dlyb->max; phase++) { in sdmmc_dlyb_phase_tuning()
426 sdmmc_dlyb_set_cfgr(dlyb, dlyb->unit, phase, false); in sdmmc_dlyb_phase_tuning()
444 writel_relaxed(0, dlyb->base + DLYB_CR); in sdmmc_dlyb_phase_tuning()
447 sdmmc_dlyb_set_cfgr(dlyb, dlyb->unit, phase, false); in sdmmc_dlyb_phase_tuning()
450 dlyb->unit, dlyb->max, phase); in sdmmc_dlyb_phase_tuning()
458 struct sdmmc_dlyb *dlyb = host->variant_priv; in sdmmc_execute_tuning() local
460 if (!dlyb || !dlyb->base) in sdmmc_execute_tuning()
526 struct sdmmc_dlyb *dlyb; in sdmmc_variant_init() local
535 dlyb = devm_kzalloc(mmc_dev(host->mmc), sizeof(*dlyb), GFP_KERNEL); in sdmmc_variant_init()
536 if (!dlyb) in sdmmc_variant_init()
539 dlyb->base = base_dlyb; in sdmmc_variant_init()
540 host->variant_priv = dlyb; in sdmmc_variant_init()