linux/sound/soc/codecs/wm8940.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * wm8940.h -- WM8940 Soc Audio driver
 */

#ifndef _WM8940_H
#define _WM8940_H

struct wm8940_setup_data {};

/* WM8940 register space */
#define WM8940_SOFTRESET
#define WM8940_POWER1
#define WM8940_POWER2
#define WM8940_POWER3
#define WM8940_IFACE
#define WM8940_COMPANDINGCTL
#define WM8940_CLOCK
#define WM8940_ADDCNTRL
#define WM8940_GPIO
#define WM8940_CTLINT
#define WM8940_DAC
#define WM8940_DACVOL

#define WM8940_ADC
#define WM8940_ADCVOL
#define WM8940_NOTCH1
#define WM8940_NOTCH2
#define WM8940_NOTCH3
#define WM8940_NOTCH4
#define WM8940_NOTCH5
#define WM8940_NOTCH6
#define WM8940_NOTCH7
#define WM8940_NOTCH8
#define WM8940_DACLIM1
#define WM8940_DACLIM2

#define WM8940_ALC1
#define WM8940_ALC2
#define WM8940_ALC3
#define WM8940_NOISEGATE
#define WM8940_PLLN
#define WM8940_PLLK1
#define WM8940_PLLK2
#define WM8940_PLLK3

#define WM8940_ALC4

#define WM8940_INPUTCTL
#define WM8940_PGAGAIN

#define WM8940_ADCBOOST

#define WM8940_OUTPUTCTL
#define WM8940_SPKMIX

#define WM8940_SPKVOL

#define WM8940_MONOMIX

#define WM8940_CACHEREGNUM


/* Clock divider Id's */
#define WM8940_BCLKDIV
#define WM8940_MCLKDIV
#define WM8940_OPCLKDIV

/* MCLK clock dividers */
#define WM8940_MCLKDIV_1
#define WM8940_MCLKDIV_1_5
#define WM8940_MCLKDIV_2
#define WM8940_MCLKDIV_3
#define WM8940_MCLKDIV_4
#define WM8940_MCLKDIV_6
#define WM8940_MCLKDIV_8
#define WM8940_MCLKDIV_12

/* BCLK clock dividers */
#define WM8940_BCLKDIV_1
#define WM8940_BCLKDIV_2
#define WM8940_BCLKDIV_4
#define WM8940_BCLKDIV_8
#define WM8940_BCLKDIV_16
#define WM8940_BCLKDIV_32

/* PLL Out Dividers */
#define WM8940_OPCLKDIV_1
#define WM8940_OPCLKDIV_2
#define WM8940_OPCLKDIV_3
#define WM8940_OPCLKDIV_4

/* Chip ID */
#define WM8940_CHIP_ID

#endif /* _WM8940_H */