Lines Matching refs:pwm
66 static int tegra_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, in tegra_pwm_config() argument
115 if (!test_bit(PWMF_ENABLED, &pwm->flags)) { in tegra_pwm_config()
122 pwm_writel(pc, pwm->hwpwm, val); in tegra_pwm_config()
127 if (!test_bit(PWMF_ENABLED, &pwm->flags)) in tegra_pwm_config()
133 static int tegra_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) in tegra_pwm_enable() argument
143 val = pwm_readl(pc, pwm->hwpwm); in tegra_pwm_enable()
145 pwm_writel(pc, pwm->hwpwm, val); in tegra_pwm_enable()
150 static void tegra_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) in tegra_pwm_disable() argument
155 val = pwm_readl(pc, pwm->hwpwm); in tegra_pwm_disable()
157 pwm_writel(pc, pwm->hwpwm, val); in tegra_pwm_disable()
171 struct tegra_pwm_chip *pwm; in tegra_pwm_probe() local
175 pwm = devm_kzalloc(&pdev->dev, sizeof(*pwm), GFP_KERNEL); in tegra_pwm_probe()
176 if (!pwm) in tegra_pwm_probe()
179 pwm->dev = &pdev->dev; in tegra_pwm_probe()
182 pwm->mmio_base = devm_ioremap_resource(&pdev->dev, r); in tegra_pwm_probe()
183 if (IS_ERR(pwm->mmio_base)) in tegra_pwm_probe()
184 return PTR_ERR(pwm->mmio_base); in tegra_pwm_probe()
186 platform_set_drvdata(pdev, pwm); in tegra_pwm_probe()
188 pwm->clk = devm_clk_get(&pdev->dev, NULL); in tegra_pwm_probe()
189 if (IS_ERR(pwm->clk)) in tegra_pwm_probe()
190 return PTR_ERR(pwm->clk); in tegra_pwm_probe()
192 pwm->chip.dev = &pdev->dev; in tegra_pwm_probe()
193 pwm->chip.ops = &tegra_pwm_ops; in tegra_pwm_probe()
194 pwm->chip.base = -1; in tegra_pwm_probe()
195 pwm->chip.npwm = NUM_PWM; in tegra_pwm_probe()
197 ret = pwmchip_add(&pwm->chip); in tegra_pwm_probe()
215 struct pwm_device *pwm = &pc->chip.pwms[i]; in tegra_pwm_remove() local
217 if (!test_bit(PWMF_ENABLED, &pwm->flags)) in tegra_pwm_remove()