Merge tag 'dmaengine-fix2-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git...
[platform/kernel/linux-starfive.git] / include / sound / tlv320aic32x4.h
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