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