1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * MAX98504 ALSA SoC Audio driver
4 *
5 * Copyright 2011 - 2012 Maxim Integrated Products
6 * Copyright 2016 Samsung Electronics Co., Ltd.
7 */
8#ifndef MAX98504_H_
9#define MAX98504_H_
10
11/*
12 * MAX98504 Register Definitions
13 */
14#define MAX98504_INTERRUPT_STATUS		0x01
15#define MAX98504_INTERRUPT_FLAGS		0x02
16#define MAX98504_INTERRUPT_ENABLE		0x03
17#define MAX98504_INTERRUPT_FLAG_CLEARS		0x04
18#define MAX98504_GPIO_ENABLE			0x10
19#define MAX98504_GPIO_CONFIG			0x11
20#define MAX98504_WATCHDOG_ENABLE		0x12
21#define MAX98504_WATCHDOG_CONFIG		0x13
22#define MAX98504_WATCHDOG_CLEAR			0x14
23#define MAX98504_CLOCK_MONITOR_ENABLE		0x15
24#define MAX98504_PVDD_BROWNOUT_ENABLE		0x16
25#define MAX98504_PVDD_BROWNOUT_CONFIG_1		0x17
26#define MAX98504_PVDD_BROWNOUT_CONFIG_2		0x18
27#define MAX98504_PVDD_BROWNOUT_CONFIG_3		0x19
28#define MAX98504_PVDD_BROWNOUT_CONFIG_4		0x1a
29#define MAX98504_PCM_RX_ENABLE			0x20
30#define MAX98504_PCM_TX_ENABLE			0x21
31#define MAX98504_PCM_TX_HIZ_CONTROL		0x22
32#define MAX98504_PCM_TX_CHANNEL_SOURCES		0x23
33#define MAX98504_PCM_MODE_CONFIG		0x24
34#define MAX98504_PCM_DSP_CONFIG			0x25
35#define MAX98504_PCM_CLOCK_SETUP		0x26
36#define MAX98504_PCM_SAMPLE_RATE_SETUP		0x27
37#define MAX98504_PCM_TO_SPEAKER_MONOMIX		0x28
38#define MAX98504_PDM_TX_ENABLE			0x30
39#define MAX98504_PDM_TX_HIZ_CONTROL		0x31
40#define MAX98504_PDM_TX_CONTROL			0x32
41#define MAX98504_PDM_RX_ENABLE			0x33
42#define MAX98504_SPEAKER_ENABLE			0x34
43#define MAX98504_SPEAKER_SOURCE_SELECT		0x35
44#define MAX98504_MEASUREMENT_ENABLE		0x36
45#define MAX98504_ANALOGUE_INPUT_GAIN		0x37
46#define MAX98504_TEMPERATURE_LIMIT_CONFIG	0x38
47#define MAX98504_GLOBAL_ENABLE			0x40
48#define MAX98504_SOFTWARE_RESET			0x41
49#define MAX98504_REV_ID				0x7fff
50
51#define MAX98504_MAX_REGISTER			0x7fff
52
53#define MAX98504_DAI_ID_PCM			1
54#define MAX98504_DAI_ID_PDM			2
55
56#endif /* MAX98504_H_ */
57