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
40struct aic32x4_setup_data {
41	unsigned int gpio_func[5];
42};
43
44struct 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