b9045b9c6b
Add the ability to configure the MFP1->MFP5 registers as GPIOs. In addition adding ALSA controls to get and set the GPIO state. Per the data sheet each MFP can be configured as a GPIO input only, output only or either an input or output. Signed-off-by: Dan Murphy <dmurphy@ti.com> Signed-off-by: Mark Brown <broonie@kernel.org>
55 lines
1.4 KiB
C
55 lines
1.4 KiB
C
/*
|
|
* tlv320aic32x4.h -- TLV320AIC32X4 Soc Audio driver platform data
|
|
*
|
|
* Copyright 2011 Vista Silicon S.L.
|
|
*
|
|
* Author: Javier Martin <javier.martin@vista-silicon.com>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#ifndef _AIC32X4_PDATA_H
|
|
#define _AIC32X4_PDATA_H
|
|
|
|
#define AIC32X4_PWR_MICBIAS_2075_LDOIN 0x00000001
|
|
#define AIC32X4_PWR_AVDD_DVDD_WEAK_DISABLE 0x00000002
|
|
#define AIC32X4_PWR_AIC32X4_LDO_ENABLE 0x00000004
|
|
#define AIC32X4_PWR_CMMODE_LDOIN_RANGE_18_36 0x00000008
|
|
#define AIC32X4_PWR_CMMODE_HP_LDOIN_POWERED 0x00000010
|
|
|
|
#define AIC32X4_MICPGA_ROUTE_LMIC_IN2R_10K 0x00000001
|
|
#define AIC32X4_MICPGA_ROUTE_RMIC_IN1L_10K 0x00000002
|
|
|
|
/* GPIO API */
|
|
#define AIC32X4_MFPX_DEFAULT_VALUE 0xff
|
|
|
|
#define AIC32X4_MFP1_DIN_DISABLED 0
|
|
#define AIC32X4_MFP1_DIN_ENABLED 0x2
|
|
#define AIC32X4_MFP1_GPIO_IN 0x4
|
|
|
|
#define AIC32X4_MFP2_GPIO_OUT_LOW 0x0
|
|
#define AIC32X4_MFP2_GPIO_OUT_HIGH 0x1
|
|
|
|
#define AIC32X4_MFP_GPIO_ENABLED 0x4
|
|
|
|
#define AIC32X4_MFP5_GPIO_DISABLED 0x0
|
|
#define AIC32X4_MFP5_GPIO_INPUT 0x8
|
|
#define AIC32X4_MFP5_GPIO_OUTPUT 0xc
|
|
#define AIC32X4_MFP5_GPIO_OUT_LOW 0x0
|
|
#define AIC32X4_MFP5_GPIO_OUT_HIGH 0x1
|
|
|
|
struct aic32x4_setup_data {
|
|
unsigned int gpio_func[5];
|
|
};
|
|
|
|
struct aic32x4_pdata {
|
|
struct aic32x4_setup_data *setup;
|
|
u32 power_cfg;
|
|
u32 micpga_routing;
|
|
bool swapdacs;
|
|
int rstn_gpio;
|
|
};
|
|
|
|
#endif
|