cx2072x           583 sound/soc/codecs/cx2072x.c static int cx2072x_config_pll(struct cx2072x_priv *cx2072x)
cx2072x           585 sound/soc/codecs/cx2072x.c 	struct device *dev = cx2072x->dev;
cx2072x           594 sound/soc/codecs/cx2072x.c 	unsigned int sample_rate = cx2072x->sample_rate;
cx2072x           621 sound/soc/codecs/cx2072x.c 	pre_div = get_div_from_mclk(cx2072x->mclk_rate);
cx2072x           622 sound/soc/codecs/cx2072x.c 	pll_input = cx2072x->mclk_rate / pre_div;
cx2072x           636 sound/soc/codecs/cx2072x.c 	regmap_write(cx2072x->regmap, CX2072X_ANALOG_TEST4,
cx2072x           640 sound/soc/codecs/cx2072x.c 		regmap_write(cx2072x->regmap, CX2072X_ANALOG_TEST7, 0x100);
cx2072x           643 sound/soc/codecs/cx2072x.c 		regmap_write(cx2072x->regmap, CX2072X_ANALOG_TEST6,
cx2072x           645 sound/soc/codecs/cx2072x.c 		regmap_write(cx2072x->regmap, CX2072X_ANALOG_TEST7,
cx2072x           650 sound/soc/codecs/cx2072x.c 	regmap_write(cx2072x->regmap, CX2072X_ANALOG_TEST8, int_div);
cx2072x           655 sound/soc/codecs/cx2072x.c 		regmap_write(cx2072x->regmap, CX2072X_DIGITAL_TEST16, 0x00);
cx2072x           658 sound/soc/codecs/cx2072x.c 		regmap_write(cx2072x->regmap, CX2072X_DIGITAL_TEST16,
cx2072x           660 sound/soc/codecs/cx2072x.c 		regmap_write(cx2072x->regmap, CX2072X_DIGITAL_TEST17,
cx2072x           662 sound/soc/codecs/cx2072x.c 		regmap_write(cx2072x->regmap, CX2072X_DIGITAL_TEST18,
cx2072x           664 sound/soc/codecs/cx2072x.c 		regmap_write(cx2072x->regmap, CX2072X_DIGITAL_TEST19, 0x01);
cx2072x           665 sound/soc/codecs/cx2072x.c 		regmap_write(cx2072x->regmap, CX2072X_DIGITAL_TEST20, 0x02);
cx2072x           666 sound/soc/codecs/cx2072x.c 		regmap_update_bits(cx2072x->regmap, CX2072X_DIGITAL_TEST16,
cx2072x           673 sound/soc/codecs/cx2072x.c static int cx2072x_config_i2spcm(struct cx2072x_priv *cx2072x)
cx2072x           675 sound/soc/codecs/cx2072x.c 	struct device *dev = cx2072x->dev;
cx2072x           682 sound/soc/codecs/cx2072x.c 	int frame_len = cx2072x->frame_size;
cx2072x           683 sound/soc/codecs/cx2072x.c 	int sample_size = cx2072x->sample_size;
cx2072x           697 sound/soc/codecs/cx2072x.c 	const unsigned int fmt = cx2072x->dai_fmt;
cx2072x           804 sound/soc/codecs/cx2072x.c 	if (cx2072x->en_aec_ref)
cx2072x           816 sound/soc/codecs/cx2072x.c 		if (cx2072x->en_aec_ref)
cx2072x           834 sound/soc/codecs/cx2072x.c 	bclk_rate = cx2072x->sample_rate * frame_len;
cx2072x           838 sound/soc/codecs/cx2072x.c 	regmap_write(cx2072x->regmap, CX2072X_I2SPCM_CONTROL5, 0);
cx2072x           853 sound/soc/codecs/cx2072x.c 	regmap_write(cx2072x->regmap, CX2072X_I2SPCM_CONTROL1, reg1.ulval);
cx2072x           854 sound/soc/codecs/cx2072x.c 	regmap_update_bits(cx2072x->regmap, CX2072X_I2SPCM_CONTROL2, 0xffffffc0,
cx2072x           856 sound/soc/codecs/cx2072x.c 	regmap_update_bits(cx2072x->regmap, CX2072X_I2SPCM_CONTROL3, 0xffffffc0,
cx2072x           858 sound/soc/codecs/cx2072x.c 	regmap_write(cx2072x->regmap, CX2072X_I2SPCM_CONTROL4, reg4.ulval);
cx2072x           859 sound/soc/codecs/cx2072x.c 	regmap_write(cx2072x->regmap, CX2072X_I2SPCM_CONTROL6, reg6.ulval);
cx2072x           860 sound/soc/codecs/cx2072x.c 	regmap_write(cx2072x->regmap, CX2072X_I2SPCM_CONTROL5, reg5.ulval);
cx2072x           862 sound/soc/codecs/cx2072x.c 	regmap_write(cx2072x->regmap, CX2072X_DIGITAL_BIOS_TEST2,
cx2072x           872 sound/soc/codecs/cx2072x.c 	struct cx2072x_priv *cx2072x = snd_soc_component_get_drvdata(codec);
cx2072x           876 sound/soc/codecs/cx2072x.c 		regmap_update_bits(cx2072x->regmap, CX2072X_DIGITAL_BIOS_TEST0,
cx2072x           881 sound/soc/codecs/cx2072x.c 		regmap_update_bits(cx2072x->regmap, CX2072X_DIGITAL_BIOS_TEST0,
cx2072x           918 sound/soc/codecs/cx2072x.c 	struct cx2072x_priv *cx2072x = snd_soc_component_get_drvdata(codec);
cx2072x           933 sound/soc/codecs/cx2072x.c 	if (cx2072x->mclk_rate == 0) {
cx2072x           938 sound/soc/codecs/cx2072x.c 	if (cx2072x->bclk_ratio)
cx2072x           939 sound/soc/codecs/cx2072x.c 		frame_size = cx2072x->bclk_ratio;
cx2072x           958 sound/soc/codecs/cx2072x.c 	cx2072x->frame_size = frame_size;
cx2072x           959 sound/soc/codecs/cx2072x.c 	cx2072x->sample_size = sample_size;
cx2072x           960 sound/soc/codecs/cx2072x.c 	cx2072x->sample_rate = sample_rate;
cx2072x           963 sound/soc/codecs/cx2072x.c 		cx2072x->en_aec_ref = true;
cx2072x           964 sound/soc/codecs/cx2072x.c 		dev_dbg(cx2072x->dev, "enables aec reference\n");
cx2072x           965 sound/soc/codecs/cx2072x.c 		regmap_write(cx2072x->regmap,
cx2072x           969 sound/soc/codecs/cx2072x.c 	if (cx2072x->pll_changed) {
cx2072x           970 sound/soc/codecs/cx2072x.c 		cx2072x_config_pll(cx2072x);
cx2072x           971 sound/soc/codecs/cx2072x.c 		cx2072x->pll_changed = false;
cx2072x           974 sound/soc/codecs/cx2072x.c 	if (cx2072x->i2spcm_changed) {
cx2072x           975 sound/soc/codecs/cx2072x.c 		cx2072x_config_i2spcm(cx2072x);
cx2072x           976 sound/soc/codecs/cx2072x.c 		cx2072x->i2spcm_changed = false;
cx2072x           986 sound/soc/codecs/cx2072x.c 	struct cx2072x_priv *cx2072x = snd_soc_component_get_drvdata(codec);
cx2072x           988 sound/soc/codecs/cx2072x.c 	cx2072x->bclk_ratio = ratio;
cx2072x           996 sound/soc/codecs/cx2072x.c 	struct cx2072x_priv *cx2072x = snd_soc_component_get_drvdata(codec);
cx2072x           998 sound/soc/codecs/cx2072x.c 	if (clk_set_rate(cx2072x->mclk, freq)) {
cx2072x          1003 sound/soc/codecs/cx2072x.c 	cx2072x->mclk_rate = freq;
cx2072x          1010 sound/soc/codecs/cx2072x.c 	struct cx2072x_priv *cx2072x = snd_soc_component_get_drvdata(codec);
cx2072x          1050 sound/soc/codecs/cx2072x.c 	cx2072x->dai_fmt = fmt;
cx2072x          1354 sound/soc/codecs/cx2072x.c 	struct cx2072x_priv *cx2072x = snd_soc_component_get_drvdata(codec);
cx2072x          1359 sound/soc/codecs/cx2072x.c 		regmap_write(cx2072x->regmap, CX2072X_AFG_POWER_STATE, 0);
cx2072x          1361 sound/soc/codecs/cx2072x.c 		regmap_write(cx2072x->regmap, CX2072X_AFG_POWER_STATE, 3);
cx2072x          1376 sound/soc/codecs/cx2072x.c 	struct cx2072x_priv *cx2072x = snd_soc_component_get_drvdata(codec);
cx2072x          1380 sound/soc/codecs/cx2072x.c 	regmap_write(cx2072x->regmap, CX2072X_GPIO_STICKY_MASK, 0x1f);
cx2072x          1383 sound/soc/codecs/cx2072x.c 	regmap_write(cx2072x->regmap, CX2072X_UM_INTERRUPT_CRTL_E, 0x12 << 24);
cx2072x          1386 sound/soc/codecs/cx2072x.c 	regmap_write(cx2072x->regmap, CX2072X_PORTA_UNSOLICITED_RESPONSE, 0x80);
cx2072x          1389 sound/soc/codecs/cx2072x.c 	regmap_write(cx2072x->regmap, CX2072X_DIGITAL_TEST15, 0x73);
cx2072x          1392 sound/soc/codecs/cx2072x.c 	regmap_write(cx2072x->regmap, CX2072X_ANALOG_TEST12, 0x300);
cx2072x          1395 sound/soc/codecs/cx2072x.c 	regmap_write(cx2072x->regmap, CX2072X_DIGITAL_TEST1, 0);
cx2072x          1408 sound/soc/codecs/cx2072x.c 	struct cx2072x_priv *cx2072x = snd_soc_component_get_drvdata(codec);
cx2072x          1410 sound/soc/codecs/cx2072x.c 	regmap_write(cx2072x->regmap, CX2072X_UM_INTERRUPT_CRTL_E, 0);
cx2072x          1411 sound/soc/codecs/cx2072x.c 	regmap_write(cx2072x->regmap, CX2072X_PORTA_UNSOLICITED_RESPONSE, 0);
cx2072x          1417 sound/soc/codecs/cx2072x.c 	struct cx2072x_priv *cx2072x = snd_soc_component_get_drvdata(codec);
cx2072x          1422 sound/soc/codecs/cx2072x.c 	mutex_lock(&cx2072x->lock);
cx2072x          1424 sound/soc/codecs/cx2072x.c 	regmap_read(cx2072x->regmap, CX2072X_PORTA_PIN_SENSE, &jack);
cx2072x          1426 sound/soc/codecs/cx2072x.c 	regmap_read(cx2072x->regmap, CX2072X_DIGITAL_TEST11, &type);
cx2072x          1446 sound/soc/codecs/cx2072x.c 	regmap_write(cx2072x->regmap, CX2072X_UM_INTERRUPT_CRTL_E, 0x12 << 24);
cx2072x          1448 sound/soc/codecs/cx2072x.c 	mutex_unlock(&cx2072x->lock);
cx2072x          1466 sound/soc/codecs/cx2072x.c 	struct cx2072x_priv *cx2072x = snd_soc_component_get_drvdata(codec);
cx2072x          1474 sound/soc/codecs/cx2072x.c 	if (!cx2072x->jack_gpio.gpiod_dev) {
cx2072x          1475 sound/soc/codecs/cx2072x.c 		cx2072x->jack_gpio = cx2072x_jack_gpio;
cx2072x          1476 sound/soc/codecs/cx2072x.c 		cx2072x->jack_gpio.gpiod_dev = codec->dev;
cx2072x          1477 sound/soc/codecs/cx2072x.c 		cx2072x->jack_gpio.data = codec;
cx2072x          1478 sound/soc/codecs/cx2072x.c 		err = snd_soc_jack_add_gpios(jack, 1, &cx2072x->jack_gpio);
cx2072x          1480 sound/soc/codecs/cx2072x.c 			cx2072x->jack_gpio.gpiod_dev = NULL;
cx2072x          1491 sound/soc/codecs/cx2072x.c 	struct cx2072x_priv *cx2072x = snd_soc_component_get_drvdata(codec);
cx2072x          1493 sound/soc/codecs/cx2072x.c 	cx2072x->codec = codec;
cx2072x          1505 sound/soc/codecs/cx2072x.c 	regmap_write(cx2072x->regmap, CX2072X_AFG_POWER_STATE, 0);
cx2072x          1507 sound/soc/codecs/cx2072x.c 	regmap_multi_reg_write(cx2072x->regmap, cx2072x_reg_init,
cx2072x          1511 sound/soc/codecs/cx2072x.c 	regmap_update_bits(cx2072x->regmap, CX2072X_PORTC_PIN_CTRL,
cx2072x          1514 sound/soc/codecs/cx2072x.c 	regmap_update_bits(cx2072x->regmap, CX2072X_DIGITAL_BIOS_TEST2,
cx2072x          1517 sound/soc/codecs/cx2072x.c 	regmap_write(cx2072x->regmap, CX2072X_AFG_POWER_STATE, 3);
cx2072x          1547 sound/soc/codecs/cx2072x.c 	struct cx2072x_priv *cx2072x =
cx2072x          1550 sound/soc/codecs/cx2072x.c 	cx2072x->en_aec_ref = true;
cx2072x          1619 sound/soc/codecs/cx2072x.c 	struct cx2072x_priv *cx2072x = dev_get_drvdata(dev);
cx2072x          1621 sound/soc/codecs/cx2072x.c 	clk_disable_unprepare(cx2072x->mclk);
cx2072x          1627 sound/soc/codecs/cx2072x.c 	struct cx2072x_priv *cx2072x = dev_get_drvdata(dev);
cx2072x          1629 sound/soc/codecs/cx2072x.c 	return clk_prepare_enable(cx2072x->mclk);
cx2072x          1635 sound/soc/codecs/cx2072x.c 	struct cx2072x_priv *cx2072x;
cx2072x          1639 sound/soc/codecs/cx2072x.c 	cx2072x = devm_kzalloc(&i2c->dev, sizeof(struct cx2072x_priv),
cx2072x          1641 sound/soc/codecs/cx2072x.c 	if (!cx2072x)
cx2072x          1644 sound/soc/codecs/cx2072x.c 	cx2072x->regmap = devm_regmap_init(&i2c->dev, NULL, i2c,
cx2072x          1646 sound/soc/codecs/cx2072x.c 	if (IS_ERR(cx2072x->regmap))
cx2072x          1647 sound/soc/codecs/cx2072x.c 		return PTR_ERR(cx2072x->regmap);
cx2072x          1649 sound/soc/codecs/cx2072x.c 	mutex_init(&cx2072x->lock);
cx2072x          1651 sound/soc/codecs/cx2072x.c 	i2c_set_clientdata(i2c, cx2072x);
cx2072x          1653 sound/soc/codecs/cx2072x.c 	cx2072x->dev = &i2c->dev;
cx2072x          1654 sound/soc/codecs/cx2072x.c 	cx2072x->pll_changed = true;
cx2072x          1655 sound/soc/codecs/cx2072x.c 	cx2072x->i2spcm_changed = true;
cx2072x          1656 sound/soc/codecs/cx2072x.c 	cx2072x->bclk_ratio = 0;
cx2072x          1658 sound/soc/codecs/cx2072x.c 	cx2072x->mclk = devm_clk_get(cx2072x->dev, "mclk");
cx2072x          1659 sound/soc/codecs/cx2072x.c 	if (IS_ERR(cx2072x->mclk)) {
cx2072x          1660 sound/soc/codecs/cx2072x.c 		dev_err(cx2072x->dev, "Failed to get MCLK\n");
cx2072x          1661 sound/soc/codecs/cx2072x.c 		return PTR_ERR(cx2072x->mclk);
cx2072x          1664 sound/soc/codecs/cx2072x.c 	regmap_read(cx2072x->regmap, CX2072X_VENDOR_ID, &ven_id);
cx2072x          1665 sound/soc/codecs/cx2072x.c 	regmap_read(cx2072x->regmap, CX2072X_REVISION_ID, &rev_id);
cx2072x          1667 sound/soc/codecs/cx2072x.c 	dev_info(cx2072x->dev, "codec version: %08x,%08x\n", ven_id, rev_id);
cx2072x          1669 sound/soc/codecs/cx2072x.c 	ret = devm_snd_soc_register_component(cx2072x->dev,
cx2072x          1676 sound/soc/codecs/cx2072x.c 	pm_runtime_use_autosuspend(cx2072x->dev);
cx2072x          1677 sound/soc/codecs/cx2072x.c 	pm_runtime_enable(cx2072x->dev);
cx2072x           166 sound/soc/intel/boards/bytcht_cx2072x.c SND_SOC_DAILINK_DEF(cx2072x,
cx2072x           204 sound/soc/intel/boards/bytcht_cx2072x.c 		SND_SOC_DAILINK_REG(ssp2, cx2072x, platform),