Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c046fd4d authored by Dimitris Papastamos's avatar Dimitris Papastamos Committed by Mark Brown
Browse files

ASoC: WM8770: Initial driver



The WM8770 is a high performance, multi-channel audio
codec.  The WM8770 is ideal for surround sound processing
applications for home hi-fi, automotive and other audio
visual equipment.

Signed-off-by: default avatarDimitris Papastamos <dp@opensource.wolfsonmicro.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 3a45b867
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -58,6 +58,7 @@ config SND_SOC_ALL_CODECS
	select SND_SOC_WM8741 if SND_SOC_I2C_AND_SPI
	select SND_SOC_WM8741 if SND_SOC_I2C_AND_SPI
	select SND_SOC_WM8750 if SND_SOC_I2C_AND_SPI
	select SND_SOC_WM8750 if SND_SOC_I2C_AND_SPI
	select SND_SOC_WM8753 if SND_SOC_I2C_AND_SPI
	select SND_SOC_WM8753 if SND_SOC_I2C_AND_SPI
	select SND_SOC_WM8770 if SPI_MASTER
	select SND_SOC_WM8776 if SND_SOC_I2C_AND_SPI
	select SND_SOC_WM8776 if SND_SOC_I2C_AND_SPI
	select SND_SOC_WM8804 if SND_SOC_I2C_AND_SPI
	select SND_SOC_WM8804 if SND_SOC_I2C_AND_SPI
	select SND_SOC_WM8900 if I2C
	select SND_SOC_WM8900 if I2C
@@ -244,6 +245,9 @@ config SND_SOC_WM8750
config SND_SOC_WM8753
config SND_SOC_WM8753
	tristate
	tristate


config SND_SOC_WM8770
	tristate

config SND_SOC_WM8776
config SND_SOC_WM8776
	tristate
	tristate


+2 −0
Original line number Original line Diff line number Diff line
@@ -42,6 +42,7 @@ snd-soc-wm8731-objs := wm8731.o
snd-soc-wm8741-objs := wm8741.o
snd-soc-wm8741-objs := wm8741.o
snd-soc-wm8750-objs := wm8750.o
snd-soc-wm8750-objs := wm8750.o
snd-soc-wm8753-objs := wm8753.o
snd-soc-wm8753-objs := wm8753.o
snd-soc-wm8770-objs := wm8770.o
snd-soc-wm8776-objs := wm8776.o
snd-soc-wm8776-objs := wm8776.o
snd-soc-wm8804-objs := wm8804.o
snd-soc-wm8804-objs := wm8804.o
snd-soc-wm8900-objs := wm8900.o
snd-soc-wm8900-objs := wm8900.o
@@ -118,6 +119,7 @@ obj-$(CONFIG_SND_SOC_WM8731) += snd-soc-wm8731.o
obj-$(CONFIG_SND_SOC_WM8741)	+= snd-soc-wm8741.o
obj-$(CONFIG_SND_SOC_WM8741)	+= snd-soc-wm8741.o
obj-$(CONFIG_SND_SOC_WM8750)	+= snd-soc-wm8750.o
obj-$(CONFIG_SND_SOC_WM8750)	+= snd-soc-wm8750.o
obj-$(CONFIG_SND_SOC_WM8753)	+= snd-soc-wm8753.o
obj-$(CONFIG_SND_SOC_WM8753)	+= snd-soc-wm8753.o
obj-$(CONFIG_SND_SOC_WM8770)	+= snd-soc-wm8770.o
obj-$(CONFIG_SND_SOC_WM8776)	+= snd-soc-wm8776.o
obj-$(CONFIG_SND_SOC_WM8776)	+= snd-soc-wm8776.o
obj-$(CONFIG_SND_SOC_WM8804)	+= snd-soc-wm8804.o
obj-$(CONFIG_SND_SOC_WM8804)	+= snd-soc-wm8804.o
obj-$(CONFIG_SND_SOC_WM8900)	+= snd-soc-wm8900.o
obj-$(CONFIG_SND_SOC_WM8900)	+= snd-soc-wm8900.o
+750 −0

File added.

Preview size limit exceeded, changes collapsed.

+51 −0
Original line number Original line Diff line number Diff line
/*
 * wm8770.h  --  WM8770 ASoC driver
 *
 * Copyright 2010 Wolfson Microelectronics plc
 *
 * Author: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

#ifndef _WM8770_H
#define _WM8770_H

/* Registers */
#define WM8770_VOUT1LVOL                0
#define WM8770_VOUT1RVOL                0x1
#define WM8770_VOUT2LVOL                0x2
#define WM8770_VOUT2RVOL                0x3
#define WM8770_VOUT3LVOL                0x4
#define WM8770_VOUT3RVOL                0x5
#define WM8770_VOUT4LVOL                0x6
#define WM8770_VOUT4RVOL                0x7
#define WM8770_MSALGVOL                 0x8
#define WM8770_DAC1LVOL                 0x9
#define WM8770_DAC1RVOL                 0xa
#define WM8770_DAC2LVOL                 0xb
#define WM8770_DAC2RVOL                 0xc
#define WM8770_DAC3LVOL                 0xd
#define WM8770_DAC3RVOL                 0xe
#define WM8770_DAC4LVOL                 0xf
#define WM8770_DAC4RVOL                 0x10
#define WM8770_MSDIGVOL                 0x11
#define WM8770_DACPHASE                 0x12
#define WM8770_DACCTRL1                 0x13
#define WM8770_DACMUTE                  0x14
#define WM8770_DACCTRL2                 0x15
#define WM8770_IFACECTRL                0x16
#define WM8770_MSTRCTRL                 0x17
#define WM8770_PWDNCTRL                 0x18
#define WM8770_ADCLCTRL                 0x19
#define WM8770_ADCRCTRL                 0x1a
#define WM8770_ADCMUX                   0x1b
#define WM8770_OUTMUX1                  0x1c
#define WM8770_OUTMUX2                  0x1d
#define WM8770_RESET                    0x31

#define WM8770_CACHEREGNUM 0x20

#endif