Lines Matching defs:ecap_dev
102 struct ecap_cnt_dev *ecap_dev = counter_priv(counter);
106 regmap_read(ecap_dev->regmap, ECAP_ECCTL_REG, ®val);
114 struct ecap_cnt_dev *ecap_dev = counter_priv(counter);
117 regmap_update_bits(ecap_dev->regmap, ECAP_ECCTL_REG, ECAP_EV_MODE_MASK, ev_mode);
123 struct ecap_cnt_dev *ecap_dev = counter_priv(counter);
128 regmap_update_bits(ecap_dev->regmap, ECAP_ECINT_EN_FLG_REG,
132 regmap_update_bits(ecap_dev->regmap, ECAP_ECCTL_REG, ECAP_ECCTL_CFG_MASK,
138 struct ecap_cnt_dev *ecap_dev = counter_priv(counter);
141 regmap_update_bits(ecap_dev->regmap, ECAP_ECCTL_REG, ECAP_ECCTL_EN_MASK, 0);
144 regmap_update_bits(ecap_dev->regmap, ECAP_ECINT_EN_FLG_REG, ECAP_EVT_EN_MASK, 0);
151 struct ecap_cnt_dev *ecap_dev = counter_priv(counter);
155 regmap_read(ecap_dev->regmap, reg, ®val);
163 struct ecap_cnt_dev *ecap_dev = counter_priv(counter);
166 regmap_write(ecap_dev->regmap, reg, val);
228 struct ecap_cnt_dev *ecap_dev = counter_priv(counter);
230 *freq = clk_get_rate(ecap_dev->clk);
239 struct ecap_cnt_dev *ecap_dev = counter_priv(counter);
243 bitval = regmap_test_bits(ecap_dev->regmap, ECAP_ECCTL_REG, ECAP_CAPPOL_BIT(idx));
255 struct ecap_cnt_dev *ecap_dev = counter_priv(counter);
259 regmap_set_bits(ecap_dev->regmap, ECAP_ECCTL_REG, ECAP_CAPPOL_BIT(idx));
261 regmap_clear_bits(ecap_dev->regmap, ECAP_ECCTL_REG, ECAP_CAPPOL_BIT(idx));
291 struct ecap_cnt_dev *ecap_dev = counter_priv(counter);
293 *val = atomic_read(&ecap_dev->nb_ovf);
301 struct ecap_cnt_dev *ecap_dev = counter_priv(counter);
306 atomic_set(&ecap_dev->nb_ovf, val);
322 struct ecap_cnt_dev *ecap_dev = counter_priv(counter);
324 *enable = ecap_dev->enabled;
332 struct ecap_cnt_dev *ecap_dev = counter_priv(counter);
334 mutex_lock(&ecap_dev->lock);
336 if (enable == ecap_dev->enabled)
343 ecap_dev->enabled = enable;
346 mutex_unlock(&ecap_dev->lock);
439 struct ecap_cnt_dev *ecap_dev = counter_priv(counter_dev);
444 regmap_read(ecap_dev->regmap, ECAP_ECINT_EN_FLG_REG, &flg);
456 atomic_inc(&ecap_dev->nb_ovf);
463 regmap_update_bits(ecap_dev->regmap, ECAP_ECINT_CLR_FRC_REG, ECAP_EVT_CLR_MASK, clr);
476 struct ecap_cnt_dev *ecap_dev;
482 counter_dev = devm_counter_alloc(dev, sizeof(*ecap_dev));
494 ecap_dev = counter_priv(counter_dev);
496 mutex_init(&ecap_dev->lock);
498 ecap_dev->clk = devm_clk_get_enabled(dev, "fck");
499 if (IS_ERR(ecap_dev->clk))
500 return dev_err_probe(dev, PTR_ERR(ecap_dev->clk), "failed to get clock\n");
502 clk_rate = clk_get_rate(ecap_dev->clk);
512 ecap_dev->regmap = devm_regmap_init_mmio(dev, mmio_base, &ecap_cnt_regmap_config);
513 if (IS_ERR(ecap_dev->regmap))
514 return dev_err_probe(dev, PTR_ERR(ecap_dev->regmap), "failed to init regmap\n");
543 struct ecap_cnt_dev *ecap_dev = counter_priv(counter_dev);
545 if (ecap_dev->enabled)
554 struct ecap_cnt_dev *ecap_dev = counter_priv(counter_dev);
557 if (ecap_dev->enabled) {
565 ecap_dev->pm_ctx.time_cntr = ecap_cnt_count_get_val(counter_dev, ECAP_TSCNT_REG);
568 ecap_dev->pm_ctx.ev_mode = ecap_cnt_capture_get_evmode(counter_dev);
570 clk_disable(ecap_dev->clk);
578 struct ecap_cnt_dev *ecap_dev = counter_priv(counter_dev);
580 clk_enable(ecap_dev->clk);
582 ecap_cnt_capture_set_evmode(counter_dev, ecap_dev->pm_ctx.ev_mode);
585 if (ecap_dev->enabled) {
586 ecap_cnt_count_set_val(counter_dev, ECAP_TSCNT_REG, ecap_dev->pm_ctx.time_cntr);