brintos

brintos / linux-shallow public Read only

0
0
Text · 1.1 KiB · c85cbc1 Raw
42 lines · c
1/* SPDX-License-Identifier: GPL-2.02 *3 * cs35l41.h -- CS35L41 ALSA SoC audio driver4 *5 * Copyright 2017-2021 Cirrus Logic, Inc.6 *7 * Author: David Rhodes <david.rhodes@cirrus.com>8 */9 10#ifndef __CS35L41_H__11#define __CS35L41_H__12 13#include <linux/gpio/consumer.h>14#include <linux/regulator/consumer.h>15#include <linux/firmware.h>16#include <sound/core.h>17#include <sound/cs35l41.h>18 19#include "wm_adsp.h"20 21#define CS35L41_RX_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE)22#define CS35L41_TX_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE)23 24extern const struct dev_pm_ops cs35l41_pm_ops;25 26struct cs35l41_private {27	struct wm_adsp dsp; /* needs to be first member */28	struct snd_soc_codec *codec;29	struct cs35l41_hw_cfg hw_cfg;30	struct device *dev;31	struct regmap *regmap;32	struct regulator_bulk_data supplies[CS35L41_NUM_SUPPLIES];33	int irq;34	/* GPIO for /RST */35	struct gpio_desc *reset_gpio;36};37 38int cs35l41_probe(struct cs35l41_private *cs35l41, const struct cs35l41_hw_cfg *hw_cfg);39void cs35l41_remove(struct cs35l41_private *cs35l41);40 41#endif /*__CS35L41_H__*/42