• Home
  • Raw
  • Download

Lines Matching refs:aic32x4

319 	struct aic32x4_priv *aic32x4 = snd_soc_codec_get_drvdata(codec);  in aic32x4_set_dai_sysclk()  local
325 aic32x4->sysclk = freq; in aic32x4_set_dai_sysclk()
394 struct aic32x4_priv *aic32x4 = snd_soc_codec_get_drvdata(codec); in aic32x4_hw_params() local
398 i = aic32x4_get_divs(aic32x4->sysclk, params_rate(params)); in aic32x4_hw_params()
473 if (aic32x4->swapdacs) in aic32x4_hw_params()
500 struct aic32x4_priv *aic32x4 = snd_soc_codec_get_drvdata(codec); in aic32x4_set_bias_level() local
506 ret = clk_prepare_enable(aic32x4->mclk); in aic32x4_set_bias_level()
564 clk_disable_unprepare(aic32x4->mclk); in aic32x4_set_bias_level()
603 struct aic32x4_priv *aic32x4 = snd_soc_codec_get_drvdata(codec); in aic32x4_probe() local
606 if (gpio_is_valid(aic32x4->rstn_gpio)) { in aic32x4_probe()
608 gpio_set_value(aic32x4->rstn_gpio, 1); in aic32x4_probe()
614 if (aic32x4->power_cfg & AIC32X4_PWR_MICBIAS_2075_LDOIN) { in aic32x4_probe()
618 if (aic32x4->power_cfg & AIC32X4_PWR_AVDD_DVDD_WEAK_DISABLE) in aic32x4_probe()
621 tmp_reg = (aic32x4->power_cfg & AIC32X4_PWR_AIC32X4_LDO_ENABLE) ? in aic32x4_probe()
626 if (aic32x4->power_cfg & AIC32X4_PWR_CMMODE_LDOIN_RANGE_18_36) in aic32x4_probe()
628 if (aic32x4->power_cfg & AIC32X4_PWR_CMMODE_HP_LDOIN_POWERED) in aic32x4_probe()
633 if (aic32x4->micpga_routing & AIC32X4_MICPGA_ROUTE_LMIC_IN2R_10K) in aic32x4_probe()
639 if (aic32x4->micpga_routing & AIC32X4_MICPGA_ROUTE_RMIC_IN1L_10K) in aic32x4_probe()
672 static int aic32x4_parse_dt(struct aic32x4_priv *aic32x4, in aic32x4_parse_dt() argument
675 aic32x4->swapdacs = false; in aic32x4_parse_dt()
676 aic32x4->micpga_routing = 0; in aic32x4_parse_dt()
677 aic32x4->rstn_gpio = of_get_named_gpio(np, "reset-gpios", 0); in aic32x4_parse_dt()
682 static void aic32x4_disable_regulators(struct aic32x4_priv *aic32x4) in aic32x4_disable_regulators() argument
684 regulator_disable(aic32x4->supply_iov); in aic32x4_disable_regulators()
686 if (!IS_ERR(aic32x4->supply_ldo)) in aic32x4_disable_regulators()
687 regulator_disable(aic32x4->supply_ldo); in aic32x4_disable_regulators()
689 if (!IS_ERR(aic32x4->supply_dv)) in aic32x4_disable_regulators()
690 regulator_disable(aic32x4->supply_dv); in aic32x4_disable_regulators()
692 if (!IS_ERR(aic32x4->supply_av)) in aic32x4_disable_regulators()
693 regulator_disable(aic32x4->supply_av); in aic32x4_disable_regulators()
697 struct aic32x4_priv *aic32x4) in aic32x4_setup_regulators() argument
701 aic32x4->supply_ldo = devm_regulator_get_optional(dev, "ldoin"); in aic32x4_setup_regulators()
702 aic32x4->supply_iov = devm_regulator_get(dev, "iov"); in aic32x4_setup_regulators()
703 aic32x4->supply_dv = devm_regulator_get_optional(dev, "dv"); in aic32x4_setup_regulators()
704 aic32x4->supply_av = devm_regulator_get_optional(dev, "av"); in aic32x4_setup_regulators()
708 if (IS_ERR(aic32x4->supply_iov)) { in aic32x4_setup_regulators()
710 return PTR_ERR(aic32x4->supply_iov); in aic32x4_setup_regulators()
713 if (IS_ERR(aic32x4->supply_ldo)) { in aic32x4_setup_regulators()
714 if (PTR_ERR(aic32x4->supply_ldo) == -EPROBE_DEFER) in aic32x4_setup_regulators()
717 if (IS_ERR(aic32x4->supply_dv)) { in aic32x4_setup_regulators()
719 return PTR_ERR(aic32x4->supply_dv); in aic32x4_setup_regulators()
721 if (IS_ERR(aic32x4->supply_av)) { in aic32x4_setup_regulators()
723 return PTR_ERR(aic32x4->supply_av); in aic32x4_setup_regulators()
726 if (IS_ERR(aic32x4->supply_dv) && in aic32x4_setup_regulators()
727 PTR_ERR(aic32x4->supply_dv) == -EPROBE_DEFER) in aic32x4_setup_regulators()
729 if (IS_ERR(aic32x4->supply_av) && in aic32x4_setup_regulators()
730 PTR_ERR(aic32x4->supply_av) == -EPROBE_DEFER) in aic32x4_setup_regulators()
734 ret = regulator_enable(aic32x4->supply_iov); in aic32x4_setup_regulators()
740 if (!IS_ERR(aic32x4->supply_ldo)) { in aic32x4_setup_regulators()
741 ret = regulator_enable(aic32x4->supply_ldo); in aic32x4_setup_regulators()
748 if (!IS_ERR(aic32x4->supply_dv)) { in aic32x4_setup_regulators()
749 ret = regulator_enable(aic32x4->supply_dv); in aic32x4_setup_regulators()
756 if (!IS_ERR(aic32x4->supply_av)) { in aic32x4_setup_regulators()
757 ret = regulator_enable(aic32x4->supply_av); in aic32x4_setup_regulators()
764 if (!IS_ERR(aic32x4->supply_ldo) && IS_ERR(aic32x4->supply_av)) in aic32x4_setup_regulators()
765 aic32x4->power_cfg |= AIC32X4_PWR_AIC32X4_LDO_ENABLE; in aic32x4_setup_regulators()
770 if (!IS_ERR(aic32x4->supply_dv)) in aic32x4_setup_regulators()
771 regulator_disable(aic32x4->supply_dv); in aic32x4_setup_regulators()
774 if (!IS_ERR(aic32x4->supply_ldo)) in aic32x4_setup_regulators()
775 regulator_disable(aic32x4->supply_ldo); in aic32x4_setup_regulators()
778 regulator_disable(aic32x4->supply_iov); in aic32x4_setup_regulators()
786 struct aic32x4_priv *aic32x4; in aic32x4_i2c_probe() local
790 aic32x4 = devm_kzalloc(&i2c->dev, sizeof(struct aic32x4_priv), in aic32x4_i2c_probe()
792 if (aic32x4 == NULL) in aic32x4_i2c_probe()
795 aic32x4->regmap = devm_regmap_init_i2c(i2c, &aic32x4_regmap); in aic32x4_i2c_probe()
796 if (IS_ERR(aic32x4->regmap)) in aic32x4_i2c_probe()
797 return PTR_ERR(aic32x4->regmap); in aic32x4_i2c_probe()
799 i2c_set_clientdata(i2c, aic32x4); in aic32x4_i2c_probe()
802 aic32x4->power_cfg = pdata->power_cfg; in aic32x4_i2c_probe()
803 aic32x4->swapdacs = pdata->swapdacs; in aic32x4_i2c_probe()
804 aic32x4->micpga_routing = pdata->micpga_routing; in aic32x4_i2c_probe()
805 aic32x4->rstn_gpio = pdata->rstn_gpio; in aic32x4_i2c_probe()
807 ret = aic32x4_parse_dt(aic32x4, np); in aic32x4_i2c_probe()
813 aic32x4->power_cfg = 0; in aic32x4_i2c_probe()
814 aic32x4->swapdacs = false; in aic32x4_i2c_probe()
815 aic32x4->micpga_routing = 0; in aic32x4_i2c_probe()
816 aic32x4->rstn_gpio = -1; in aic32x4_i2c_probe()
819 aic32x4->mclk = devm_clk_get(&i2c->dev, "mclk"); in aic32x4_i2c_probe()
820 if (IS_ERR(aic32x4->mclk)) { in aic32x4_i2c_probe()
822 return PTR_ERR(aic32x4->mclk); in aic32x4_i2c_probe()
825 if (gpio_is_valid(aic32x4->rstn_gpio)) { in aic32x4_i2c_probe()
826 ret = devm_gpio_request_one(&i2c->dev, aic32x4->rstn_gpio, in aic32x4_i2c_probe()
832 ret = aic32x4_setup_regulators(&i2c->dev, aic32x4); in aic32x4_i2c_probe()
842 aic32x4_disable_regulators(aic32x4); in aic32x4_i2c_probe()
846 i2c_set_clientdata(i2c, aic32x4); in aic32x4_i2c_probe()
853 struct aic32x4_priv *aic32x4 = i2c_get_clientdata(client); in aic32x4_i2c_remove() local
855 aic32x4_disable_regulators(aic32x4); in aic32x4_i2c_remove()