nau8810
struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
regmap_read(nau8810->regmap, reg + i, ®_val);
struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
ret = regmap_write(nau8810->regmap, reg + i, value);
struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
regmap_read(nau8810->regmap, NAU8810_REG_CLOCK, &value);
struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
regmap_read(nau8810->regmap, NAU8810_REG_INPUT_SIGNAL, &value);
regmap_read(nau8810->regmap, NAU8810_REG_ADCBOOST, &value);
struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
nau8810->clk_id = clk_id;
nau8810->sysclk = freq;
dev_dbg(nau8810->dev, "master sysclk %dHz, source %s\n",
struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
struct regmap *map = nau8810->regmap;
struct nau8810_pll *pll_param = &nau8810->pll;
dev_err(nau8810->dev, "Unsupported input clock %d\n", freq_in);
dev_info(nau8810->dev, "pll_int=%x pll_frac=%x mclk_scaler=%x pre_factor=%x\n",
struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
regmap_update_bits(nau8810->regmap, NAU8810_REG_IFACE,
regmap_update_bits(nau8810->regmap, NAU8810_REG_CLOCK,
static int nau8810_mclk_clkdiv(struct nau8810 *nau8810, int rate)
if (!nau8810->sysclk) {
dev_err(nau8810->dev, "Make mclk div configuration fail because of invalid system clock\n");
sclk = (nau8810->sysclk * 10) /
dev_dbg(nau8810->dev,
regmap_update_bits(nau8810->regmap, NAU8810_REG_CLOCK,
regmap_update_bits(nau8810->regmap, NAU8810_REG_CLOCK,
struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
regmap_read(nau8810->regmap, NAU8810_REG_CLOCK, &ctrl_val);
regmap_update_bits(nau8810->regmap, NAU8810_REG_CLOCK,
regmap_update_bits(nau8810->regmap, NAU8810_REG_IFACE,
regmap_update_bits(nau8810->regmap, NAU8810_REG_SMPLR,
if (nau8810->clk_id == NAU8810_SCLK_MCLK) {
ret = nau8810_mclk_clkdiv(nau8810, params_rate(params));
dev_err(nau8810->dev, "MCLK div configuration fail\n");
struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
struct regmap *map = nau8810->regmap;
struct nau8810 *nau8810 = dev_get_platdata(dev);
if (!nau8810) {
nau8810 = devm_kzalloc(dev, sizeof(*nau8810), GFP_KERNEL);
if (!nau8810)
i2c_set_clientdata(i2c, nau8810);
nau8810->regmap = devm_regmap_init_i2c(i2c, &nau8810_regmap_config);
if (IS_ERR(nau8810->regmap))
return PTR_ERR(nau8810->regmap);
nau8810->dev = dev;
regmap_write(nau8810->regmap, NAU8810_REG_RESET, 0x00);