Lines Matching refs:lpwm

39 	struct pwm_lpss_chip *lpwm = to_lpwm(pwm->chip);  in pwm_lpss_read()  local
41 return readl(lpwm->regs + pwm->hwpwm * PWM_SIZE + PWM); in pwm_lpss_read()
46 struct pwm_lpss_chip *lpwm = to_lpwm(pwm->chip); in pwm_lpss_write() local
48 writel(value, lpwm->regs + pwm->hwpwm * PWM_SIZE + PWM); in pwm_lpss_write()
53 struct pwm_lpss_chip *lpwm = to_lpwm(pwm->chip); in pwm_lpss_wait_for_update() local
54 const void __iomem *addr = lpwm->regs + pwm->hwpwm * PWM_SIZE + PWM; in pwm_lpss_wait_for_update()
82 static void pwm_lpss_prepare(struct pwm_lpss_chip *lpwm, struct pwm_device *pwm, in pwm_lpss_prepare() argument
86 unsigned long c = lpwm->info->clk_rate, base_unit_range; in pwm_lpss_prepare()
96 base_unit_range = BIT(lpwm->info->base_unit_bits); in pwm_lpss_prepare()
123 static int pwm_lpss_prepare_enable(struct pwm_lpss_chip *lpwm, in pwm_lpss_prepare_enable() argument
133 pwm_lpss_prepare(lpwm, pwm, state->duty_cycle, state->period); in pwm_lpss_prepare_enable()
134 pwm_lpss_cond_enable(pwm, lpwm->info->bypass == false); in pwm_lpss_prepare_enable()
139 pwm_lpss_cond_enable(pwm, lpwm->info->bypass == true); in pwm_lpss_prepare_enable()
146 struct pwm_lpss_chip *lpwm = to_lpwm(chip); in pwm_lpss_apply() local
152 ret = pwm_lpss_prepare_enable(lpwm, pwm, state); in pwm_lpss_apply()
156 ret = pwm_lpss_prepare_enable(lpwm, pwm, state); in pwm_lpss_apply()
169 struct pwm_lpss_chip *lpwm = to_lpwm(chip); in pwm_lpss_get_state() local
176 base_unit_range = BIT(lpwm->info->base_unit_bits); in pwm_lpss_get_state()
182 freq = base_unit * lpwm->info->clk_rate; in pwm_lpss_get_state()
208 struct pwm_lpss_chip *lpwm; in pwm_lpss_probe() local
216 lpwm = devm_kzalloc(dev, sizeof(*lpwm), GFP_KERNEL); in pwm_lpss_probe()
217 if (!lpwm) in pwm_lpss_probe()
220 lpwm->regs = devm_ioremap_resource(dev, r); in pwm_lpss_probe()
221 if (IS_ERR(lpwm->regs)) in pwm_lpss_probe()
222 return ERR_CAST(lpwm->regs); in pwm_lpss_probe()
224 lpwm->info = info; in pwm_lpss_probe()
226 c = lpwm->info->clk_rate; in pwm_lpss_probe()
230 lpwm->chip.dev = dev; in pwm_lpss_probe()
231 lpwm->chip.ops = &pwm_lpss_ops; in pwm_lpss_probe()
232 lpwm->chip.base = -1; in pwm_lpss_probe()
233 lpwm->chip.npwm = info->npwm; in pwm_lpss_probe()
235 ret = pwmchip_add(&lpwm->chip); in pwm_lpss_probe()
241 for (i = 0; i < lpwm->info->npwm; i++) { in pwm_lpss_probe()
242 ctrl = pwm_lpss_read(&lpwm->chip.pwms[i]); in pwm_lpss_probe()
247 return lpwm; in pwm_lpss_probe()
251 int pwm_lpss_remove(struct pwm_lpss_chip *lpwm) in pwm_lpss_remove() argument
255 for (i = 0; i < lpwm->info->npwm; i++) { in pwm_lpss_remove()
256 if (pwm_is_enabled(&lpwm->chip.pwms[i])) in pwm_lpss_remove()
257 pm_runtime_put(lpwm->chip.dev); in pwm_lpss_remove()
259 return pwmchip_remove(&lpwm->chip); in pwm_lpss_remove()