Lines Matching refs:tcbpwm
65 struct atmel_tcb_pwm_device *tcbpwm = pwm_get_chip_data(pwm);
67 tcbpwm->polarity = polarity;
76 struct atmel_tcb_pwm_device *tcbpwm;
84 tcbpwm = devm_kzalloc(chip->dev, sizeof(*tcbpwm), GFP_KERNEL);
85 if (!tcbpwm)
90 devm_kfree(chip->dev, tcbpwm);
94 pwm_set_chip_data(pwm, tcbpwm);
95 tcbpwm->polarity = PWM_POLARITY_NORMAL;
96 tcbpwm->duty = 0;
97 tcbpwm->period = 0;
98 tcbpwm->div = 0;
108 tcbpwm->duty =
111 tcbpwm->duty =
114 tcbpwm->div = cmr & ATMEL_TC_TCCLKS;
115 tcbpwm->period = __raw_readl(regs + ATMEL_TC_REG(group, RC));
125 tcbpwmc->pwms[pwm->hwpwm] = tcbpwm;
133 struct atmel_tcb_pwm_device *tcbpwm = pwm_get_chip_data(pwm);
138 devm_kfree(chip->dev, tcbpwm);
144 struct atmel_tcb_pwm_device *tcbpwm = pwm_get_chip_data(pwm);
150 enum pwm_polarity polarity = tcbpwm->polarity;
160 if (tcbpwm->duty == 0)
203 struct atmel_tcb_pwm_device *tcbpwm = pwm_get_chip_data(pwm);
209 enum pwm_polarity polarity = tcbpwm->polarity;
219 if (tcbpwm->duty == 0)
250 if (tcbpwm->duty != tcbpwm->period && tcbpwm->duty > 0) {
264 cmr |= (tcbpwm->div & ATMEL_TC_TCCLKS);
269 __raw_writel(tcbpwm->duty, regs + ATMEL_TC_REG(group, RA));
271 __raw_writel(tcbpwm->duty, regs + ATMEL_TC_REG(group, RB));
273 __raw_writel(tcbpwm->period, regs + ATMEL_TC_REG(group, RC));
287 struct atmel_tcb_pwm_device *tcbpwm = pwm_get_chip_data(pwm);
358 tcbpwm->period = period;
359 tcbpwm->div = i;
360 tcbpwm->duty = duty;
381 struct atmel_tcb_pwm_chip *tcbpwm;
401 tcbpwm = devm_kzalloc(&pdev->dev, sizeof(*tcbpwm), GFP_KERNEL);
402 if (tcbpwm == NULL) {
407 tcbpwm->chip.dev = &pdev->dev;
408 tcbpwm->chip.ops = &atmel_tcb_pwm_ops;
409 tcbpwm->chip.of_xlate = of_pwm_xlate_with_flags;
410 tcbpwm->chip.of_pwm_n_cells = 3;
411 tcbpwm->chip.base = -1;
412 tcbpwm->chip.npwm = NPWM;
413 tcbpwm->tc = tc;
419 spin_lock_init(&tcbpwm->lock);
421 err = pwmchip_add(&tcbpwm->chip);
425 platform_set_drvdata(pdev, tcbpwm);
430 clk_disable_unprepare(tcbpwm->tc->slow_clk);
440 struct atmel_tcb_pwm_chip *tcbpwm = platform_get_drvdata(pdev);
443 clk_disable_unprepare(tcbpwm->tc->slow_clk);
445 err = pwmchip_remove(&tcbpwm->chip);
449 atmel_tc_free(tcbpwm->tc);
463 struct atmel_tcb_pwm_chip *tcbpwm = dev_get_drvdata(dev);
464 void __iomem *base = tcbpwm->tc->regs;
468 struct atmel_tcb_channel *chan = &tcbpwm->bkup[i];
480 struct atmel_tcb_pwm_chip *tcbpwm = dev_get_drvdata(dev);
481 void __iomem *base = tcbpwm->tc->regs;
485 struct atmel_tcb_channel *chan = &tcbpwm->bkup[i];