• Home
  • Raw
  • Download

Lines Matching refs:tcbpwm

56 	struct atmel_tcb_pwm_device *tcbpwm = pwm_get_chip_data(pwm);  in atmel_tcb_pwm_set_polarity()  local
58 tcbpwm->polarity = polarity; in atmel_tcb_pwm_set_polarity()
67 struct atmel_tcb_pwm_device *tcbpwm; in atmel_tcb_pwm_request() local
75 tcbpwm = devm_kzalloc(chip->dev, sizeof(*tcbpwm), GFP_KERNEL); in atmel_tcb_pwm_request()
76 if (!tcbpwm) in atmel_tcb_pwm_request()
81 devm_kfree(chip->dev, tcbpwm); in atmel_tcb_pwm_request()
85 pwm_set_chip_data(pwm, tcbpwm); in atmel_tcb_pwm_request()
86 tcbpwm->polarity = PWM_POLARITY_NORMAL; in atmel_tcb_pwm_request()
87 tcbpwm->duty = 0; in atmel_tcb_pwm_request()
88 tcbpwm->period = 0; in atmel_tcb_pwm_request()
89 tcbpwm->div = 0; in atmel_tcb_pwm_request()
99 tcbpwm->duty = in atmel_tcb_pwm_request()
102 tcbpwm->duty = in atmel_tcb_pwm_request()
105 tcbpwm->div = cmr & ATMEL_TC_TCCLKS; in atmel_tcb_pwm_request()
106 tcbpwm->period = __raw_readl(regs + ATMEL_TC_REG(group, RC)); in atmel_tcb_pwm_request()
116 tcbpwmc->pwms[pwm->hwpwm] = tcbpwm; in atmel_tcb_pwm_request()
124 struct atmel_tcb_pwm_device *tcbpwm = pwm_get_chip_data(pwm); in atmel_tcb_pwm_free() local
129 devm_kfree(chip->dev, tcbpwm); in atmel_tcb_pwm_free()
135 struct atmel_tcb_pwm_device *tcbpwm = pwm_get_chip_data(pwm); in atmel_tcb_pwm_disable() local
141 enum pwm_polarity polarity = tcbpwm->polarity; in atmel_tcb_pwm_disable()
151 if (tcbpwm->duty == 0) in atmel_tcb_pwm_disable()
191 struct atmel_tcb_pwm_device *tcbpwm = pwm_get_chip_data(pwm); in atmel_tcb_pwm_enable() local
197 enum pwm_polarity polarity = tcbpwm->polarity; in atmel_tcb_pwm_enable()
207 if (tcbpwm->duty == 0) in atmel_tcb_pwm_enable()
238 if (tcbpwm->duty != tcbpwm->period && tcbpwm->duty > 0) { in atmel_tcb_pwm_enable()
252 cmr |= (tcbpwm->div & ATMEL_TC_TCCLKS); in atmel_tcb_pwm_enable()
257 __raw_writel(tcbpwm->duty, regs + ATMEL_TC_REG(group, RA)); in atmel_tcb_pwm_enable()
259 __raw_writel(tcbpwm->duty, regs + ATMEL_TC_REG(group, RB)); in atmel_tcb_pwm_enable()
261 __raw_writel(tcbpwm->period, regs + ATMEL_TC_REG(group, RC)); in atmel_tcb_pwm_enable()
274 struct atmel_tcb_pwm_device *tcbpwm = pwm_get_chip_data(pwm); in atmel_tcb_pwm_config() local
345 tcbpwm->period = period; in atmel_tcb_pwm_config()
346 tcbpwm->div = i; in atmel_tcb_pwm_config()
347 tcbpwm->duty = duty; in atmel_tcb_pwm_config()
368 struct atmel_tcb_pwm_chip *tcbpwm; in atmel_tcb_pwm_probe() local
388 tcbpwm = devm_kzalloc(&pdev->dev, sizeof(*tcbpwm), GFP_KERNEL); in atmel_tcb_pwm_probe()
389 if (tcbpwm == NULL) { in atmel_tcb_pwm_probe()
395 tcbpwm->chip.dev = &pdev->dev; in atmel_tcb_pwm_probe()
396 tcbpwm->chip.ops = &atmel_tcb_pwm_ops; in atmel_tcb_pwm_probe()
397 tcbpwm->chip.of_xlate = of_pwm_xlate_with_flags; in atmel_tcb_pwm_probe()
398 tcbpwm->chip.of_pwm_n_cells = 3; in atmel_tcb_pwm_probe()
399 tcbpwm->chip.base = -1; in atmel_tcb_pwm_probe()
400 tcbpwm->chip.npwm = NPWM; in atmel_tcb_pwm_probe()
401 tcbpwm->tc = tc; in atmel_tcb_pwm_probe()
407 spin_lock_init(&tcbpwm->lock); in atmel_tcb_pwm_probe()
409 err = pwmchip_add(&tcbpwm->chip); in atmel_tcb_pwm_probe()
413 platform_set_drvdata(pdev, tcbpwm); in atmel_tcb_pwm_probe()
418 clk_disable_unprepare(tcbpwm->tc->slow_clk); in atmel_tcb_pwm_probe()
428 struct atmel_tcb_pwm_chip *tcbpwm = platform_get_drvdata(pdev); in atmel_tcb_pwm_remove() local
431 clk_disable_unprepare(tcbpwm->tc->slow_clk); in atmel_tcb_pwm_remove()
433 err = pwmchip_remove(&tcbpwm->chip); in atmel_tcb_pwm_remove()
437 atmel_tc_free(tcbpwm->tc); in atmel_tcb_pwm_remove()