Lines Matching defs:pwm
13 #include <linux/pwm.h>
64 static void zx_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
73 value = zx_pwm_readl(zpc, pwm->hwpwm, ZX_PWM_MODE);
88 tmp = zx_pwm_readl(zpc, pwm->hwpwm, ZX_PWM_PERIOD);
92 tmp = zx_pwm_readl(zpc, pwm->hwpwm, ZX_PWM_DUTY);
97 static int zx_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm,
133 if (pwm_is_enabled(pwm))
134 zx_pwm_set_mask(zpc, pwm->hwpwm, ZX_PWM_MODE, ZX_PWM_EN, 0);
137 zx_pwm_set_mask(zpc, pwm->hwpwm, ZX_PWM_MODE, ZX_PWM_CLKDIV_MASK,
139 zx_pwm_writel(zpc, pwm->hwpwm, ZX_PWM_PERIOD, period_cycles);
140 zx_pwm_writel(zpc, pwm->hwpwm, ZX_PWM_DUTY, duty_cycles);
143 if (pwm_is_enabled(pwm))
144 zx_pwm_set_mask(zpc, pwm->hwpwm, ZX_PWM_MODE,
150 static int zx_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
157 pwm_get_state(pwm, &cstate);
160 zx_pwm_set_mask(zpc, pwm->hwpwm, ZX_PWM_MODE, ZX_PWM_POLAR,
166 ret = zx_pwm_config(chip, pwm, state->duty_cycle,
178 zx_pwm_set_mask(zpc, pwm->hwpwm, ZX_PWM_MODE,
181 zx_pwm_set_mask(zpc, pwm->hwpwm, ZX_PWM_MODE,
262 { .compatible = "zte,zx296718-pwm", },
269 .name = "zx-pwm",
277 MODULE_ALIAS("platform:zx-pwm");