xref: /openbmc/linux/sound/soc/codecs/adav80x.h (revision 80503b23)
180503b23SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
2cc52688aSLars-Peter Clausen /*
3cc52688aSLars-Peter Clausen  * header file for ADAV80X parts
4cc52688aSLars-Peter Clausen  *
5cc52688aSLars-Peter Clausen  * Copyright 2011 Analog Devices Inc.
6cc52688aSLars-Peter Clausen  */
7cc52688aSLars-Peter Clausen 
8cc52688aSLars-Peter Clausen #ifndef _ADAV80X_H
9cc52688aSLars-Peter Clausen #define _ADAV80X_H
10cc52688aSLars-Peter Clausen 
110c2d6964SLars-Peter Clausen #include <linux/regmap.h>
120c2d6964SLars-Peter Clausen 
130c2d6964SLars-Peter Clausen struct device;
140c2d6964SLars-Peter Clausen 
150c2d6964SLars-Peter Clausen extern const struct regmap_config adav80x_regmap_config;
160c2d6964SLars-Peter Clausen int adav80x_bus_probe(struct device *dev, struct regmap *regmap);
170c2d6964SLars-Peter Clausen 
18cc52688aSLars-Peter Clausen enum adav80x_pll_src {
19cc52688aSLars-Peter Clausen 	ADAV80X_PLL_SRC_XIN,
20cc52688aSLars-Peter Clausen 	ADAV80X_PLL_SRC_XTAL,
21cc52688aSLars-Peter Clausen 	ADAV80X_PLL_SRC_MCLKI,
22cc52688aSLars-Peter Clausen };
23cc52688aSLars-Peter Clausen 
24cc52688aSLars-Peter Clausen enum adav80x_pll {
25cc52688aSLars-Peter Clausen 	ADAV80X_PLL1 = 0,
26cc52688aSLars-Peter Clausen 	ADAV80X_PLL2 = 1,
27cc52688aSLars-Peter Clausen };
28cc52688aSLars-Peter Clausen 
29cc52688aSLars-Peter Clausen enum adav80x_clk_src {
30cc52688aSLars-Peter Clausen 	ADAV80X_CLK_XIN = 0,
31cc52688aSLars-Peter Clausen 	ADAV80X_CLK_MCLKI = 1,
32cc52688aSLars-Peter Clausen 	ADAV80X_CLK_PLL1 = 2,
33cc52688aSLars-Peter Clausen 	ADAV80X_CLK_PLL2 = 3,
34cc52688aSLars-Peter Clausen 	ADAV80X_CLK_XTAL = 6,
35cc52688aSLars-Peter Clausen 
36cc52688aSLars-Peter Clausen 	ADAV80X_CLK_SYSCLK1 = 6,
37cc52688aSLars-Peter Clausen 	ADAV80X_CLK_SYSCLK2 = 7,
38cc52688aSLars-Peter Clausen 	ADAV80X_CLK_SYSCLK3 = 8,
39cc52688aSLars-Peter Clausen };
40cc52688aSLars-Peter Clausen 
41cc52688aSLars-Peter Clausen #endif
42