Lines Matching refs:chan

33 #define REG_TCNTB(chan)			(0x0c + ((chan) * 0xc))
34 #define REG_TCMPB(chan) (0x10 + ((chan) * 0xc))
40 #define TCFG1_SHIFT(chan) (4 * (chan))
50 #define TCON_START(chan) BIT(4 * (chan) + 0)
51 #define TCON_MANUALUPDATE(chan) BIT(4 * (chan) + 1)
52 #define TCON_INVERT(chan) BIT(4 * (chan) + 2)
53 #define _TCON_AUTORELOAD(chan) BIT(4 * (chan) + 3)
54 #define _TCON_AUTORELOAD4(chan) BIT(4 * (chan) + 2)
55 #define TCON_AUTORELOAD(chan) \
56 ((chan < 5) ? _TCON_AUTORELOAD(chan) : _TCON_AUTORELOAD4(chan))
154 static int pwm_samsung_is_tdiv(struct samsung_pwm_chip *chip, unsigned int chan)
160 reg >>= TCFG1_SHIFT(chan);
167 unsigned int chan)
175 if (chan >= 2)
183 unsigned int chan, unsigned long freq)
190 if (!pwm_samsung_is_tdiv(chip, chan)) {
191 clk = (chan < 2) ? chip->tclk0 : chip->tclk1;
199 "tclk of PWM %d is inoperational, using tdiv\n", chan);
202 rate = pwm_samsung_get_tin_rate(chip, chan);
223 pwm_samsung_set_divisor(chip, chan, BIT(div));
321 struct samsung_pwm_channel *chan = pwm_get_chip_data(pwm);
322 u32 tin_ns = chan->tin_ns, tcnt, tcmp, oldtcmp;
331 if (chan->period_ns != period_ns || force_period) {
383 chan->period_ns = period_ns;
384 chan->tin_ns = tin_ns;
385 chan->duty_ns = duty_ns;
557 unsigned int chan;
599 for (chan = 0; chan < SAMSUNG_PWM_NUM; ++chan)
600 if (chip->variant.output_mask & BIT(chan))
601 pwm_samsung_set_invert(chip, chan, true);
642 struct samsung_pwm_channel *chan = pwm_get_chip_data(pwm);
644 if (!chan)
651 if (chan->period_ns) {
652 __pwm_samsung_config(chip, pwm, chan->duty_ns,
653 chan->period_ns, true);