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