Lines Matching refs:machine

3  * tegra_asoc_machine.c - Universal ASoC machine driver for NVIDIA Tegra boards.
56 struct tegra_machine *machine = (struct tegra_machine *)data;
59 if (gpiod_get_value_cansleep(machine->gpiod_hp_det) &&
60 gpiod_get_value_cansleep(machine->gpiod_mic_det))
83 struct tegra_machine *machine = snd_soc_card_get_drvdata(dapm->card);
86 gpiod_set_value_cansleep(machine->gpiod_spkr_en,
90 gpiod_set_value_cansleep(machine->gpiod_ext_mic_en,
94 gpiod_set_value_cansleep(machine->gpiod_int_mic_en,
98 gpiod_set_value_cansleep(machine->gpiod_hp_mute,
139 struct tegra_machine *machine = snd_soc_card_get_drvdata(card);
143 if (machine->gpiod_hp_det && machine->asoc->add_hp_jack) {
144 if (machine->asoc->hp_jack_name)
145 jack_name = machine->asoc->hp_jack_name;
160 tegra_machine_hp_jack_gpio.desc = machine->gpiod_hp_det;
168 if (machine->gpiod_hp_det && machine->asoc->add_headset_jack) {
180 tegra_machine_headset_jack_gpio.desc = machine->gpiod_hp_det;
188 if (machine->gpiod_mic_det && machine->asoc->add_mic_jack) {
199 tegra_machine_mic_jack_gpio.data = machine;
200 tegra_machine_mic_jack_gpio.desc = machine->gpiod_mic_det;
204 tegra_machine_mic_jack_gpio.desc = machine->gpiod_hp_det;
293 struct tegra_machine *machine = snd_soc_card_get_drvdata(card);
295 unsigned int mclk = machine->asoc->mclk_rate(srate);
296 unsigned int clk_id = machine->asoc->mclk_id;
330 if (new_baseclock != machine->set_baseclock ||
331 mclk != machine->set_mclk) {
332 machine->set_baseclock = 0;
333 machine->set_mclk = 0;
335 clk_disable_unprepare(machine->clk_cdev1);
337 err = clk_set_rate(machine->clk_pll_a, new_baseclock);
343 err = clk_set_rate(machine->clk_pll_a_out0, mclk);
351 err = clk_prepare_enable(machine->clk_cdev1);
357 machine->set_baseclock = new_baseclock;
358 machine->set_mclk = mclk;
428 struct tegra_machine *machine;
433 machine = devm_kzalloc(dev, sizeof(*machine), GFP_KERNEL);
434 if (!machine)
441 machine->asoc = asoc;
442 machine->mic_jack = &tegra_machine_mic_jack;
443 machine->hp_jack_gpio = &tegra_machine_hp_jack_gpio;
444 snd_soc_card_set_drvdata(card, machine);
447 machine->gpiod_hp_mute = gpiod;
452 machine->gpiod_hp_det = gpiod;
457 machine->gpiod_mic_det = gpiod;
462 machine->gpiod_spkr_en = gpiod;
467 machine->gpiod_int_mic_en = gpiod;
472 machine->gpiod_ext_mic_en = gpiod;
529 machine->clk_pll_a = devm_clk_get(dev, "pll_a");
530 if (IS_ERR(machine->clk_pll_a)) {
532 return PTR_ERR(machine->clk_pll_a);
535 machine->clk_pll_a_out0 = devm_clk_get(dev, "pll_a_out0");
536 if (IS_ERR(machine->clk_pll_a_out0)) {
538 return PTR_ERR(machine->clk_pll_a_out0);
541 machine->clk_cdev1 = devm_clk_get(dev, "mclk");
542 if (IS_ERR(machine->clk_cdev1)) {
544 return PTR_ERR(machine->clk_cdev1);
564 err = clk_set_parent(clk_extern1, machine->clk_pll_a_out0);
582 machine->clk_cdev1 = clk_out_1;
590 err = clk_set_rate(machine->clk_pll_a, 73728000);
596 err = clk_set_rate(machine->clk_pll_a_out0, 24576000);
602 machine->set_baseclock = 73728000;
603 machine->set_mclk = 24576000;
611 err = clk_prepare_enable(machine->clk_cdev1);
625 /* WM8753 machine */
655 /* WM9712 machine */
688 /* MAX98090 machine */
723 /* MAX98088 machine */
757 /* SGTL5000 machine */
787 /* TLV320AIC23 machine */
834 /* RT5677 machine */
882 /* RT5640 machine */
915 /* RT5632 machine */
948 /* RT5631 machine */
1019 MODULE_DESCRIPTION("Tegra machine ASoC driver");