Lines Matching defs:nau8810
3 * nau8810.c -- NAU8810 ALSA Soc Audio driver
28 #include "nau8810.h"
168 struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
176 regmap_read(nau8810->regmap, reg + i, ®_val);
199 struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
217 ret = regmap_write(nau8810->regmap, reg + i, value);
405 struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
408 regmap_read(nau8810->regmap, NAU8810_REG_CLOCK, &value);
417 struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
420 regmap_read(nau8810->regmap, NAU8810_REG_INPUT_SIGNAL, &value);
423 regmap_read(nau8810->regmap, NAU8810_REG_ADCBOOST, &value);
516 struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
518 nau8810->clk_id = clk_id;
519 nau8810->sysclk = freq;
520 dev_dbg(nau8810->dev, "master sysclk %dHz, source %s\n",
570 struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
571 struct regmap *map = nau8810->regmap;
572 struct nau8810_pll *pll_param = &nau8810->pll;
578 dev_err(nau8810->dev, "Unsupported input clock %d\n", freq_in);
581 dev_info(nau8810->dev, "pll_int=%x pll_frac=%x mclk_scaler=%x pre_factor=%x\n",
609 struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
654 regmap_update_bits(nau8810->regmap, NAU8810_REG_IFACE,
657 regmap_update_bits(nau8810->regmap, NAU8810_REG_CLOCK,
663 static int nau8810_mclk_clkdiv(struct nau8810 *nau8810, int rate)
667 if (!nau8810->sysclk) {
668 dev_err(nau8810->dev, "Make mclk div configuration fail because of invalid system clock\n");
677 sclk = (nau8810->sysclk * 10) /
683 dev_dbg(nau8810->dev,
687 regmap_update_bits(nau8810->regmap, NAU8810_REG_CLOCK,
689 regmap_update_bits(nau8810->regmap, NAU8810_REG_CLOCK,
699 struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
704 regmap_read(nau8810->regmap, NAU8810_REG_CLOCK, &ctrl_val);
716 regmap_update_bits(nau8810->regmap, NAU8810_REG_CLOCK,
755 regmap_update_bits(nau8810->regmap, NAU8810_REG_IFACE,
757 regmap_update_bits(nau8810->regmap, NAU8810_REG_SMPLR,
763 if (nau8810->clk_id == NAU8810_SCLK_MCLK) {
764 ret = nau8810_mclk_clkdiv(nau8810, params_rate(params));
766 dev_err(nau8810->dev, "MCLK div configuration fail\n");
775 struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
776 struct regmap *map = nau8810->regmap;
824 .name = "nau8810-hifi",
874 struct nau8810 *nau8810 = dev_get_platdata(dev);
876 if (!nau8810) {
877 nau8810 = devm_kzalloc(dev, sizeof(*nau8810), GFP_KERNEL);
878 if (!nau8810)
881 i2c_set_clientdata(i2c, nau8810);
883 nau8810->regmap = devm_regmap_init_i2c(i2c, &nau8810_regmap_config);
884 if (IS_ERR(nau8810->regmap))
885 return PTR_ERR(nau8810->regmap);
886 nau8810->dev = dev;
888 regmap_write(nau8810->regmap, NAU8810_REG_RESET, 0x00);
895 { "nau8810", 0 },
904 { .compatible = "nuvoton,nau8810", },
914 .name = "nau8810",