linux/sound/soc/codecs/wm8523.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * wm8523.h  --  WM8523 ASoC driver
 *
 * Copyright 2009 Wolfson Microelectronics, plc
 *
 * Author: Mark Brown <[email protected]>
 *
 * Based on wm8753.h
 */

#ifndef _WM8523_H
#define _WM8523_H

/*
 * Register values.
 */
#define WM8523_DEVICE_ID
#define WM8523_REVISION
#define WM8523_PSCTRL1
#define WM8523_AIF_CTRL1
#define WM8523_AIF_CTRL2
#define WM8523_DAC_CTRL3
#define WM8523_DAC_GAINL
#define WM8523_DAC_GAINR
#define WM8523_ZERO_DETECT

#define WM8523_REGISTER_COUNT
#define WM8523_MAX_REGISTER

/*
 * Field Definitions.
 */

/*
 * R0 (0x00) - DEVICE_ID
 */
#define WM8523_CHIP_ID_MASK
#define WM8523_CHIP_ID_SHIFT
#define WM8523_CHIP_ID_WIDTH

/*
 * R1 (0x01) - REVISION
 */
#define WM8523_CHIP_REV_MASK
#define WM8523_CHIP_REV_SHIFT
#define WM8523_CHIP_REV_WIDTH

/*
 * R2 (0x02) - PSCTRL1
 */
#define WM8523_SYS_ENA_MASK
#define WM8523_SYS_ENA_SHIFT
#define WM8523_SYS_ENA_WIDTH

/*
 * R3 (0x03) - AIF_CTRL1
 */
#define WM8523_TDM_MODE_MASK
#define WM8523_TDM_MODE_SHIFT
#define WM8523_TDM_MODE_WIDTH
#define WM8523_TDM_SLOT_MASK
#define WM8523_TDM_SLOT_SHIFT
#define WM8523_TDM_SLOT_WIDTH
#define WM8523_DEEMPH
#define WM8523_DEEMPH_MASK
#define WM8523_DEEMPH_SHIFT
#define WM8523_DEEMPH_WIDTH
#define WM8523_AIF_MSTR
#define WM8523_AIF_MSTR_MASK
#define WM8523_AIF_MSTR_SHIFT
#define WM8523_AIF_MSTR_WIDTH
#define WM8523_LRCLK_INV
#define WM8523_LRCLK_INV_MASK
#define WM8523_LRCLK_INV_SHIFT
#define WM8523_LRCLK_INV_WIDTH
#define WM8523_BCLK_INV
#define WM8523_BCLK_INV_MASK
#define WM8523_BCLK_INV_SHIFT
#define WM8523_BCLK_INV_WIDTH
#define WM8523_WL_MASK
#define WM8523_WL_SHIFT
#define WM8523_WL_WIDTH
#define WM8523_FMT_MASK
#define WM8523_FMT_SHIFT
#define WM8523_FMT_WIDTH

/*
 * R4 (0x04) - AIF_CTRL2
 */
#define WM8523_DAC_OP_MUX_MASK
#define WM8523_DAC_OP_MUX_SHIFT
#define WM8523_DAC_OP_MUX_WIDTH
#define WM8523_BCLKDIV_MASK
#define WM8523_BCLKDIV_SHIFT
#define WM8523_BCLKDIV_WIDTH
#define WM8523_SR_MASK
#define WM8523_SR_SHIFT
#define WM8523_SR_WIDTH

/*
 * R5 (0x05) - DAC_CTRL3
 */
#define WM8523_ZC
#define WM8523_ZC_MASK
#define WM8523_ZC_SHIFT
#define WM8523_ZC_WIDTH
#define WM8523_DACR
#define WM8523_DACR_MASK
#define WM8523_DACR_SHIFT
#define WM8523_DACR_WIDTH
#define WM8523_DACL
#define WM8523_DACL_MASK
#define WM8523_DACL_SHIFT
#define WM8523_DACL_WIDTH
#define WM8523_VOL_UP_RAMP
#define WM8523_VOL_UP_RAMP_MASK
#define WM8523_VOL_UP_RAMP_SHIFT
#define WM8523_VOL_UP_RAMP_WIDTH
#define WM8523_VOL_DOWN_RAMP
#define WM8523_VOL_DOWN_RAMP_MASK
#define WM8523_VOL_DOWN_RAMP_SHIFT
#define WM8523_VOL_DOWN_RAMP_WIDTH

/*
 * R6 (0x06) - DAC_GAINL
 */
#define WM8523_DACL_VU
#define WM8523_DACL_VU_MASK
#define WM8523_DACL_VU_SHIFT
#define WM8523_DACL_VU_WIDTH
#define WM8523_DACL_VOL_MASK
#define WM8523_DACL_VOL_SHIFT
#define WM8523_DACL_VOL_WIDTH

/*
 * R7 (0x07) - DAC_GAINR
 */
#define WM8523_DACR_VU
#define WM8523_DACR_VU_MASK
#define WM8523_DACR_VU_SHIFT
#define WM8523_DACR_VU_WIDTH
#define WM8523_DACR_VOL_MASK
#define WM8523_DACR_VOL_SHIFT
#define WM8523_DACR_VOL_WIDTH

/*
 * R8 (0x08) - ZERO_DETECT
 */
#define WM8523_ZD_COUNT_MASK
#define WM8523_ZD_COUNT_SHIFT
#define WM8523_ZD_COUNT_WIDTH

#endif