• Home
  • Raw
  • Download

Lines Matching refs:pc

69 	struct ecap_pwm_chip *pc = to_ecap_pwm_chip(chip);  in ecap_pwm_config()  local
77 c = pc->clk_rate; in ecap_pwm_config()
86 c = pc->clk_rate; in ecap_pwm_config()
92 pm_runtime_get_sync(pc->chip.dev); in ecap_pwm_config()
94 reg_val = readw(pc->mmio_base + ECCTL2); in ecap_pwm_config()
99 writew(reg_val, pc->mmio_base + ECCTL2); in ecap_pwm_config()
103 writel(duty_cycles, pc->mmio_base + CAP2); in ecap_pwm_config()
104 writel(period_cycles, pc->mmio_base + CAP1); in ecap_pwm_config()
111 writel(duty_cycles, pc->mmio_base + CAP4); in ecap_pwm_config()
112 writel(period_cycles, pc->mmio_base + CAP3); in ecap_pwm_config()
116 reg_val = readw(pc->mmio_base + ECCTL2); in ecap_pwm_config()
119 writew(reg_val, pc->mmio_base + ECCTL2); in ecap_pwm_config()
122 pm_runtime_put_sync(pc->chip.dev); in ecap_pwm_config()
129 struct ecap_pwm_chip *pc = to_ecap_pwm_chip(chip); in ecap_pwm_set_polarity() local
132 pm_runtime_get_sync(pc->chip.dev); in ecap_pwm_set_polarity()
133 reg_val = readw(pc->mmio_base + ECCTL2); in ecap_pwm_set_polarity()
141 writew(reg_val, pc->mmio_base + ECCTL2); in ecap_pwm_set_polarity()
142 pm_runtime_put_sync(pc->chip.dev); in ecap_pwm_set_polarity()
148 struct ecap_pwm_chip *pc = to_ecap_pwm_chip(chip); in ecap_pwm_enable() local
152 pm_runtime_get_sync(pc->chip.dev); in ecap_pwm_enable()
158 reg_val = readw(pc->mmio_base + ECCTL2); in ecap_pwm_enable()
160 writew(reg_val, pc->mmio_base + ECCTL2); in ecap_pwm_enable()
166 struct ecap_pwm_chip *pc = to_ecap_pwm_chip(chip); in ecap_pwm_disable() local
173 reg_val = readw(pc->mmio_base + ECCTL2); in ecap_pwm_disable()
175 writew(reg_val, pc->mmio_base + ECCTL2); in ecap_pwm_disable()
178 pm_runtime_put_sync(pc->chip.dev); in ecap_pwm_disable()
209 struct ecap_pwm_chip *pc; in ecap_pwm_probe() local
217 pc = devm_kzalloc(&pdev->dev, sizeof(*pc), GFP_KERNEL); in ecap_pwm_probe()
218 if (!pc) { in ecap_pwm_probe()
229 pc->clk_rate = clk_get_rate(clk); in ecap_pwm_probe()
230 if (!pc->clk_rate) { in ecap_pwm_probe()
235 pc->chip.dev = &pdev->dev; in ecap_pwm_probe()
236 pc->chip.ops = &ecap_pwm_ops; in ecap_pwm_probe()
237 pc->chip.of_xlate = of_pwm_xlate_with_flags; in ecap_pwm_probe()
238 pc->chip.of_pwm_n_cells = 3; in ecap_pwm_probe()
239 pc->chip.base = -1; in ecap_pwm_probe()
240 pc->chip.npwm = 1; in ecap_pwm_probe()
243 pc->mmio_base = devm_ioremap_resource(&pdev->dev, r); in ecap_pwm_probe()
244 if (IS_ERR(pc->mmio_base)) in ecap_pwm_probe()
245 return PTR_ERR(pc->mmio_base); in ecap_pwm_probe()
247 ret = pwmchip_add(&pc->chip); in ecap_pwm_probe()
266 platform_set_drvdata(pdev, pc); in ecap_pwm_probe()
272 pwmchip_remove(&pc->chip); in ecap_pwm_probe()
278 struct ecap_pwm_chip *pc = platform_get_drvdata(pdev); in ecap_pwm_remove() local
290 return pwmchip_remove(&pc->chip); in ecap_pwm_remove()
293 static void ecap_pwm_save_context(struct ecap_pwm_chip *pc) in ecap_pwm_save_context() argument
295 pm_runtime_get_sync(pc->chip.dev); in ecap_pwm_save_context()
296 pc->ctx.ecctl2 = readw(pc->mmio_base + ECCTL2); in ecap_pwm_save_context()
297 pc->ctx.cap4 = readl(pc->mmio_base + CAP4); in ecap_pwm_save_context()
298 pc->ctx.cap3 = readl(pc->mmio_base + CAP3); in ecap_pwm_save_context()
299 pm_runtime_put_sync(pc->chip.dev); in ecap_pwm_save_context()
302 static void ecap_pwm_restore_context(struct ecap_pwm_chip *pc) in ecap_pwm_restore_context() argument
304 writel(pc->ctx.cap3, pc->mmio_base + CAP3); in ecap_pwm_restore_context()
305 writel(pc->ctx.cap4, pc->mmio_base + CAP4); in ecap_pwm_restore_context()
306 writew(pc->ctx.ecctl2, pc->mmio_base + ECCTL2); in ecap_pwm_restore_context()
312 struct ecap_pwm_chip *pc = dev_get_drvdata(dev); in ecap_pwm_suspend() local
313 struct pwm_device *pwm = pc->chip.pwms; in ecap_pwm_suspend()
315 ecap_pwm_save_context(pc); in ecap_pwm_suspend()
326 struct ecap_pwm_chip *pc = dev_get_drvdata(dev); in ecap_pwm_resume() local
327 struct pwm_device *pwm = pc->chip.pwms; in ecap_pwm_resume()
333 ecap_pwm_restore_context(pc); in ecap_pwm_resume()