Lines Matching defs:pwm
22 #include <linux/pwm.h>
70 static void __dwc_pwm_set_enable(struct dwc_pwm *dwc, int pwm, int enabled)
74 reg = dwc_pwm_readl(dwc, DWC_TIM_CTRL(pwm));
81 dwc_pwm_writel(dwc, reg, DWC_TIM_CTRL(pwm));
85 struct pwm_device *pwm,
116 __dwc_pwm_set_enable(dwc, pwm->hwpwm, false);
124 dwc_pwm_writel(dwc, low, DWC_TIM_LD_CNT(pwm->hwpwm));
125 dwc_pwm_writel(dwc, high, DWC_TIM_LD_CNT2(pwm->hwpwm));
134 dwc_pwm_writel(dwc, ctrl, DWC_TIM_CTRL(pwm->hwpwm));
139 __dwc_pwm_set_enable(dwc, pwm->hwpwm, state->enabled);
144 static int dwc_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
153 if (!pwm->state.enabled)
155 return __dwc_pwm_configure_timer(dwc, pwm, state);
157 if (pwm->state.enabled) {
158 __dwc_pwm_set_enable(dwc, pwm->hwpwm, false);
166 static int dwc_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
175 DWC_TIM_CTRL(pwm->hwpwm)) & DWC_TIM_CTRL_EN);
177 duty = dwc_pwm_readl(dwc, DWC_TIM_LD_CNT(pwm->hwpwm));
182 period = dwc_pwm_readl(dwc, DWC_TIM_LD_CNT2(pwm->hwpwm));
309 .name = "pwm-dwc",