xref: /openbmc/linux/sound/soc/codecs/adau1977.h (revision fda8d26e)
1fda8d26eSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
2603597c9SLars-Peter Clausen /*
3603597c9SLars-Peter Clausen  * ADAU1977/ADAU1978/ADAU1979 driver
4603597c9SLars-Peter Clausen  *
5603597c9SLars-Peter Clausen  * Copyright 2014 Analog Devices Inc.
6603597c9SLars-Peter Clausen  *  Author: Lars-Peter Clausen <lars@metafoo.de>
7603597c9SLars-Peter Clausen  */
8603597c9SLars-Peter Clausen 
9603597c9SLars-Peter Clausen #ifndef __SOUND_SOC_CODECS_ADAU1977_H__
10603597c9SLars-Peter Clausen #define __SOUND_SOC_CODECS_ADAU1977_H__
11603597c9SLars-Peter Clausen 
12603597c9SLars-Peter Clausen #include <linux/regmap.h>
13603597c9SLars-Peter Clausen 
14603597c9SLars-Peter Clausen struct device;
15603597c9SLars-Peter Clausen 
16603597c9SLars-Peter Clausen enum adau1977_type {
17603597c9SLars-Peter Clausen 	ADAU1977,
18603597c9SLars-Peter Clausen 	ADAU1978,
19603597c9SLars-Peter Clausen 	ADAU1979,
20603597c9SLars-Peter Clausen };
21603597c9SLars-Peter Clausen 
22603597c9SLars-Peter Clausen int adau1977_probe(struct device *dev, struct regmap *regmap,
23603597c9SLars-Peter Clausen 	enum adau1977_type type, void (*switch_mode)(struct device *dev));
24603597c9SLars-Peter Clausen 
25603597c9SLars-Peter Clausen extern const struct regmap_config adau1977_regmap_config;
26603597c9SLars-Peter Clausen 
27603597c9SLars-Peter Clausen enum adau1977_clk_id {
28603597c9SLars-Peter Clausen 	ADAU1977_SYSCLK,
29603597c9SLars-Peter Clausen };
30603597c9SLars-Peter Clausen 
31603597c9SLars-Peter Clausen enum adau1977_sysclk_src {
32603597c9SLars-Peter Clausen 	ADAU1977_SYSCLK_SRC_MCLK,
33603597c9SLars-Peter Clausen 	ADAU1977_SYSCLK_SRC_LRCLK,
34603597c9SLars-Peter Clausen };
35603597c9SLars-Peter Clausen 
36603597c9SLars-Peter Clausen #endif
37