Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros
prodigy_hifi.c File Reference
#include <asm/io.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/mutex.h>
#include <sound/core.h>
#include <sound/info.h>
#include <sound/tlv.h>
#include "ice1712.h"
#include "envy24ht.h"
#include "prodigy_hifi.h"

Go to the source code of this file.

Data Structures

struct  prodigy_hifi_spec
 

Macros

#define WM_DEV   0x34
 
#define WM_HP_ATTEN_L   0x00 /* headphone left attenuation */
 
#define WM_HP_ATTEN_R   0x01 /* headphone left attenuation */
 
#define WM_HP_MASTER
 
#define WM_DAC_ATTEN_L   0x03 /* digital left attenuation */
 
#define WM_DAC_ATTEN_R   0x04
 
#define WM_DAC_MASTER   0x05
 
#define WM_PHASE_SWAP   0x06 /* DAC phase swap */
 
#define WM_DAC_CTRL1   0x07
 
#define WM_DAC_MUTE   0x08
 
#define WM_DAC_CTRL2   0x09
 
#define WM_DAC_INT   0x0a
 
#define WM_ADC_INT   0x0b
 
#define WM_MASTER_CTRL   0x0c
 
#define WM_POWERDOWN   0x0d
 
#define WM_ADC_ATTEN_L   0x0e
 
#define WM_ADC_ATTEN_R   0x0f
 
#define WM_ALC_CTRL1   0x10
 
#define WM_ALC_CTRL2   0x11
 
#define WM_ALC_CTRL3   0x12
 
#define WM_NOISE_GATE   0x13
 
#define WM_LIMITER   0x14
 
#define WM_ADC_MUX   0x15
 
#define WM_OUT_MUX   0x16
 
#define WM_RESET   0x17
 
#define WM_AIN1   "AIN1"
 
#define WM_AIN2   "AIN2"
 
#define WM_AIN3   "AIN3"
 
#define WM_AIN4   "AIN4"
 
#define WM_AIN5   "AIN5"
 
#define WM8766_SPI_CLK   (1<<17) /* CLK, Pin97 on ICE1724 */
 
#define WM8766_SPI_MD   (1<<16) /* DATA VT1724 -> WM8766, Pin96 */
 
#define WM8766_SPI_ML   (1<<18) /* Latch, Pin98 */
 
#define WM8766_DAC_CTRL   0x02 /* DAC Control */
 
#define WM8766_INT_CTRL   0x03 /* Interface Control */
 
#define WM8766_DAC_CTRL2   0x09
 
#define WM8766_DAC_CTRL3   0x0a
 
#define WM8766_RESET   0x1f
 
#define WM8766_LDA1   0x00
 
#define WM8766_LDA2   0x04
 
#define WM8766_LDA3   0x06
 
#define WM8766_RDA1   0x01
 
#define WM8766_RDA2   0x05
 
#define WM8766_RDA3   0x07
 
#define WM8766_MUTE1   0x0C
 
#define WM8766_MUTE2   0x0F
 
#define AK4396_ADDR   0x00
 
#define AK4396_CSN   (1 << 8) /* CSN->GPIO8, pin 75 */
 
#define AK4396_CCLK   (1 << 9) /* CCLK->GPIO9, pin 76 */
 
#define AK4396_CDTI   (1 << 10) /* CDTI->GPIO10, pin 77 */
 
#define AK4396_CTRL1   0x00
 
#define AK4396_CTRL2   0x01
 
#define AK4396_CTRL3   0x02
 
#define AK4396_LCH_ATT   0x03
 
#define AK4396_RCH_ATT   0x04
 
#define WM_VOL_MAX   (sizeof(wm_vol) - 1)
 
#define WM_VOL_MUTE   0x8000
 
#define DAC_0dB   0xff
 
#define DAC_RES   128
 
#define DAC_MIN   (DAC_0dB - DAC_RES)
 
#define ADC_0dB   0xcf
 
#define ADC_RES   128
 
#define ADC_MIN   (ADC_0dB - ADC_RES)
 
#define wm_adc_mux_info   snd_ctl_boolean_mono_info
 
#define wm_bypass_info   snd_ctl_boolean_mono_info
 
#define wm_chswap_info   snd_ctl_boolean_mono_info
 

Macro Definition Documentation

#define ADC_0dB   0xcf

Definition at line 608 of file prodigy_hifi.c.

#define ADC_MIN   (ADC_0dB - ADC_RES)

Definition at line 610 of file prodigy_hifi.c.

#define ADC_RES   128

Definition at line 609 of file prodigy_hifi.c.

#define AK4396_ADDR   0x00

Definition at line 111 of file prodigy_hifi.c.

#define AK4396_CCLK   (1 << 9) /* CCLK->GPIO9, pin 76 */

Definition at line 113 of file prodigy_hifi.c.

#define AK4396_CDTI   (1 << 10) /* CDTI->GPIO10, pin 77 */

Definition at line 114 of file prodigy_hifi.c.

#define AK4396_CSN   (1 << 8) /* CSN->GPIO8, pin 75 */

Definition at line 112 of file prodigy_hifi.c.

#define AK4396_CTRL1   0x00

Definition at line 117 of file prodigy_hifi.c.

#define AK4396_CTRL2   0x01

Definition at line 118 of file prodigy_hifi.c.

#define AK4396_CTRL3   0x02

Definition at line 119 of file prodigy_hifi.c.

#define AK4396_LCH_ATT   0x03

Definition at line 120 of file prodigy_hifi.c.

#define AK4396_RCH_ATT   0x04

Definition at line 121 of file prodigy_hifi.c.

#define DAC_0dB   0xff

Definition at line 340 of file prodigy_hifi.c.

#define DAC_MIN   (DAC_0dB - DAC_RES)

Definition at line 342 of file prodigy_hifi.c.

#define DAC_RES   128

Definition at line 341 of file prodigy_hifi.c.

#define WM8766_DAC_CTRL   0x02 /* DAC Control */

Definition at line 93 of file prodigy_hifi.c.

#define WM8766_DAC_CTRL2   0x09

Definition at line 95 of file prodigy_hifi.c.

#define WM8766_DAC_CTRL3   0x0a

Definition at line 96 of file prodigy_hifi.c.

#define WM8766_INT_CTRL   0x03 /* Interface Control */

Definition at line 94 of file prodigy_hifi.c.

#define WM8766_LDA1   0x00

Definition at line 98 of file prodigy_hifi.c.

#define WM8766_LDA2   0x04

Definition at line 99 of file prodigy_hifi.c.

#define WM8766_LDA3   0x06

Definition at line 100 of file prodigy_hifi.c.

#define WM8766_MUTE1   0x0C

Definition at line 104 of file prodigy_hifi.c.

#define WM8766_MUTE2   0x0F

Definition at line 105 of file prodigy_hifi.c.

#define WM8766_RDA1   0x01

Definition at line 101 of file prodigy_hifi.c.

#define WM8766_RDA2   0x05

Definition at line 102 of file prodigy_hifi.c.

#define WM8766_RDA3   0x07

Definition at line 103 of file prodigy_hifi.c.

#define WM8766_RESET   0x1f

Definition at line 97 of file prodigy_hifi.c.

#define WM8766_SPI_CLK   (1<<17) /* CLK, Pin97 on ICE1724 */

Definition at line 88 of file prodigy_hifi.c.

#define WM8766_SPI_MD   (1<<16) /* DATA VT1724 -> WM8766, Pin96 */

Definition at line 89 of file prodigy_hifi.c.

#define WM8766_SPI_ML   (1<<18) /* Latch, Pin98 */

Definition at line 90 of file prodigy_hifi.c.

#define WM_ADC_ATTEN_L   0x0e

Definition at line 66 of file prodigy_hifi.c.

#define WM_ADC_ATTEN_R   0x0f

Definition at line 67 of file prodigy_hifi.c.

#define WM_ADC_INT   0x0b

Definition at line 63 of file prodigy_hifi.c.

#define WM_ADC_MUX   0x15

Definition at line 73 of file prodigy_hifi.c.

#define wm_adc_mux_info   snd_ctl_boolean_mono_info

Definition at line 664 of file prodigy_hifi.c.

#define WM_AIN1   "AIN1"

Definition at line 81 of file prodigy_hifi.c.

#define WM_AIN2   "AIN2"

Definition at line 82 of file prodigy_hifi.c.

#define WM_AIN3   "AIN3"

Definition at line 83 of file prodigy_hifi.c.

#define WM_AIN4   "AIN4"

Definition at line 84 of file prodigy_hifi.c.

#define WM_AIN5   "AIN5"

Definition at line 85 of file prodigy_hifi.c.

#define WM_ALC_CTRL1   0x10

Definition at line 68 of file prodigy_hifi.c.

#define WM_ALC_CTRL2   0x11

Definition at line 69 of file prodigy_hifi.c.

#define WM_ALC_CTRL3   0x12

Definition at line 70 of file prodigy_hifi.c.

#define wm_bypass_info   snd_ctl_boolean_mono_info

Definition at line 704 of file prodigy_hifi.c.

#define wm_chswap_info   snd_ctl_boolean_mono_info

Definition at line 742 of file prodigy_hifi.c.

#define WM_DAC_ATTEN_L   0x03 /* digital left attenuation */

Definition at line 55 of file prodigy_hifi.c.

#define WM_DAC_ATTEN_R   0x04

Definition at line 56 of file prodigy_hifi.c.

#define WM_DAC_CTRL1   0x07

Definition at line 59 of file prodigy_hifi.c.

#define WM_DAC_CTRL2   0x09

Definition at line 61 of file prodigy_hifi.c.

#define WM_DAC_INT   0x0a

Definition at line 62 of file prodigy_hifi.c.

#define WM_DAC_MASTER   0x05

Definition at line 57 of file prodigy_hifi.c.

#define WM_DAC_MUTE   0x08

Definition at line 60 of file prodigy_hifi.c.

#define WM_DEV   0x34

Definition at line 49 of file prodigy_hifi.c.

#define WM_HP_ATTEN_L   0x00 /* headphone left attenuation */

Definition at line 52 of file prodigy_hifi.c.

#define WM_HP_ATTEN_R   0x01 /* headphone left attenuation */

Definition at line 53 of file prodigy_hifi.c.

#define WM_HP_MASTER
Value:
0x02 /* headphone master (both channels),
override LLR */

Definition at line 54 of file prodigy_hifi.c.

#define WM_LIMITER   0x14

Definition at line 72 of file prodigy_hifi.c.

#define WM_MASTER_CTRL   0x0c

Definition at line 64 of file prodigy_hifi.c.

#define WM_NOISE_GATE   0x13

Definition at line 71 of file prodigy_hifi.c.

#define WM_OUT_MUX   0x16

Definition at line 74 of file prodigy_hifi.c.

#define WM_PHASE_SWAP   0x06 /* DAC phase swap */

Definition at line 58 of file prodigy_hifi.c.

#define WM_POWERDOWN   0x0d

Definition at line 65 of file prodigy_hifi.c.

#define WM_RESET   0x17

Definition at line 75 of file prodigy_hifi.c.

#define WM_VOL_MAX   (sizeof(wm_vol) - 1)

Definition at line 336 of file prodigy_hifi.c.

#define WM_VOL_MUTE   0x8000

Definition at line 337 of file prodigy_hifi.c.