Lines Matching refs:tpu

80 	struct tpu_device *tpu;  member
102 void __iomem *base = pwm->tpu->base + TPU_CHANNEL_OFFSET in tpu_pwm_write()
113 dev_dbg(&pwm->tpu->pdev->dev, "%u: configuring pin as %s\n", in tpu_pwm_set_pin()
140 spin_lock_irqsave(&pwm->tpu->lock, flags); in tpu_pwm_start_stop()
141 value = ioread16(pwm->tpu->base + TPU_TSTR); in tpu_pwm_start_stop()
148 iowrite16(value, pwm->tpu->base + TPU_TSTR); in tpu_pwm_start_stop()
149 spin_unlock_irqrestore(&pwm->tpu->lock, flags); in tpu_pwm_start_stop()
158 pm_runtime_get_sync(&pwm->tpu->pdev->dev); in tpu_pwm_timer_start()
159 ret = clk_prepare_enable(pwm->tpu->clk); in tpu_pwm_timer_start()
161 dev_err(&pwm->tpu->pdev->dev, "cannot enable clock\n"); in tpu_pwm_timer_start()
190 dev_dbg(&pwm->tpu->pdev->dev, "%u: TGRA 0x%04x TGRB 0x%04x\n", in tpu_pwm_timer_start()
208 clk_disable_unprepare(pwm->tpu->clk); in tpu_pwm_timer_stop()
209 pm_runtime_put(&pwm->tpu->pdev->dev); in tpu_pwm_timer_stop()
220 struct tpu_device *tpu = to_tpu_device(chip); in tpu_pwm_request() local
230 pwm->tpu = tpu; in tpu_pwm_request()
257 struct tpu_device *tpu = to_tpu_device(chip); in tpu_pwm_config() local
269 clk_rate = clk_get_rate(tpu->clk); in tpu_pwm_config()
279 dev_err(&tpu->pdev->dev, "clock rate mismatch\n"); in tpu_pwm_config()
292 dev_dbg(&tpu->pdev->dev, in tpu_pwm_config()
314 dev_dbg(&tpu->pdev->dev, "%u: TGRA 0x%04x\n", pwm->channel, in tpu_pwm_config()
393 struct tpu_device *tpu; in tpu_probe() local
397 tpu = devm_kzalloc(&pdev->dev, sizeof(*tpu), GFP_KERNEL); in tpu_probe()
398 if (tpu == NULL) in tpu_probe()
401 spin_lock_init(&tpu->lock); in tpu_probe()
402 tpu->pdev = pdev; in tpu_probe()
406 tpu->base = devm_ioremap_resource(&pdev->dev, res); in tpu_probe()
407 if (IS_ERR(tpu->base)) in tpu_probe()
408 return PTR_ERR(tpu->base); in tpu_probe()
410 tpu->clk = devm_clk_get(&pdev->dev, NULL); in tpu_probe()
411 if (IS_ERR(tpu->clk)) { in tpu_probe()
413 return PTR_ERR(tpu->clk); in tpu_probe()
417 platform_set_drvdata(pdev, tpu); in tpu_probe()
419 tpu->chip.dev = &pdev->dev; in tpu_probe()
420 tpu->chip.ops = &tpu_pwm_ops; in tpu_probe()
421 tpu->chip.of_xlate = of_pwm_xlate_with_flags; in tpu_probe()
422 tpu->chip.of_pwm_n_cells = 3; in tpu_probe()
423 tpu->chip.base = -1; in tpu_probe()
424 tpu->chip.npwm = TPU_CHANNEL_MAX; in tpu_probe()
426 ret = pwmchip_add(&tpu->chip); in tpu_probe()
432 dev_info(&pdev->dev, "TPU PWM %d registered\n", tpu->pdev->id); in tpu_probe()
441 struct tpu_device *tpu = platform_get_drvdata(pdev); in tpu_remove() local
444 ret = pwmchip_remove(&tpu->chip); in tpu_remove()