1*d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 26d4baf08SMark Brown /* 36d4baf08SMark Brown * linux/sound/wm5100.h -- Platform data for WM5100 46d4baf08SMark Brown * 56d4baf08SMark Brown * Copyright 2011 Wolfson Microelectronics. PLC. 66d4baf08SMark Brown */ 76d4baf08SMark Brown 86d4baf08SMark Brown #ifndef __LINUX_SND_WM5100_H 96d4baf08SMark Brown #define __LINUX_SND_WM5100_H 106d4baf08SMark Brown 116d4baf08SMark Brown enum wm5100_in_mode { 126d4baf08SMark Brown WM5100_IN_SE = 0, 136d4baf08SMark Brown WM5100_IN_DIFF = 1, 146d4baf08SMark Brown WM5100_IN_DMIC = 2, 156d4baf08SMark Brown }; 166d4baf08SMark Brown 176d4baf08SMark Brown enum wm5100_dmic_sup { 186d4baf08SMark Brown WM5100_DMIC_SUP_MICVDD = 0, 196d4baf08SMark Brown WM5100_DMIC_SUP_MICBIAS1 = 1, 206d4baf08SMark Brown WM5100_DMIC_SUP_MICBIAS2 = 2, 216d4baf08SMark Brown WM5100_DMIC_SUP_MICBIAS3 = 3, 226d4baf08SMark Brown }; 236d4baf08SMark Brown 246d4baf08SMark Brown enum wm5100_micdet_bias { 256d4baf08SMark Brown WM5100_MICDET_MICBIAS1 = 0, 266d4baf08SMark Brown WM5100_MICDET_MICBIAS2 = 1, 276d4baf08SMark Brown WM5100_MICDET_MICBIAS3 = 2, 286d4baf08SMark Brown }; 296d4baf08SMark Brown 306d4baf08SMark Brown struct wm5100_jack_mode { 316d4baf08SMark Brown enum wm5100_micdet_bias bias; 326d4baf08SMark Brown int hp_pol; 336d4baf08SMark Brown int micd_src; 346d4baf08SMark Brown }; 356d4baf08SMark Brown 366d4baf08SMark Brown #define WM5100_GPIO_SET 0x10000 376d4baf08SMark Brown 386d4baf08SMark Brown struct wm5100_pdata { 396d4baf08SMark Brown int reset; /** GPIO controlling /RESET, if any */ 406d4baf08SMark Brown int ldo_ena; /** GPIO controlling LODENA, if any */ 416d4baf08SMark Brown int hp_pol; /** GPIO controlling headset polarity, if any */ 426d4baf08SMark Brown int irq_flags; 436d4baf08SMark Brown int gpio_base; 446d4baf08SMark Brown 456d4baf08SMark Brown struct wm5100_jack_mode jack_modes[2]; 466d4baf08SMark Brown 476d4baf08SMark Brown /* Input pin mode selection */ 486d4baf08SMark Brown enum wm5100_in_mode in_mode[4]; 496d4baf08SMark Brown 506d4baf08SMark Brown /* DMIC supply selection */ 516d4baf08SMark Brown enum wm5100_dmic_sup dmic_sup[4]; 526d4baf08SMark Brown 536d4baf08SMark Brown int gpio_defaults[6]; 546d4baf08SMark Brown }; 556d4baf08SMark Brown 566d4baf08SMark Brown #endif 57