Lines Matching refs:chan

49 #define PWM_CONTROL_SMOOTH_SHIFT(chan)		(24 + (chan))  argument
50 #define PWM_CONTROL_TYPE_SHIFT(chan) (16 + (chan)) argument
51 #define PWM_CONTROL_POLARITY_SHIFT(chan) (8 + (chan)) argument
52 #define PWM_CONTROL_TRIGGER_SHIFT(chan) (chan) argument
55 #define PRESCALE_SHIFT(chan) ((chan) << 2) argument
56 #define PRESCALE_MASK(chan) (0x7 << PRESCALE_SHIFT(chan)) argument
60 #define PERIOD_COUNT_OFFSET(chan) (0x00000008 + ((chan) << 3)) argument
64 #define DUTY_CYCLE_HIGH_OFFSET(chan) (0x0000000c + ((chan) << 3)) argument
83 unsigned int chan) in kona_pwmc_prepare_for_settings() argument
87 value |= 1 << PWM_CONTROL_SMOOTH_SHIFT(chan); in kona_pwmc_prepare_for_settings()
88 value &= ~(1 << PWM_CONTROL_TRIGGER_SHIFT(chan)); in kona_pwmc_prepare_for_settings()
98 static void kona_pwmc_apply_settings(struct kona_pwmc *kp, unsigned int chan) in kona_pwmc_apply_settings() argument
103 value &= ~(1 << PWM_CONTROL_SMOOTH_SHIFT(chan)); in kona_pwmc_apply_settings()
104 value |= 1 << PWM_CONTROL_TRIGGER_SHIFT(chan); in kona_pwmc_apply_settings()
117 unsigned int value, chan = pwm->hwpwm; in kona_pwmc_config() local
159 kona_pwmc_prepare_for_settings(kp, chan); in kona_pwmc_config()
162 value &= ~PRESCALE_MASK(chan); in kona_pwmc_config()
163 value |= prescale << PRESCALE_SHIFT(chan); in kona_pwmc_config()
166 writel(pc, kp->base + PERIOD_COUNT_OFFSET(chan)); in kona_pwmc_config()
168 writel(dc, kp->base + DUTY_CYCLE_HIGH_OFFSET(chan)); in kona_pwmc_config()
170 kona_pwmc_apply_settings(kp, chan); in kona_pwmc_config()
180 unsigned int chan = pwm->hwpwm; in kona_pwmc_set_polarity() local
190 kona_pwmc_prepare_for_settings(kp, chan); in kona_pwmc_set_polarity()
195 value |= 1 << PWM_CONTROL_POLARITY_SHIFT(chan); in kona_pwmc_set_polarity()
197 value &= ~(1 << PWM_CONTROL_POLARITY_SHIFT(chan)); in kona_pwmc_set_polarity()
201 kona_pwmc_apply_settings(kp, chan); in kona_pwmc_set_polarity()
232 unsigned int chan = pwm->hwpwm; in kona_pwmc_disable() local
235 kona_pwmc_prepare_for_settings(kp, chan); in kona_pwmc_disable()
238 writel(0, kp->base + DUTY_CYCLE_HIGH_OFFSET(chan)); in kona_pwmc_disable()
239 writel(0, kp->base + PERIOD_COUNT_OFFSET(chan)); in kona_pwmc_disable()
243 value &= ~PRESCALE_MASK(chan); in kona_pwmc_disable()
246 kona_pwmc_apply_settings(kp, chan); in kona_pwmc_disable()
263 unsigned int chan; in kona_pwmc_probe() local
300 for (chan = 0; chan < kp->chip.npwm; chan++) in kona_pwmc_probe()
301 value |= (1 << PWM_CONTROL_TYPE_SHIFT(chan)); in kona_pwmc_probe()
317 unsigned int chan; in kona_pwmc_remove() local
319 for (chan = 0; chan < kp->chip.npwm; chan++) in kona_pwmc_remove()
320 if (pwm_is_enabled(&kp->chip.pwms[chan])) in kona_pwmc_remove()