brintos

brintos / linux-shallow public Read only

0
0
Text · 1.3 KiB · 6f795d7 Raw
52 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2 3#ifndef __TEGRA_ASOC_MACHINE_H__4#define __TEGRA_ASOC_MACHINE_H__5 6struct clk;7struct gpio_desc;8struct snd_soc_card;9struct snd_soc_jack;10struct platform_device;11struct snd_soc_jack_gpio;12struct snd_soc_pcm_runtime;13 14struct tegra_asoc_data {15	unsigned int (*mclk_rate)(unsigned int srate);16	const char *codec_dev_name;17	const char *hp_jack_name;18	struct snd_soc_card *card;19	unsigned int mclk_id;20	bool hp_jack_gpio_active_low;21	bool add_common_dapm_widgets;22	bool add_common_controls;23	bool add_common_snd_ops;24	bool add_headset_jack;25	bool add_mic_jack;26	bool add_hp_jack;27	bool set_ac97;28};29 30struct tegra_machine {31	struct clk *clk_pll_a_out0;32	struct clk *clk_pll_a;33	struct clk *clk_cdev1;34	unsigned int set_baseclock;35	unsigned int set_mclk;36	const struct tegra_asoc_data *asoc;37	struct gpio_desc *gpiod_ext_mic_en;38	struct gpio_desc *gpiod_int_mic_en;39	struct gpio_desc *gpiod_spkr_en;40	struct gpio_desc *gpiod_mic_det;41	struct gpio_desc *gpiod_ear_sel;42	struct gpio_desc *gpiod_hp_mute;43	struct gpio_desc *gpiod_hp_det;44	struct snd_soc_jack *mic_jack;45	struct snd_soc_jack_gpio *hp_jack_gpio;46};47 48int tegra_asoc_machine_probe(struct platform_device *pdev);49int tegra_asoc_machine_init(struct snd_soc_pcm_runtime *rtd);50 51#endif52