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