Lines Matching refs:pc

64 	struct rockchip_pwm_chip *pc = to_rockchip_pwm_chip(chip);  in rockchip_pwm_set_enable_v1()  local
68 val = readl_relaxed(pc->base + pc->data->regs.ctrl); in rockchip_pwm_set_enable_v1()
75 writel_relaxed(val, pc->base + pc->data->regs.ctrl); in rockchip_pwm_set_enable_v1()
81 struct rockchip_pwm_chip *pc = to_rockchip_pwm_chip(chip); in rockchip_pwm_set_enable_v2() local
91 val = readl_relaxed(pc->base + pc->data->regs.ctrl); in rockchip_pwm_set_enable_v2()
98 writel_relaxed(val, pc->base + pc->data->regs.ctrl); in rockchip_pwm_set_enable_v2()
104 struct rockchip_pwm_chip *pc = to_rockchip_pwm_chip(chip); in rockchip_pwm_config() local
109 clk_rate = clk_get_rate(pc->clk); in rockchip_pwm_config()
117 do_div(div, pc->data->prescaler * NSEC_PER_SEC); in rockchip_pwm_config()
121 do_div(div, pc->data->prescaler * NSEC_PER_SEC); in rockchip_pwm_config()
124 ret = clk_enable(pc->clk); in rockchip_pwm_config()
128 writel(period, pc->base + pc->data->regs.period); in rockchip_pwm_config()
129 writel(duty, pc->base + pc->data->regs.duty); in rockchip_pwm_config()
130 writel(0, pc->base + pc->data->regs.cntr); in rockchip_pwm_config()
132 clk_disable(pc->clk); in rockchip_pwm_config()
152 struct rockchip_pwm_chip *pc = to_rockchip_pwm_chip(chip); in rockchip_pwm_enable() local
155 ret = clk_enable(pc->clk); in rockchip_pwm_enable()
159 pc->data->set_enable(chip, pwm, true); in rockchip_pwm_enable()
166 struct rockchip_pwm_chip *pc = to_rockchip_pwm_chip(chip); in rockchip_pwm_disable() local
168 pc->data->set_enable(chip, pwm, false); in rockchip_pwm_disable()
170 clk_disable(pc->clk); in rockchip_pwm_disable()
235 struct rockchip_pwm_chip *pc; in rockchip_pwm_probe() local
243 pc = devm_kzalloc(&pdev->dev, sizeof(*pc), GFP_KERNEL); in rockchip_pwm_probe()
244 if (!pc) in rockchip_pwm_probe()
248 pc->base = devm_ioremap_resource(&pdev->dev, r); in rockchip_pwm_probe()
249 if (IS_ERR(pc->base)) in rockchip_pwm_probe()
250 return PTR_ERR(pc->base); in rockchip_pwm_probe()
252 pc->clk = devm_clk_get(&pdev->dev, NULL); in rockchip_pwm_probe()
253 if (IS_ERR(pc->clk)) in rockchip_pwm_probe()
254 return PTR_ERR(pc->clk); in rockchip_pwm_probe()
256 ret = clk_prepare(pc->clk); in rockchip_pwm_probe()
260 platform_set_drvdata(pdev, pc); in rockchip_pwm_probe()
262 pc->data = id->data; in rockchip_pwm_probe()
263 pc->chip.dev = &pdev->dev; in rockchip_pwm_probe()
264 pc->chip.ops = pc->data->ops; in rockchip_pwm_probe()
265 pc->chip.base = -1; in rockchip_pwm_probe()
266 pc->chip.npwm = 1; in rockchip_pwm_probe()
268 if (pc->data->ops->set_polarity) { in rockchip_pwm_probe()
269 pc->chip.of_xlate = of_pwm_xlate_with_flags; in rockchip_pwm_probe()
270 pc->chip.of_pwm_n_cells = 3; in rockchip_pwm_probe()
273 ret = pwmchip_add(&pc->chip); in rockchip_pwm_probe()
275 clk_unprepare(pc->clk); in rockchip_pwm_probe()
284 struct rockchip_pwm_chip *pc = platform_get_drvdata(pdev); in rockchip_pwm_remove() local
286 clk_unprepare(pc->clk); in rockchip_pwm_remove()
288 return pwmchip_remove(&pc->chip); in rockchip_pwm_remove()