linux/include/sound/wm5100.h
<<
>>
Prefs
   1/*
   2 * linux/sound/wm5100.h -- Platform data for WM5100
   3 *
   4 * Copyright 2011 Wolfson Microelectronics. PLC.
   5 *
   6 * This program is free software; you can redistribute it and/or modify
   7 * it under the terms of the GNU General Public License version 2 as
   8 * published by the Free Software Foundation.
   9 */
  10
  11#ifndef __LINUX_SND_WM5100_H
  12#define __LINUX_SND_WM5100_H
  13
  14enum wm5100_in_mode {
  15        WM5100_IN_SE = 0,
  16        WM5100_IN_DIFF = 1,
  17        WM5100_IN_DMIC = 2,
  18};
  19
  20enum wm5100_dmic_sup {
  21        WM5100_DMIC_SUP_MICVDD = 0,
  22        WM5100_DMIC_SUP_MICBIAS1 = 1,
  23        WM5100_DMIC_SUP_MICBIAS2 = 2,
  24        WM5100_DMIC_SUP_MICBIAS3 = 3,
  25};
  26
  27enum wm5100_micdet_bias {
  28        WM5100_MICDET_MICBIAS1 = 0,
  29        WM5100_MICDET_MICBIAS2 = 1,
  30        WM5100_MICDET_MICBIAS3 = 2,
  31};
  32
  33struct wm5100_jack_mode {
  34        enum wm5100_micdet_bias bias;
  35        int hp_pol;
  36        int micd_src;
  37};
  38
  39#define WM5100_GPIO_SET 0x10000
  40
  41struct wm5100_pdata {
  42        int reset;      /** GPIO controlling /RESET, if any */
  43        int ldo_ena;    /** GPIO controlling LODENA, if any */
  44        int hp_pol;     /** GPIO controlling headset polarity, if any */
  45        int irq_flags;
  46        int gpio_base;
  47
  48        struct wm5100_jack_mode jack_modes[2];
  49
  50        /* Input pin mode selection */
  51        enum wm5100_in_mode in_mode[4];
  52
  53        /* DMIC supply selection */
  54        enum wm5100_dmic_sup dmic_sup[4];
  55
  56        int gpio_defaults[6];
  57};
  58
  59#endif
  60