1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * wm8962.h -- WM8962 Soc Audio driver platform data 4*4882a593Smuzhiyun */ 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun #ifndef _WM8962_PDATA_H 7*4882a593Smuzhiyun #define _WM8962_PDATA_H 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #define WM8962_MAX_GPIO 6 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun /* Use to set GPIO default values to zero */ 12*4882a593Smuzhiyun #define WM8962_GPIO_SET 0x10000 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun #define WM8962_GPIO_FN_CLKOUT 0 15*4882a593Smuzhiyun #define WM8962_GPIO_FN_LOGIC 1 16*4882a593Smuzhiyun #define WM8962_GPIO_FN_SDOUT 2 17*4882a593Smuzhiyun #define WM8962_GPIO_FN_IRQ 3 18*4882a593Smuzhiyun #define WM8962_GPIO_FN_THERMAL 4 19*4882a593Smuzhiyun #define WM8962_GPIO_FN_PLL2_LOCK 6 20*4882a593Smuzhiyun #define WM8962_GPIO_FN_PLL3_LOCK 7 21*4882a593Smuzhiyun #define WM8962_GPIO_FN_FLL_LOCK 9 22*4882a593Smuzhiyun #define WM8962_GPIO_FN_DRC_ACT 10 23*4882a593Smuzhiyun #define WM8962_GPIO_FN_WSEQ_DONE 11 24*4882a593Smuzhiyun #define WM8962_GPIO_FN_ALC_NG_ACT 12 25*4882a593Smuzhiyun #define WM8962_GPIO_FN_ALC_PEAK_LIMIT 13 26*4882a593Smuzhiyun #define WM8962_GPIO_FN_ALC_SATURATION 14 27*4882a593Smuzhiyun #define WM8962_GPIO_FN_ALC_LEVEL_THR 15 28*4882a593Smuzhiyun #define WM8962_GPIO_FN_ALC_LEVEL_LOCK 16 29*4882a593Smuzhiyun #define WM8962_GPIO_FN_FIFO_ERR 17 30*4882a593Smuzhiyun #define WM8962_GPIO_FN_OPCLK 18 31*4882a593Smuzhiyun #define WM8962_GPIO_FN_DMICCLK 19 32*4882a593Smuzhiyun #define WM8962_GPIO_FN_DMICDAT 20 33*4882a593Smuzhiyun #define WM8962_GPIO_FN_MICD 21 34*4882a593Smuzhiyun #define WM8962_GPIO_FN_MICSCD 22 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun struct wm8962_pdata { 37*4882a593Smuzhiyun struct clk *mclk; 38*4882a593Smuzhiyun int gpio_base; 39*4882a593Smuzhiyun u32 gpio_init[WM8962_MAX_GPIO]; 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun /* Setup for microphone detection, raw value to be written to 42*4882a593Smuzhiyun * R48(0x30) - only microphone related bits will be updated. 43*4882a593Smuzhiyun * Detection may be enabled here for use with signals brought 44*4882a593Smuzhiyun * out on the GPIOs. */ 45*4882a593Smuzhiyun u32 mic_cfg; 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun bool irq_active_low; 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun bool spk_mono; /* Speaker outputs tied together as mono */ 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun /** 52*4882a593Smuzhiyun * This flag should be set if one or both IN4 inputs is wired 53*4882a593Smuzhiyun * in a DC measurement configuration. 54*4882a593Smuzhiyun */ 55*4882a593Smuzhiyun bool in4_dc_measure; 56*4882a593Smuzhiyun }; 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun #endif 59