Lines Matching refs:pwm_chip

63 	struct pwm_chip	chip;
75 static inline struct img_pwm_chip *to_img_pwm_chip(struct pwm_chip *chip)
92 static int img_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm,
97 struct img_pwm_chip *pwm_chip = to_img_pwm_chip(chip);
98 unsigned int max_timebase = pwm_chip->data->max_timebase;
101 if (period_ns < pwm_chip->min_period_ns ||
102 period_ns > pwm_chip->max_period_ns) {
107 input_clk_hz = clk_get_rate(pwm_chip->pwm_clk);
137 val = img_pwm_readl(pwm_chip, PWM_CTRL_CFG);
141 img_pwm_writel(pwm_chip, PWM_CTRL_CFG, val);
145 img_pwm_writel(pwm_chip, PWM_CH_CFG(pwm->hwpwm), val);
153 static int img_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm)
156 struct img_pwm_chip *pwm_chip = to_img_pwm_chip(chip);
163 val = img_pwm_readl(pwm_chip, PWM_CTRL_CFG);
165 img_pwm_writel(pwm_chip, PWM_CTRL_CFG, val);
167 regmap_update_bits(pwm_chip->periph_regs, PERIP_PWM_PDM_CONTROL,
174 static void img_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm)
177 struct img_pwm_chip *pwm_chip = to_img_pwm_chip(chip);
179 val = img_pwm_readl(pwm_chip, PWM_CTRL_CFG);
181 img_pwm_writel(pwm_chip, PWM_CTRL_CFG, val);
209 struct img_pwm_chip *pwm_chip = dev_get_drvdata(dev);
211 clk_disable_unprepare(pwm_chip->pwm_clk);
212 clk_disable_unprepare(pwm_chip->sys_clk);
219 struct img_pwm_chip *pwm_chip = dev_get_drvdata(dev);
222 ret = clk_prepare_enable(pwm_chip->sys_clk);
228 ret = clk_prepare_enable(pwm_chip->pwm_clk);
231 clk_disable_unprepare(pwm_chip->sys_clk);
331 struct img_pwm_chip *pwm_chip = platform_get_drvdata(pdev);
337 return pwmchip_remove(&pwm_chip->chip);
343 struct img_pwm_chip *pwm_chip = dev_get_drvdata(dev);
352 for (i = 0; i < pwm_chip->chip.npwm; i++)
353 pwm_chip->suspend_ch_cfg[i] = img_pwm_readl(pwm_chip,
356 pwm_chip->suspend_ctrl_cfg = img_pwm_readl(pwm_chip, PWM_CTRL_CFG);
365 struct img_pwm_chip *pwm_chip = dev_get_drvdata(dev);
373 for (i = 0; i < pwm_chip->chip.npwm; i++)
374 img_pwm_writel(pwm_chip, PWM_CH_CFG(i),
375 pwm_chip->suspend_ch_cfg[i]);
377 img_pwm_writel(pwm_chip, PWM_CTRL_CFG, pwm_chip->suspend_ctrl_cfg);
379 for (i = 0; i < pwm_chip->chip.npwm; i++)
380 if (pwm_chip->suspend_ctrl_cfg & BIT(i))
381 regmap_update_bits(pwm_chip->periph_regs,