Lines Matching refs:lpwm

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