Lines Matching refs:dac
3 * Pistachio internal dac driver
82 static void pistachio_internal_dac_pwr_off(struct pistachio_internal_dac *dac)
84 regmap_update_bits(dac->regmap, PISTACHIO_INTERNAL_DAC_CTRL,
88 pistachio_internal_dac_reg_writel(dac->regmap, 0,
92 static void pistachio_internal_dac_pwr_on(struct pistachio_internal_dac *dac)
94 regmap_update_bits(dac->regmap, PISTACHIO_INTERNAL_DAC_SRST,
98 regmap_update_bits(dac->regmap, PISTACHIO_INTERNAL_DAC_SRST,
101 pistachio_internal_dac_reg_writel(dac->regmap,
105 regmap_update_bits(dac->regmap, PISTACHIO_INTERNAL_DAC_CTRL,
124 struct pistachio_internal_dac *dac = snd_soc_component_get_drvdata(component);
126 snd_soc_component_init_regmap(component, dac->regmap);
145 struct pistachio_internal_dac *dac;
150 dac = devm_kzalloc(dev, sizeof(*dac), GFP_KERNEL);
152 if (!dac)
155 platform_set_drvdata(pdev, dac);
157 dac->regmap = syscon_regmap_lookup_by_phandle(pdev->dev.of_node,
159 if (IS_ERR(dac->regmap))
160 return PTR_ERR(dac->regmap);
162 dac->supply = devm_regulator_get(dev, "VDD");
163 if (IS_ERR(dac->supply))
164 return dev_err_probe(dev, PTR_ERR(dac->supply),
167 ret = regulator_enable(dac->supply);
173 voltage = regulator_get_voltage(dac->supply);
188 regmap_update_bits(dac->regmap, PISTACHIO_INTERNAL_DAC_CTRL,
191 pistachio_internal_dac_pwr_off(dac);
192 pistachio_internal_dac_pwr_on(dac);
211 pistachio_internal_dac_pwr_off(dac);
213 regulator_disable(dac->supply);
220 struct pistachio_internal_dac *dac = dev_get_drvdata(&pdev->dev);
223 pistachio_internal_dac_pwr_off(dac);
224 regulator_disable(dac->supply);
230 struct pistachio_internal_dac *dac = dev_get_drvdata(dev);
233 ret = regulator_enable(dac->supply);
239 pistachio_internal_dac_pwr_on(dac);
246 struct pistachio_internal_dac *dac = dev_get_drvdata(dev);
248 pistachio_internal_dac_pwr_off(dac);
250 regulator_disable(dac->supply);
262 { .compatible = "img,pistachio-internal-dac" },
269 .name = "img-pistachio-internal-dac",