Merge tag 'v5.15.57' into rpi-5.15.y
[platform/kernel/linux-rpi.git] / sound / soc / codecs / i-sabre-codec.h
1 /*
2  * Driver for I-Sabre Q2M
3  *
4  * Author: Satoru Kawase
5  * Modified by: Xiao Qingyong
6  *      Copyright 2018 Audiophonics
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License
10  * version 2 as published by the Free Software Foundation.
11  *
12  * This program is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * General Public License for more details.
16  */
17
18 #ifndef _SND_SOC_ISABRECODEC
19 #define _SND_SOC_ISABRECODEC
20
21
22 /* ISABRECODEC Register Address */
23 #define ISABRECODEC_REG_01      0x01    /* Virtual Device ID  :  0x01 = es9038q2m */
24 #define ISABRECODEC_REG_02      0x02    /* API revision       :  0x01 = Revision 01 */
25 #define ISABRECODEC_REG_10      0x10    /* 0x01 = above 192kHz, 0x00 = otherwise */
26 #define ISABRECODEC_REG_20      0x20    /* 0 - 100 (decimal value, 0 = min., 100 = max.) */
27 #define ISABRECODEC_REG_21      0x21    /* 0x00 = Mute OFF, 0x01 = Mute ON */
28 #define ISABRECODEC_REG_22      0x22    
29 /*
30    0x00 = brick wall,
31    0x01 = corrected minimum phase fast,
32    0x02 = minimum phase slow,
33    0x03 = minimum phase fast,
34    0x04 = linear phase slow,
35    0x05 = linear phase fast,
36    0x06 = apodizing fast,
37 */
38 //#define ISABRECODEC_REG_23    0x23    /* reserved */
39 #define ISABRECODEC_REG_24      0x24    /* 0x00 = I2S, 0x01 = SPDIF */
40 #define ISABRECODEC_MAX_REG     0x24    /* Maximum Register Number */
41
42 #endif /* _SND_SOC_ISABRECODEC */