Lines Matching refs:pwm
20 #include <linux/pwm.h>
22 #include "pwm-dwc.h"
24 static void __dwc_pwm_set_enable(struct dwc_pwm *dwc, int pwm, int enabled)
28 reg = dwc_pwm_readl(dwc, DWC_TIM_CTRL(pwm));
35 dwc_pwm_writel(dwc, reg, DWC_TIM_CTRL(pwm));
39 struct pwm_device *pwm,
70 __dwc_pwm_set_enable(dwc, pwm->hwpwm, false);
78 dwc_pwm_writel(dwc, low, DWC_TIM_LD_CNT(pwm->hwpwm));
79 dwc_pwm_writel(dwc, high, DWC_TIM_LD_CNT2(pwm->hwpwm));
88 dwc_pwm_writel(dwc, ctrl, DWC_TIM_CTRL(pwm->hwpwm));
93 __dwc_pwm_set_enable(dwc, pwm->hwpwm, state->enabled);
98 static int dwc_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
107 if (!pwm->state.enabled)
109 return __dwc_pwm_configure_timer(dwc, pwm, state);
111 if (pwm->state.enabled) {
112 __dwc_pwm_set_enable(dwc, pwm->hwpwm, false);
120 static int dwc_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
129 ctrl = dwc_pwm_readl(dwc, DWC_TIM_CTRL(pwm->hwpwm));
130 ld = dwc_pwm_readl(dwc, DWC_TIM_LD_CNT(pwm->hwpwm));
131 ld2 = dwc_pwm_readl(dwc, DWC_TIM_LD_CNT2(pwm->hwpwm));