Lines Matching refs:omap
43 #include <linux/platform_data/dmtimer-omap.h>
55 * corresponding to omap dmtimer.
56 * @dm_timer: Pointer to omap dm timer.
57 * @pdata: Pointer to omap dm timer ops.
58 * @dm_timer_pdev: Pointer to omap dm timer platform device
86 * pwm_omap_dmtimer_start() - Start the pwm omap dm timer in pwm mode
87 * @omap: Pointer to pwm omap dm timer chip
89 static void pwm_omap_dmtimer_start(struct pwm_omap_dmtimer_chip *omap)
99 omap->pdata->enable(omap->dm_timer);
100 omap->pdata->write_counter(omap->dm_timer, DM_TIMER_LOAD_MIN);
101 omap->pdata->disable(omap->dm_timer);
103 omap->pdata->start(omap->dm_timer);
108 * @omap: Pointer to pwm omap dm timer chip
112 static bool pwm_omap_dmtimer_is_enabled(struct pwm_omap_dmtimer_chip *omap)
116 status = omap->pdata->get_pwm_status(omap->dm_timer);
123 * @omap: Pointer to pwm omap dm timer chip
127 static int pwm_omap_dmtimer_polarity(struct pwm_omap_dmtimer_chip *omap)
131 status = omap->pdata->get_pwm_status(omap->dm_timer);
137 * pwm_omap_dmtimer_config() - Update the configuration of pwm omap dm timer
150 struct pwm_omap_dmtimer_chip *omap = to_pwm_omap_dmtimer_chip(chip);
163 fclk = omap->pdata->get_fclk(omap->dm_timer);
226 omap->pdata->set_load(omap->dm_timer, load_value);
227 omap->pdata->set_match(omap->dm_timer, true, match_value);
245 struct pwm_omap_dmtimer_chip *omap = to_pwm_omap_dmtimer_chip(chip);
249 enabled = pwm_omap_dmtimer_is_enabled(omap);
251 omap->pdata->stop(omap->dm_timer);
253 omap->pdata->set_pwm(omap->dm_timer,
259 pwm_omap_dmtimer_start(omap);
263 * pwm_omap_dmtimer_apply() - Changes the state of the pwm omap dm timer.
274 struct pwm_omap_dmtimer_chip *omap = to_pwm_omap_dmtimer_chip(chip);
277 if (pwm_omap_dmtimer_is_enabled(omap) && !state->enabled) {
278 omap->pdata->stop(omap->dm_timer);
282 if (pwm_omap_dmtimer_polarity(omap) != state->polarity)
290 if (!pwm_omap_dmtimer_is_enabled(omap) && state->enabled) {
291 omap->pdata->set_pwm(omap->dm_timer,
296 pwm_omap_dmtimer_start(omap);
313 struct pwm_omap_dmtimer_chip *omap;
370 chip = devm_pwmchip_alloc(&pdev->dev, 1, sizeof(*omap));
375 omap = to_pwm_omap_dmtimer_chip(chip);
377 omap->pdata = pdata;
378 omap->dm_timer = dm_timer;
379 omap->dm_timer_pdev = timer_pdev;
385 if (pm_runtime_active(&omap->dm_timer_pdev->dev))
386 omap->pdata->stop(omap->dm_timer);
389 omap->pdata->set_prescaler(omap->dm_timer, v);
393 omap->pdata->set_source(omap->dm_timer, v);
412 * *omap is allocated using devm_kzalloc,
434 struct pwm_omap_dmtimer_chip *omap = to_pwm_omap_dmtimer_chip(chip);
438 if (pm_runtime_active(&omap->dm_timer_pdev->dev))
439 omap->pdata->stop(omap->dm_timer);
441 omap->pdata->free(omap->dm_timer);
443 put_device(&omap->dm_timer_pdev->dev);
447 {.compatible = "ti,omap-dmtimer-pwm"},
454 .name = "omap-dmtimer-pwm",