brintos

brintos / linux-shallow public Read only

0
0
Text · 4.3 KiB · 350f382 Raw
175 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2#ifndef WM8776_H_INCLUDED3#define WM8776_H_INCLUDED4 5/*6 * the following register names are from:7 * wm8776.h  --  WM8776 ASoC driver8 *9 * Copyright 2009 Wolfson Microelectronics plc10 *11 * Author: Mark Brown <broonie@opensource.wolfsonmicro.com>12 */13 14#define WM8776_HPLVOL		0x0015#define WM8776_HPRVOL		0x0116#define WM8776_HPMASTER		0x0217#define WM8776_DACLVOL		0x0318#define WM8776_DACRVOL		0x0419#define WM8776_DACMASTER	0x0520#define WM8776_PHASESWAP	0x0621#define WM8776_DACCTRL1		0x0722#define WM8776_DACMUTE		0x0823#define WM8776_DACCTRL2		0x0924#define WM8776_DACIFCTRL	0x0a25#define WM8776_ADCIFCTRL	0x0b26#define WM8776_MSTRCTRL		0x0c27#define WM8776_PWRDOWN		0x0d28#define WM8776_ADCLVOL		0x0e29#define WM8776_ADCRVOL		0x0f30#define WM8776_ALCCTRL1		0x1031#define WM8776_ALCCTRL2		0x1132#define WM8776_ALCCTRL3		0x1233#define WM8776_NOISEGATE	0x1334#define WM8776_LIMITER		0x1435#define WM8776_ADCMUX		0x1536#define WM8776_OUTMUX		0x1637#define WM8776_RESET		0x1738 39 40/* HPLVOL/HPRVOL/HPMASTER */41#define WM8776_HPATT_MASK	0x07f42#define WM8776_HPZCEN		0x08043#define WM8776_UPDATE		0x10044 45/* DACLVOL/DACRVOL/DACMASTER */46#define WM8776_DATT_MASK	0x0ff47/*#define WM8776_UPDATE		0x100*/48 49/* PHASESWAP */50#define WM8776_PH_MASK		0x00351 52/* DACCTRL1 */53#define WM8776_DZCEN		0x00154#define WM8776_ATC		0x00255#define WM8776_IZD		0x00456#define WM8776_TOD		0x00857#define WM8776_PL_LEFT_MASK	0x03058#define WM8776_PL_LEFT_MUTE	0x00059#define WM8776_PL_LEFT_LEFT	0x01060#define WM8776_PL_LEFT_RIGHT	0x02061#define WM8776_PL_LEFT_LRMIX	0x03062#define WM8776_PL_RIGHT_MASK	0x0c063#define WM8776_PL_RIGHT_MUTE	0x00064#define WM8776_PL_RIGHT_LEFT	0x04065#define WM8776_PL_RIGHT_RIGHT	0x08066#define WM8776_PL_RIGHT_LRMIX	0x0c067 68/* DACMUTE */69#define WM8776_DMUTE		0x00170 71/* DACCTRL2 */72#define WM8776_DEEMPH		0x00173#define WM8776_DZFM_MASK	0x00674#define WM8776_DZFM_NONE	0x00075#define WM8776_DZFM_LR		0x00276#define WM8776_DZFM_BOTH	0x00477#define WM8776_DZFM_EITHER	0x00678 79/* DACIFCTRL */80#define WM8776_DACFMT_MASK	0x00381#define WM8776_DACFMT_RJUST	0x00082#define WM8776_DACFMT_LJUST	0x00183#define WM8776_DACFMT_I2S	0x00284#define WM8776_DACFMT_DSP	0x00385#define WM8776_DACLRP		0x00486#define WM8776_DACBCP		0x00887#define WM8776_DACWL_MASK	0x03088#define WM8776_DACWL_16		0x00089#define WM8776_DACWL_20		0x01090#define WM8776_DACWL_24		0x02091#define WM8776_DACWL_32		0x03092 93/* ADCIFCTRL */94#define WM8776_ADCFMT_MASK	0x00395#define WM8776_ADCFMT_RJUST	0x00096#define WM8776_ADCFMT_LJUST	0x00197#define WM8776_ADCFMT_I2S	0x00298#define WM8776_ADCFMT_DSP	0x00399#define WM8776_ADCLRP		0x004100#define WM8776_ADCBCP		0x008101#define WM8776_ADCWL_MASK	0x030102#define WM8776_ADCWL_16		0x000103#define WM8776_ADCWL_20		0x010104#define WM8776_ADCWL_24		0x020105#define WM8776_ADCWL_32		0x030106#define WM8776_ADCMCLK		0x040107#define WM8776_ADCHPD		0x100108 109/* MSTRCTRL */110#define WM8776_ADCRATE_MASK	0x007111#define WM8776_ADCRATE_256	0x002112#define WM8776_ADCRATE_384	0x003113#define WM8776_ADCRATE_512	0x004114#define WM8776_ADCRATE_768	0x005115#define WM8776_ADCOSR		0x008116#define WM8776_DACRATE_MASK	0x070117#define WM8776_DACRATE_128	0x000118#define WM8776_DACRATE_192	0x010119#define WM8776_DACRATE_256	0x020120#define WM8776_DACRATE_384	0x030121#define WM8776_DACRATE_512	0x040122#define WM8776_DACRATE_768	0x050123#define WM8776_DACMS		0x080124#define WM8776_ADCMS		0x100125 126/* PWRDOWN */127#define WM8776_PDWN		0x001128#define WM8776_ADCPD		0x002129#define WM8776_DACPD		0x004130#define WM8776_HPPD		0x008131#define WM8776_AINPD		0x040132 133/* ADCLVOL/ADCRVOL */134#define WM8776_AGMASK		0x0ff135#define WM8776_ZCA		0x100136 137/* ALCCTRL1 */138#define WM8776_LCT_MASK		0x00f139#define WM8776_MAXGAIN_MASK	0x070140#define WM8776_LCSEL_MASK	0x180141#define WM8776_LCSEL_LIMITER	0x000142#define WM8776_LCSEL_ALC_RIGHT 0x080143#define WM8776_LCSEL_ALC_LEFT	0x100144#define WM8776_LCSEL_ALC_STEREO	0x180145 146/* ALCCTRL2 */147#define WM8776_HLD_MASK		0x00f148#define WM8776_ALCZC		0x080149#define WM8776_LCEN		0x100150 151/* ALCCTRL3 */152#define WM8776_ATK_MASK		0x00f153#define WM8776_DCY_MASK		0x0f0154 155/* NOISEGATE */156#define WM8776_NGAT		0x001157#define WM8776_NGTH_MASK	0x01c158 159/* LIMITER */160#define WM8776_MAXATTEN_MASK	0x00f161#define WM8776_TRANWIN_MASK	0x070162 163/* ADCMUX */164#define WM8776_AMX_MASK		0x01f165#define WM8776_MUTERA		0x040166#define WM8776_MUTELA		0x080167#define WM8776_LRBOTH		0x100168 169/* OUTMUX */170#define WM8776_MX_DAC		0x001171#define WM8776_MX_AUX		0x002172#define WM8776_MX_BYPASS	0x004173 174#endif175