rk3328 56 sound/soc/codecs/rk3328_codec.c static int rk3328_codec_reset(struct rk3328_codec_priv *rk3328) rk3328 58 sound/soc/codecs/rk3328_codec.c regmap_write(rk3328->regmap, CODEC_RESET, 0x00); rk3328 60 sound/soc/codecs/rk3328_codec.c regmap_write(rk3328->regmap, CODEC_RESET, 0x03); rk3328 67 sound/soc/codecs/rk3328_codec.c struct rk3328_codec_priv *rk3328 = rk3328 82 sound/soc/codecs/rk3328_codec.c regmap_update_bits(rk3328->regmap, DAC_INIT_CTRL1, rk3328 103 sound/soc/codecs/rk3328_codec.c regmap_update_bits(rk3328->regmap, DAC_INIT_CTRL2, rk3328 109 sound/soc/codecs/rk3328_codec.c static void rk3328_analog_output(struct rk3328_codec_priv *rk3328, int mute) rk3328 116 sound/soc/codecs/rk3328_codec.c regmap_write(rk3328->grf, RK3328_GRF_SOC_CON10, val); rk3328 121 sound/soc/codecs/rk3328_codec.c struct rk3328_codec_priv *rk3328 = rk3328 130 sound/soc/codecs/rk3328_codec.c regmap_update_bits(rk3328->regmap, HPOUT_CTRL, rk3328 136 sound/soc/codecs/rk3328_codec.c static int rk3328_codec_power_on(struct rk3328_codec_priv *rk3328, int wait_ms) rk3328 138 sound/soc/codecs/rk3328_codec.c regmap_update_bits(rk3328->regmap, DAC_PRECHARGE_CTRL, rk3328 141 sound/soc/codecs/rk3328_codec.c regmap_update_bits(rk3328->regmap, DAC_PRECHARGE_CTRL, rk3328 149 sound/soc/codecs/rk3328_codec.c static int rk3328_codec_power_off(struct rk3328_codec_priv *rk3328, int wait_ms) rk3328 151 sound/soc/codecs/rk3328_codec.c regmap_update_bits(rk3328->regmap, DAC_PRECHARGE_CTRL, rk3328 154 sound/soc/codecs/rk3328_codec.c regmap_update_bits(rk3328->regmap, DAC_PRECHARGE_CTRL, rk3328 191 sound/soc/codecs/rk3328_codec.c static int rk3328_codec_open_playback(struct rk3328_codec_priv *rk3328) rk3328 195 sound/soc/codecs/rk3328_codec.c regmap_update_bits(rk3328->regmap, DAC_PRECHARGE_CTRL, rk3328 200 sound/soc/codecs/rk3328_codec.c regmap_update_bits(rk3328->regmap, rk3328 207 sound/soc/codecs/rk3328_codec.c msleep(rk3328->spk_depop_time); rk3328 208 sound/soc/codecs/rk3328_codec.c rk3328_analog_output(rk3328, 1); rk3328 210 sound/soc/codecs/rk3328_codec.c regmap_update_bits(rk3328->regmap, HPOUTL_GAIN_CTRL, rk3328 212 sound/soc/codecs/rk3328_codec.c regmap_update_bits(rk3328->regmap, HPOUTR_GAIN_CTRL, rk3328 245 sound/soc/codecs/rk3328_codec.c static int rk3328_codec_close_playback(struct rk3328_codec_priv *rk3328) rk3328 249 sound/soc/codecs/rk3328_codec.c rk3328_analog_output(rk3328, 0); rk3328 251 sound/soc/codecs/rk3328_codec.c regmap_update_bits(rk3328->regmap, HPOUTL_GAIN_CTRL, rk3328 253 sound/soc/codecs/rk3328_codec.c regmap_update_bits(rk3328->regmap, HPOUTR_GAIN_CTRL, rk3328 257 sound/soc/codecs/rk3328_codec.c regmap_update_bits(rk3328->regmap, rk3328 265 sound/soc/codecs/rk3328_codec.c rk3328_codec_reset(rk3328); rk3328 267 sound/soc/codecs/rk3328_codec.c regmap_update_bits(rk3328->regmap, DAC_PRECHARGE_CTRL, rk3328 278 sound/soc/codecs/rk3328_codec.c struct rk3328_codec_priv *rk3328 = rk3328 298 sound/soc/codecs/rk3328_codec.c regmap_update_bits(rk3328->regmap, DAC_INIT_CTRL2, DAC_VDL_MASK, val); rk3328 301 sound/soc/codecs/rk3328_codec.c regmap_update_bits(rk3328->regmap, DAC_INIT_CTRL3, rk3328 310 sound/soc/codecs/rk3328_codec.c struct rk3328_codec_priv *rk3328 = rk3328 313 sound/soc/codecs/rk3328_codec.c return rk3328_codec_open_playback(rk3328); rk3328 319 sound/soc/codecs/rk3328_codec.c struct rk3328_codec_priv *rk3328 = rk3328 322 sound/soc/codecs/rk3328_codec.c rk3328_codec_close_playback(rk3328); rk3328 363 sound/soc/codecs/rk3328_codec.c struct rk3328_codec_priv *rk3328 = rk3328 366 sound/soc/codecs/rk3328_codec.c rk3328_codec_reset(rk3328); rk3328 367 sound/soc/codecs/rk3328_codec.c rk3328_codec_power_on(rk3328, 0); rk3328 374 sound/soc/codecs/rk3328_codec.c struct rk3328_codec_priv *rk3328 = rk3328 377 sound/soc/codecs/rk3328_codec.c rk3328_codec_close_playback(rk3328); rk3328 378 sound/soc/codecs/rk3328_codec.c rk3328_codec_power_off(rk3328, 0); rk3328 434 sound/soc/codecs/rk3328_codec.c struct rk3328_codec_priv *rk3328; rk3328 439 sound/soc/codecs/rk3328_codec.c rk3328 = devm_kzalloc(&pdev->dev, sizeof(*rk3328), GFP_KERNEL); rk3328 440 sound/soc/codecs/rk3328_codec.c if (!rk3328) rk3328 449 sound/soc/codecs/rk3328_codec.c rk3328->grf = grf; rk3328 455 sound/soc/codecs/rk3328_codec.c &rk3328->spk_depop_time); rk3328 458 sound/soc/codecs/rk3328_codec.c rk3328->spk_depop_time = 200; rk3328 461 sound/soc/codecs/rk3328_codec.c rk3328_analog_output(rk3328, 0); rk3328 463 sound/soc/codecs/rk3328_codec.c rk3328->mclk = devm_clk_get(&pdev->dev, "mclk"); rk3328 464 sound/soc/codecs/rk3328_codec.c if (IS_ERR(rk3328->mclk)) rk3328 465 sound/soc/codecs/rk3328_codec.c return PTR_ERR(rk3328->mclk); rk3328 467 sound/soc/codecs/rk3328_codec.c ret = clk_prepare_enable(rk3328->mclk); rk3328 470 sound/soc/codecs/rk3328_codec.c clk_set_rate(rk3328->mclk, INITIAL_FREQ); rk3328 472 sound/soc/codecs/rk3328_codec.c rk3328->pclk = devm_clk_get(&pdev->dev, "pclk"); rk3328 473 sound/soc/codecs/rk3328_codec.c if (IS_ERR(rk3328->pclk)) { rk3328 475 sound/soc/codecs/rk3328_codec.c return PTR_ERR(rk3328->pclk); rk3328 478 sound/soc/codecs/rk3328_codec.c ret = clk_prepare_enable(rk3328->pclk); rk3328 488 sound/soc/codecs/rk3328_codec.c rk3328->regmap = devm_regmap_init_mmio(&pdev->dev, base, rk3328 490 sound/soc/codecs/rk3328_codec.c if (IS_ERR(rk3328->regmap)) rk3328 491 sound/soc/codecs/rk3328_codec.c return PTR_ERR(rk3328->regmap); rk3328 493 sound/soc/codecs/rk3328_codec.c platform_set_drvdata(pdev, rk3328);