Lines Matching refs:jz4740
127 struct jz4740_pwm_chip *jz4740 = to_jz4740(pwm->chip);
179 regmap_write(jz4740->map, TCU_REG_TCNTc(pwm->hwpwm), 0);
182 regmap_write(jz4740->map, TCU_REG_TDHRc(pwm->hwpwm), duty);
185 regmap_write(jz4740->map, TCU_REG_TDFRc(pwm->hwpwm), period);
188 regmap_update_bits(jz4740->map, TCU_REG_TCSRc(pwm->hwpwm),
205 regmap_update_bits(jz4740->map, TCU_REG_TCSRc(pwm->hwpwm),
208 regmap_update_bits(jz4740->map, TCU_REG_TCSRc(pwm->hwpwm),
228 struct jz4740_pwm_chip *jz4740;
235 jz4740 = devm_kzalloc(dev, sizeof(*jz4740), GFP_KERNEL);
236 if (!jz4740)
239 jz4740->map = device_node_to_regmap(dev->parent->of_node);
240 if (IS_ERR(jz4740->map)) {
241 dev_err(dev, "regmap not found: %ld\n", PTR_ERR(jz4740->map));
242 return PTR_ERR(jz4740->map);
245 jz4740->chip.dev = dev;
246 jz4740->chip.ops = &jz4740_pwm_ops;
247 jz4740->chip.npwm = info->num_pwms;
248 jz4740->chip.base = -1;
249 jz4740->chip.of_xlate = of_pwm_xlate_with_flags;
250 jz4740->chip.of_pwm_n_cells = 3;
252 platform_set_drvdata(pdev, jz4740);
254 return pwmchip_add(&jz4740->chip);
259 struct jz4740_pwm_chip *jz4740 = platform_get_drvdata(pdev);
261 return pwmchip_remove(&jz4740->chip);
274 { .compatible = "ingenic,jz4740-pwm", .data = &jz4740_soc_info },
283 .name = "jz4740-pwm",
293 MODULE_ALIAS("platform:jz4740-pwm");