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) in to_img_pwm_chip()
92 static int img_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in img_pwm_config()
97 struct img_pwm_chip *pwm_chip = to_img_pwm_chip(chip); in img_pwm_config() local
98 unsigned int max_timebase = pwm_chip->data->max_timebase; in img_pwm_config()
101 if (period_ns < pwm_chip->min_period_ns || in img_pwm_config()
102 period_ns > pwm_chip->max_period_ns) { in img_pwm_config()
107 input_clk_hz = clk_get_rate(pwm_chip->pwm_clk); in img_pwm_config()
137 val = img_pwm_readl(pwm_chip, PWM_CTRL_CFG); in img_pwm_config()
141 img_pwm_writel(pwm_chip, PWM_CTRL_CFG, val); in img_pwm_config()
145 img_pwm_writel(pwm_chip, PWM_CH_CFG(pwm->hwpwm), val); in img_pwm_config()
153 static int img_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in img_pwm_enable()
156 struct img_pwm_chip *pwm_chip = to_img_pwm_chip(chip); in img_pwm_enable() local
163 val = img_pwm_readl(pwm_chip, PWM_CTRL_CFG); in img_pwm_enable()
165 img_pwm_writel(pwm_chip, PWM_CTRL_CFG, val); in img_pwm_enable()
167 regmap_update_bits(pwm_chip->periph_regs, PERIP_PWM_PDM_CONTROL, in img_pwm_enable()
174 static void img_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in img_pwm_disable()
177 struct img_pwm_chip *pwm_chip = to_img_pwm_chip(chip); in img_pwm_disable() local
179 val = img_pwm_readl(pwm_chip, PWM_CTRL_CFG); in img_pwm_disable()
181 img_pwm_writel(pwm_chip, PWM_CTRL_CFG, val); in img_pwm_disable()
209 struct img_pwm_chip *pwm_chip = dev_get_drvdata(dev); in img_pwm_runtime_suspend() local
211 clk_disable_unprepare(pwm_chip->pwm_clk); in img_pwm_runtime_suspend()
212 clk_disable_unprepare(pwm_chip->sys_clk); in img_pwm_runtime_suspend()
219 struct img_pwm_chip *pwm_chip = dev_get_drvdata(dev); in img_pwm_runtime_resume() local
222 ret = clk_prepare_enable(pwm_chip->sys_clk); in img_pwm_runtime_resume()
228 ret = clk_prepare_enable(pwm_chip->pwm_clk); in img_pwm_runtime_resume()
231 clk_disable_unprepare(pwm_chip->sys_clk); in img_pwm_runtime_resume()
328 struct img_pwm_chip *pwm_chip = platform_get_drvdata(pdev); in img_pwm_remove() local
334 pwmchip_remove(&pwm_chip->chip); in img_pwm_remove()
342 struct img_pwm_chip *pwm_chip = dev_get_drvdata(dev); in img_pwm_suspend() local
351 for (i = 0; i < pwm_chip->chip.npwm; i++) in img_pwm_suspend()
352 pwm_chip->suspend_ch_cfg[i] = img_pwm_readl(pwm_chip, in img_pwm_suspend()
355 pwm_chip->suspend_ctrl_cfg = img_pwm_readl(pwm_chip, PWM_CTRL_CFG); in img_pwm_suspend()
364 struct img_pwm_chip *pwm_chip = dev_get_drvdata(dev); in img_pwm_resume() local
372 for (i = 0; i < pwm_chip->chip.npwm; i++) in img_pwm_resume()
373 img_pwm_writel(pwm_chip, PWM_CH_CFG(i), in img_pwm_resume()
374 pwm_chip->suspend_ch_cfg[i]); in img_pwm_resume()
376 img_pwm_writel(pwm_chip, PWM_CTRL_CFG, pwm_chip->suspend_ctrl_cfg); in img_pwm_resume()
378 for (i = 0; i < pwm_chip->chip.npwm; i++) in img_pwm_resume()
379 if (pwm_chip->suspend_ctrl_cfg & BIT(i)) in img_pwm_resume()
380 regmap_update_bits(pwm_chip->periph_regs, in img_pwm_resume()