/* SPDX-License-Identifier: GPL-2.0 * * cs35l41.h -- CS35L41 ALSA SoC audio driver * * Copyright 2017-2021 Cirrus Logic, Inc. * * Author: David Rhodes */ #ifndef __CS35L41_H__ #define __CS35L41_H__ #include #include #include #include #include #include "wm_adsp.h" #define CS35L41_RX_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE) #define CS35L41_TX_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE) extern const struct dev_pm_ops cs35l41_pm_ops; struct cs35l41_private { struct wm_adsp dsp; /* needs to be first member */ struct snd_soc_codec *codec; struct cs35l41_hw_cfg hw_cfg; struct device *dev; struct regmap *regmap; struct regulator_bulk_data supplies[CS35L41_NUM_SUPPLIES]; int irq; /* GPIO for /RST */ struct gpio_desc *reset_gpio; }; int cs35l41_probe(struct cs35l41_private *cs35l41, const struct cs35l41_hw_cfg *hw_cfg); void cs35l41_remove(struct cs35l41_private *cs35l41); #endif /*__CS35L41_H__*/