#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/pm.h>
#include <linux/i2c.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
#include <linux/slab.h>
#include <linux/of_device.h>
#include <sound/core.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <sound/soc.h>
#include <sound/tlv.h>
#include <sound/initval.h>
#include <asm/div64.h>
#include "wm8580.h"
Go to the source code of this file.
#define FIXED_PLL_SIZE (1 << 22) |
#define WM8580_ADC_CONTROL1 0x1D |
#define WM8580_AIF_BCLKSEL_MASK 0x18 |
#define WM8580_AIF_BCP 0x20 |
#define WM8580_AIF_CLKSRC_MASK 0xc0 |
#define WM8580_AIF_CLKSRC_MCLK 0xc0 |
#define WM8580_AIF_CLKSRC_PLLA 0x40 |
#define WM8580_AIF_CLKSRC_PLLB 0x40 |
#define WM8580_AIF_FMT_DSP 0x03 |
#define WM8580_AIF_FMT_I2S 0x02 |
#define WM8580_AIF_FMT_LEFTJ 0x01 |
#define WM8580_AIF_FMT_MASK 0x03 |
#define WM8580_AIF_FMT_RIGHTJ 0x00 |
#define WM8580_AIF_LENGTH_16 0x00 |
#define WM8580_AIF_LENGTH_20 0x04 |
#define WM8580_AIF_LENGTH_24 0x08 |
#define WM8580_AIF_LENGTH_32 0x0c |
#define WM8580_AIF_LENGTH_MASK 0x0c |
#define WM8580_AIF_LRP 0x10 |
#define WM8580_AIF_MS 0x20 |
#define WM8580_AIF_RATE_MASK 0x7 |
#define WM8580_CLKSEL 0x08 |
#define WM8580_CLKSEL_DAC_CLKSEL_MASK 0x03 |
#define WM8580_CLKSEL_DAC_CLKSEL_PLLA 0x01 |
#define WM8580_CLKSEL_DAC_CLKSEL_PLLB 0x02 |
#define WM8580_DAC_CONTROL1 0x0F |
#define WM8580_DAC_CONTROL2 0x10 |
#define WM8580_DAC_CONTROL3 0x11 |
#define WM8580_DAC_CONTROL4 0x12 |
#define WM8580_DAC_CONTROL5 0x13 |
#define WM8580_DAC_CONTROL5_MUTEALL 0x10 |
#define WM8580_DACOSR 0x40 |
#define WM8580_DIGITAL_ATTENUATION_DACL1 0x14 |
#define WM8580_DIGITAL_ATTENUATION_DACL2 0x16 |
#define WM8580_DIGITAL_ATTENUATION_DACL3 0x18 |
#define WM8580_DIGITAL_ATTENUATION_DACR1 0x15 |
#define WM8580_DIGITAL_ATTENUATION_DACR2 0x17 |
#define WM8580_DIGITAL_ATTENUATION_DACR3 0x19 |
#define WM8580_INTMASK 0x25 |
#define WM8580_INTSTAT 0x2B |
#define WM8580_MASTER_DIGITAL_ATTENUATION 0x1C |
#define WM8580_MAX_REGISTER 0x35 |
#define WM8580_NUM_SUPPLIES 3 |
#define WM8580_PAIF1 0x09 |
#define WM8580_PAIF2 0x0A |
#define WM8580_PAIF3 0x0C |
#define WM8580_PAIF4 0x0D |
#define WM8580_PLLA1 0x00 |
#define WM8580_PLLA2 0x01 |
#define WM8580_PLLA3 0x02 |
#define WM8580_PLLA4 0x03 |
#define WM8580_PLLB1 0x04 |
#define WM8580_PLLB2 0x05 |
#define WM8580_PLLB3 0x06 |
#define WM8580_PLLB4 0x07 |
#define WM8580_PLLB4_CLKOUTSRC_MASK 0x180 |
#define WM8580_PLLB4_CLKOUTSRC_OSCCLK 0x180 |
#define WM8580_PLLB4_CLKOUTSRC_PLLACLK 0x080 |
#define WM8580_PLLB4_CLKOUTSRC_PLLBCLK 0x100 |
#define WM8580_PLLB4_MCLKOUTSRC_MASK 0x60 |
#define WM8580_PLLB4_MCLKOUTSRC_OSC 0x60 |
#define WM8580_PLLB4_MCLKOUTSRC_PLLA 0x20 |
#define WM8580_PLLB4_MCLKOUTSRC_PLLB 0x40 |
#define WM8580_PWRDN1 0x32 |
#define WM8580_PWRDN1_ALLDACPD 0x040 |
#define WM8580_PWRDN1_PWDN 0x001 |
#define WM8580_PWRDN2 0x33 |
#define WM8580_PWRDN2_OSSCPD 0x001 |
#define WM8580_PWRDN2_PLLAPD 0x002 |
#define WM8580_PWRDN2_PLLBPD 0x004 |
#define WM8580_PWRDN2_SPDIFPD 0x008 |
#define WM8580_PWRDN2_SPDIFRXD 0x020 |
#define WM8580_PWRDN2_SPDIFTXD 0x010 |
#define WM8580_READBACK 0x34 |
#define WM8580_RESET 0x35 |
#define WM8580_SAIF1 0x0B |
#define WM8580_SAIF2 0x0E |
#define WM8580_SPDMODE 0x24 |
#define WM8580_SPDRXCHAN1 0x2C |
#define WM8580_SPDRXCHAN2 0x2D |
#define WM8580_SPDRXCHAN3 0x2E |
#define WM8580_SPDRXCHAN4 0x2F |
#define WM8580_SPDRXCHAN5 0x30 |
#define WM8580_SPDSTAT 0x31 |
#define WM8580_SPDTXCHAN0 0x1E |
#define WM8580_SPDTXCHAN1 0x1F |
#define WM8580_SPDTXCHAN2 0x20 |
#define WM8580_SPDTXCHAN3 0x21 |
#define WM8580_SPDTXCHAN4 0x22 |
#define WM8580_SPDTXCHAN5 0x23 |
MODULE_DESCRIPTION |
( |
"ASoC WM8580 driver" |
| ) |
|
module_exit |
( |
wm8580_exit |
| ) |
|
module_init |
( |
wm8580_modinit |
| ) |
|