1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * File: sound/soc/codec/ad73311.h
4 * Based on:
5 * Author: Cliff Cai <cliff.cai@analog.com>
6 *
7 * Created: Thur Sep 25, 2008
8 * Description: definitions for AD73311 registers
9 *
10 * Modified:
11 * Copyright 2006 Analog Devices Inc.
12 *
13 * Bugs: Enter bugs at http://blackfin.uclinux.org/
14 */
15
16#ifndef __AD73311_H__
17#define __AD73311_H__
18
19#define AD_CONTROL 0x8000
20#define AD_DATA 0x0000
21#define AD_READ 0x4000
22#define AD_WRITE 0x0000
23
24/* Control register A */
25#define CTRL_REG_A (0 << 8)
26
27#define REGA_MODE_PRO 0x00
28#define REGA_MODE_DATA 0x01
29#define REGA_MODE_MIXED 0x03
30#define REGA_DLB 0x04
31#define REGA_SLB 0x08
32#define REGA_DEVC(x) ((x & 0x7) << 4)
33#define REGA_RESET 0x80
34
35/* Control register B */
36#define CTRL_REG_B (1 << 8)
37
38#define REGB_DIRATE(x) (x & 0x3)
39#define REGB_SCDIV(x) ((x & 0x3) << 2)
40#define REGB_MCDIV(x) ((x & 0x7) << 4)
41#define REGB_CEE (1 << 7)
42
43/* Control register C */
44#define CTRL_REG_C (2 << 8)
45
46#define REGC_PUDEV (1 << 0)
47#define REGC_PUADC (1 << 3)
48#define REGC_PUDAC (1 << 4)
49#define REGC_PUREF (1 << 5)
50#define REGC_REFUSE (1 << 6)
51
52/* Control register D */
53#define CTRL_REG_D (3 << 8)
54
55#define REGD_IGS(x) (x & 0x7)
56#define REGD_RMOD (1 << 3)
57#define REGD_OGS(x) ((x & 0x7) << 4)
58#define REGD_MUTE (1 << 7)
59
60/* Control register E */
61#define CTRL_REG_E (4 << 8)
62
63#define REGE_DA(x) (x & 0x1f)
64#define REGE_IBYP (1 << 5)
65
66/* Control register F */
67#define CTRL_REG_F (5 << 8)
68
69#define REGF_SEEN (1 << 5)
70#define REGF_INV (1 << 6)
71#define REGF_ALB (1 << 7)
72
73#endif
74

source code of linux/sound/soc/codecs/ad73311.h