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 11 enum wm5100_in_mode { 12 WM5100_IN_SE = 0, 13 WM5100_IN_DIFF = 1, 14 WM5100_IN_DMIC = 2, 15 }; 16 17 enum 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 24 enum wm5100_micdet_bias { 25 WM5100_MICDET_MICBIAS1 = 0, 26 WM5100_MICDET_MICBIAS2 = 1, 27 WM5100_MICDET_MICBIAS3 = 2, 28 }; 29 30 struct 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 38 struct wm5100_pdata { 39 int irq_flags; 40 41 struct wm5100_jack_mode jack_modes[2]; 42 43 /* Input pin mode selection */ 44 enum wm5100_in_mode in_mode[4]; 45 46 /* DMIC supply selection */ 47 enum wm5100_dmic_sup dmic_sup[4]; 48 49 int gpio_defaults[6]; 50 }; 51 52 #endif 53