Lines Matching refs:dac
52 struct lpc18xx_dac *dac = iio_priv(indio_dev);
57 reg = readl(dac->base + LPC18XX_DAC_CR);
64 *val = regulator_get_voltage(dac->vref) / 1000;
77 struct lpc18xx_dac *dac = iio_priv(indio_dev);
88 mutex_lock(&dac->lock);
89 writel(reg, dac->base + LPC18XX_DAC_CR);
90 writel(LPC18XX_DAC_CTRL_DMA_ENA, dac->base + LPC18XX_DAC_CTRL);
91 mutex_unlock(&dac->lock);
107 struct lpc18xx_dac *dac;
110 indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*dac));
115 dac = iio_priv(indio_dev);
116 mutex_init(&dac->lock);
118 dac->base = devm_platform_ioremap_resource(pdev, 0);
119 if (IS_ERR(dac->base))
120 return PTR_ERR(dac->base);
122 dac->clk = devm_clk_get(&pdev->dev, NULL);
123 if (IS_ERR(dac->clk))
124 return dev_err_probe(&pdev->dev, PTR_ERR(dac->clk),
127 dac->vref = devm_regulator_get(&pdev->dev, "vref");
128 if (IS_ERR(dac->vref))
129 return dev_err_probe(&pdev->dev, PTR_ERR(dac->vref),
138 ret = regulator_enable(dac->vref);
144 ret = clk_prepare_enable(dac->clk);
150 writel(0, dac->base + LPC18XX_DAC_CTRL);
151 writel(0, dac->base + LPC18XX_DAC_CR);
162 clk_disable_unprepare(dac->clk);
164 regulator_disable(dac->vref);
171 struct lpc18xx_dac *dac = iio_priv(indio_dev);
175 writel(0, dac->base + LPC18XX_DAC_CTRL);
176 clk_disable_unprepare(dac->clk);
177 regulator_disable(dac->vref);
181 { .compatible = "nxp,lpc1850-dac" },
190 .name = "lpc18xx-dac",