1*d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 21d471cd1SJavier Martin /* 31d471cd1SJavier Martin * tlv320aic32x4.h -- TLV320AIC32X4 Soc Audio driver platform data 41d471cd1SJavier Martin * 51d471cd1SJavier Martin * Copyright 2011 Vista Silicon S.L. 61d471cd1SJavier Martin * 71d471cd1SJavier Martin * Author: Javier Martin <javier.martin@vista-silicon.com> 81d471cd1SJavier Martin */ 91d471cd1SJavier Martin 101d471cd1SJavier Martin #ifndef _AIC32X4_PDATA_H 111d471cd1SJavier Martin #define _AIC32X4_PDATA_H 121d471cd1SJavier Martin 131d471cd1SJavier Martin #define AIC32X4_PWR_MICBIAS_2075_LDOIN 0x00000001 141d471cd1SJavier Martin #define AIC32X4_PWR_AVDD_DVDD_WEAK_DISABLE 0x00000002 151d471cd1SJavier Martin #define AIC32X4_PWR_AIC32X4_LDO_ENABLE 0x00000004 161d471cd1SJavier Martin #define AIC32X4_PWR_CMMODE_LDOIN_RANGE_18_36 0x00000008 171d471cd1SJavier Martin #define AIC32X4_PWR_CMMODE_HP_LDOIN_POWERED 0x00000010 181d471cd1SJavier Martin 191d471cd1SJavier Martin #define AIC32X4_MICPGA_ROUTE_LMIC_IN2R_10K 0x00000001 201d471cd1SJavier Martin #define AIC32X4_MICPGA_ROUTE_RMIC_IN1L_10K 0x00000002 211d471cd1SJavier Martin 22b9045b9cSDan Murphy /* GPIO API */ 23b9045b9cSDan Murphy #define AIC32X4_MFPX_DEFAULT_VALUE 0xff 24b9045b9cSDan Murphy 25b9045b9cSDan Murphy #define AIC32X4_MFP1_DIN_DISABLED 0 26b9045b9cSDan Murphy #define AIC32X4_MFP1_DIN_ENABLED 0x2 27b9045b9cSDan Murphy #define AIC32X4_MFP1_GPIO_IN 0x4 28b9045b9cSDan Murphy 29b9045b9cSDan Murphy #define AIC32X4_MFP2_GPIO_OUT_LOW 0x0 30b9045b9cSDan Murphy #define AIC32X4_MFP2_GPIO_OUT_HIGH 0x1 31b9045b9cSDan Murphy 32b9045b9cSDan Murphy #define AIC32X4_MFP_GPIO_ENABLED 0x4 33b9045b9cSDan Murphy 34b9045b9cSDan Murphy #define AIC32X4_MFP5_GPIO_DISABLED 0x0 35b9045b9cSDan Murphy #define AIC32X4_MFP5_GPIO_INPUT 0x8 36b9045b9cSDan Murphy #define AIC32X4_MFP5_GPIO_OUTPUT 0xc 37b9045b9cSDan Murphy #define AIC32X4_MFP5_GPIO_OUT_LOW 0x0 38b9045b9cSDan Murphy #define AIC32X4_MFP5_GPIO_OUT_HIGH 0x1 39b9045b9cSDan Murphy 40b9045b9cSDan Murphy struct aic32x4_setup_data { 41b9045b9cSDan Murphy unsigned int gpio_func[5]; 42b9045b9cSDan Murphy }; 43b9045b9cSDan Murphy 441d471cd1SJavier Martin struct aic32x4_pdata { 45b9045b9cSDan Murphy struct aic32x4_setup_data *setup; 461d471cd1SJavier Martin u32 power_cfg; 471d471cd1SJavier Martin u32 micpga_routing; 481d471cd1SJavier Martin bool swapdacs; 491858fe97SJavier Martin int rstn_gpio; 501d471cd1SJavier Martin }; 511d471cd1SJavier Martin 521d471cd1SJavier Martin #endif 53