Blame view

drivers/sound/wm8994.h 1.7 KB
a2d8e0a71   Rajeshwari Shinde   SOUND: Add WM8994...
1
2
3
4
  /*
   * Copyright (C) 2012 Samsung Electronics
   * R. Chadrasekar <rcsekar@samsung.com>
   *
1a4596601   Wolfgang Denk   Add GPL-2.0+ SPDX...
5
   * SPDX-License-Identifier:	GPL-2.0+
a2d8e0a71   Rajeshwari Shinde   SOUND: Add WM8994...
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
   */
  
  #ifndef __WM8994_H__
  #define __WM8994_H__
  
  /* Sources for AIF1/2 SYSCLK - use with set_dai_sysclk() */
  #define WM8994_SYSCLK_MCLK1	1
  #define WM8994_SYSCLK_MCLK2	2
  #define WM8994_SYSCLK_FLL1	3
  #define WM8994_SYSCLK_FLL2	4
  
  /*  Avilable audi interface ports in wm8994 codec */
  enum en_audio_interface {
  	 WM8994_AIF1 = 1,
  	 WM8994_AIF2,
  	 WM8994_AIF3
  };
  
  /* OPCLK is also configured with set_dai_sysclk, specify division*10 as rate. */
  #define WM8994_SYSCLK_OPCLK	5
  
  #define WM8994_FLL1	1
  #define WM8994_FLL2	2
  
  #define WM8994_FLL_SRC_MCLK1	1
  #define WM8994_FLL_SRC_MCLK2	2
  #define WM8994_FLL_SRC_LRCLK	3
  #define WM8994_FLL_SRC_BCLK	4
  
  /* maximum available digital interfac in the dac to configure */
  #define WM8994_MAX_AIF			2
  
  #define WM8994_MAX_INPUT_CLK_FREQ	13500000
  #define WM8994_ID			0x8994
  
  enum wm8994_vmid_mode {
  	WM8994_VMID_NORMAL,
  	WM8994_VMID_FORCE,
  };
  
  /* wm 8994 family devices */
  enum wm8994_type {
  	WM8994 = 0,
  	WM8958 = 1,
  	WM1811 = 2,
  };
  
  /*
   * intialise wm8994 sound codec device for the given configuration
   *
6647c7ac8   Rajeshwari Shinde   Sound: WM8994: Ad...
56
   * @param blob			FDT node for codec values
a2d8e0a71   Rajeshwari Shinde   SOUND: Add WM8994...
57
58
59
60
61
62
63
64
65
   * @param aif_id		enum value of codec interface port in which
   *				soc i2s is connected
   * @param sampling_rate		Sampling rate ranges between from 8khz to 96khz
   * @param mclk_freq		Master clock frequency.
   * @param bits_per_sample	bits per Sample can be 16 or 24
   * @param channels		Number of channnels, maximum 2
   *
   * @returns -1 for error  and 0  Success.
   */
6647c7ac8   Rajeshwari Shinde   Sound: WM8994: Ad...
66
  int wm8994_init(const void *blob, enum en_audio_interface aif_id,
a2d8e0a71   Rajeshwari Shinde   SOUND: Add WM8994...
67
68
69
  			int sampling_rate, int mclk_freq,
  			int bits_per_sample, unsigned int channels);
  #endif /*__WM8994_H__ */