blob: 22305c0ab31a9cfabeee28596bac9317af377c0f [file] [log] [blame]
Javier Martin1d471cd2011-03-02 14:52:32 +01001/*
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
Dan Murphyb9045b92017-07-12 13:37:00 -050025/* 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
43struct aic32x4_setup_data {
44 unsigned int gpio_func[5];
45};
46
Javier Martin1d471cd2011-03-02 14:52:32 +010047struct aic32x4_pdata {
Dan Murphyb9045b92017-07-12 13:37:00 -050048 struct aic32x4_setup_data *setup;
Javier Martin1d471cd2011-03-02 14:52:32 +010049 u32 power_cfg;
50 u32 micpga_routing;
51 bool swapdacs;
Javier Martin1858fe92012-10-31 11:53:34 +010052 int rstn_gpio;
Javier Martin1d471cd2011-03-02 14:52:32 +010053};
54
55#endif