xref: /openbmc/linux/include/sound/tlv320aic32x4.h (revision e2ad626f)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * tlv320aic32x4.h  --  TLV320AIC32X4 Soc Audio driver platform data
4  *
5  * Copyright 2011 Vista Silicon S.L.
6  *
7  * Author: Javier Martin <javier.martin@vista-silicon.com>
8  */
9 
10 #ifndef _AIC32X4_PDATA_H
11 #define _AIC32X4_PDATA_H
12 
13 #define AIC32X4_PWR_MICBIAS_2075_LDOIN		0x00000001
14 #define AIC32X4_PWR_AVDD_DVDD_WEAK_DISABLE	0x00000002
15 #define AIC32X4_PWR_AIC32X4_LDO_ENABLE		0x00000004
16 #define AIC32X4_PWR_CMMODE_LDOIN_RANGE_18_36	0x00000008
17 #define AIC32X4_PWR_CMMODE_HP_LDOIN_POWERED	0x00000010
18 
19 #define AIC32X4_MICPGA_ROUTE_LMIC_IN2R_10K	0x00000001
20 #define AIC32X4_MICPGA_ROUTE_RMIC_IN1L_10K	0x00000002
21 
22 /* GPIO API */
23 #define AIC32X4_MFPX_DEFAULT_VALUE	0xff
24 
25 #define AIC32X4_MFP1_DIN_DISABLED	0
26 #define AIC32X4_MFP1_DIN_ENABLED	0x2
27 #define AIC32X4_MFP1_GPIO_IN		0x4
28 
29 #define AIC32X4_MFP2_GPIO_OUT_LOW	0x0
30 #define AIC32X4_MFP2_GPIO_OUT_HIGH	0x1
31 
32 #define AIC32X4_MFP_GPIO_ENABLED	0x4
33 
34 #define AIC32X4_MFP5_GPIO_DISABLED	0x0
35 #define AIC32X4_MFP5_GPIO_INPUT		0x8
36 #define AIC32X4_MFP5_GPIO_OUTPUT	0xc
37 #define AIC32X4_MFP5_GPIO_OUT_LOW	0x0
38 #define AIC32X4_MFP5_GPIO_OUT_HIGH	0x1
39 
40 struct aic32x4_setup_data {
41 	unsigned int gpio_func[5];
42 };
43 
44 struct aic32x4_pdata {
45 	struct aic32x4_setup_data *setup;
46 	u32 power_cfg;
47 	u32 micpga_routing;
48 	bool swapdacs;
49 	int rstn_gpio;
50 };
51 
52 #endif
53