Lines Matching refs:atmel

11 #include <linux/mfd/atmel-hlcdc.h>
45 struct atmel_hlcdc_pwm *atmel = to_atmel_hlcdc_pwm(chip);
46 struct atmel_hlcdc *hlcdc = atmel->hlcdc;
58 if (!atmel->errata || !atmel->errata->slow_clk_erratum) {
68 if ((atmel->errata && atmel->errata->slow_clk_erratum) ||
81 if (!pres && atmel->errata &&
82 atmel->errata->div1_clk_erratum)
94 if (new_clk != atmel->cur_clk) {
102 clk_disable_unprepare(atmel->cur_clk);
103 atmel->cur_clk = new_clk;
164 clk_disable_unprepare(atmel->cur_clk);
165 atmel->cur_clk = NULL;
187 struct atmel_hlcdc_pwm *atmel = dev_get_drvdata(dev);
190 if (!pwm_is_enabled(&atmel->chip.pwms[0]))
191 clk_disable_unprepare(atmel->hlcdc->periph_clk);
198 struct atmel_hlcdc_pwm *atmel = dev_get_drvdata(dev);
202 pwm_get_state(&atmel->chip.pwms[0], &state);
206 ret = clk_prepare_enable(atmel->hlcdc->periph_clk);
211 return atmel_hlcdc_pwm_apply(&atmel->chip, &atmel->chip.pwms[0],
221 .compatible = "atmel,at91sam9n12-hlcdc",
226 .compatible = "atmel,at91sam9x5-hlcdc",
230 .compatible = "atmel,sama5d2-hlcdc",
233 .compatible = "atmel,sama5d3-hlcdc",
237 .compatible = "atmel,sama5d4-hlcdc",
249 struct atmel_hlcdc_pwm *atmel;
255 atmel = devm_kzalloc(dev, sizeof(*atmel), GFP_KERNEL);
256 if (!atmel)
265 atmel->errata = match->data;
267 atmel->hlcdc = hlcdc;
268 atmel->chip.ops = &atmel_hlcdc_pwm_ops;
269 atmel->chip.dev = dev;
270 atmel->chip.npwm = 1;
272 ret = pwmchip_add(&atmel->chip);
278 platform_set_drvdata(pdev, atmel);
285 struct atmel_hlcdc_pwm *atmel = platform_get_drvdata(pdev);
287 pwmchip_remove(&atmel->chip);
289 clk_disable_unprepare(atmel->hlcdc->periph_clk);
293 { .compatible = "atmel,hlcdc-pwm" },
299 .name = "atmel-hlcdc-pwm",
308 MODULE_ALIAS("platform:atmel-hlcdc-pwm");