wm5100.h (1129B)
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * linux/sound/wm5100.h -- Platform data for WM5100 4 * 5 * Copyright 2011 Wolfson Microelectronics. PLC. 6 */ 7 8#ifndef __LINUX_SND_WM5100_H 9#define __LINUX_SND_WM5100_H 10 11enum wm5100_in_mode { 12 WM5100_IN_SE = 0, 13 WM5100_IN_DIFF = 1, 14 WM5100_IN_DMIC = 2, 15}; 16 17enum wm5100_dmic_sup { 18 WM5100_DMIC_SUP_MICVDD = 0, 19 WM5100_DMIC_SUP_MICBIAS1 = 1, 20 WM5100_DMIC_SUP_MICBIAS2 = 2, 21 WM5100_DMIC_SUP_MICBIAS3 = 3, 22}; 23 24enum wm5100_micdet_bias { 25 WM5100_MICDET_MICBIAS1 = 0, 26 WM5100_MICDET_MICBIAS2 = 1, 27 WM5100_MICDET_MICBIAS3 = 2, 28}; 29 30struct wm5100_jack_mode { 31 enum wm5100_micdet_bias bias; 32 int hp_pol; 33 int micd_src; 34}; 35 36#define WM5100_GPIO_SET 0x10000 37 38struct wm5100_pdata { 39 int reset; /** GPIO controlling /RESET, if any */ 40 int ldo_ena; /** GPIO controlling LODENA, if any */ 41 int hp_pol; /** GPIO controlling headset polarity, if any */ 42 int irq_flags; 43 int gpio_base; 44 45 struct wm5100_jack_mode jack_modes[2]; 46 47 /* Input pin mode selection */ 48 enum wm5100_in_mode in_mode[4]; 49 50 /* DMIC supply selection */ 51 enum wm5100_dmic_sup dmic_sup[4]; 52 53 int gpio_defaults[6]; 54}; 55 56#endif