xref: /linux/sound/soc/codecs/tac5xx2.h (revision 00599d4841790d05401820a96cf7edb193888b00)
1*38c89fedSNiranjan H Y /* SPDX-License-Identifier: GPL-2.0
2*38c89fedSNiranjan H Y  *
3*38c89fedSNiranjan H Y  * ALSA SoC Texas Instruments TAC5XX2 Audio Smart Amplifier
4*38c89fedSNiranjan H Y  *
5*38c89fedSNiranjan H Y  * Copyright (C) 2025 Texas Instruments Incorporated
6*38c89fedSNiranjan H Y  * https://www.ti.com
7*38c89fedSNiranjan H Y  *
8*38c89fedSNiranjan H Y  * This the header file for TAC5XX2 family of devices
9*38c89fedSNiranjan H Y  * which includes TAC5572, TAC5672, TAC5682 and TAS2883
10*38c89fedSNiranjan H Y  *
11*38c89fedSNiranjan H Y  * Author: Niranjan H Y <niranjanhy@ti.com>
12*38c89fedSNiranjan H Y  */
13*38c89fedSNiranjan H Y #ifndef __RGL_TAC5XX2_H__
14*38c89fedSNiranjan H Y #define __RGL_TAC5XX2_H__
15*38c89fedSNiranjan H Y 
16*38c89fedSNiranjan H Y /* for soundwire */
17*38c89fedSNiranjan H Y #define TAC_REG_SDW(book, page, reg) (((book) * 256 * 128) + \
18*38c89fedSNiranjan H Y 				      0x3000000 + ((page) * 128) + (reg))
19*38c89fedSNiranjan H Y 
20*38c89fedSNiranjan H Y /* page 0 registers */
21*38c89fedSNiranjan H Y #define TAC_SW_RESET		TAC_REG_SDW(0, 0, 1)
22*38c89fedSNiranjan H Y #define TAC_SLEEP_MODEZ		TAC_REG_SDW(0, 0, 2)
23*38c89fedSNiranjan H Y #define TAC_FEATURE_PDZ		TAC_REG_SDW(0, 0, 3)
24*38c89fedSNiranjan H Y #define TAC_TX_CH_EN		TAC_REG_SDW(0, 0, 4)
25*38c89fedSNiranjan H Y #define TAC_RX_CH_PD		TAC_REG_SDW(0, 0, 5)
26*38c89fedSNiranjan H Y #define TAC_SHDNZ_CFG		TAC_REG_SDW(0, 0, 6)
27*38c89fedSNiranjan H Y #define TAC_MISC_CFG0		TAC_REG_SDW(0, 0, 7)
28*38c89fedSNiranjan H Y #define TAC_MISC_CFG1		TAC_REG_SDW(0, 0, 8)
29*38c89fedSNiranjan H Y #define TAC_GPIO1_CFG0		TAC_REG_SDW(0, 0, 9)
30*38c89fedSNiranjan H Y #define TAC_GPIO2_CFG0		TAC_REG_SDW(0, 0, 10)
31*38c89fedSNiranjan H Y #define TAC_GPIO3_CFG0		TAC_REG_SDW(0, 0, 11)
32*38c89fedSNiranjan H Y #define TAC_GPIO4_CFG0		TAC_REG_SDW(0, 0, 12)
33*38c89fedSNiranjan H Y #define TAC_GPIO5_CFG0		TAC_REG_SDW(0, 0, 13)
34*38c89fedSNiranjan H Y #define TAC_GPIO6_CFG0		TAC_REG_SDW(0, 0, 14)
35*38c89fedSNiranjan H Y #define TAC_INTF_CFG1		TAC_REG_SDW(0, 0, 15)
36*38c89fedSNiranjan H Y #define TAC_INTF_CFG5		TAC_REG_SDW(0, 0, 16)
37*38c89fedSNiranjan H Y #define TAC_PASI_BCLK_CFG0	TAC_REG_SDW(0, 0, 17)
38*38c89fedSNiranjan H Y #define TAC_PASI_FSYNC_CFG0	TAC_REG_SDW(0, 0, 18)
39*38c89fedSNiranjan H Y #define TAC_PASI_DIN1_CFG0	TAC_REG_SDW(0, 0, 19)
40*38c89fedSNiranjan H Y #define TAC_PASI_DIN2_CFG0	TAC_REG_SDW(0, 0, 20)
41*38c89fedSNiranjan H Y #define TAC_PDM_DIN1_CFG0	TAC_REG_SDW(0, 0, 21)
42*38c89fedSNiranjan H Y #define TAC_PDM_DIN2_CFG0	TAC_REG_SDW(0, 0, 22)
43*38c89fedSNiranjan H Y #define TAC_MCLK_SEL		TAC_REG_SDW(0, 0, 23)
44*38c89fedSNiranjan H Y #define TAC_I2C2_CFG0		TAC_REG_SDW(0, 0, 24)
45*38c89fedSNiranjan H Y #define TAC_SDW_IO_CFG0		TAC_REG_SDW(0, 0, 25)
46*38c89fedSNiranjan H Y #define TAC_SDW_CLK_CFG0	TAC_REG_SDW(0, 0, 26)
47*38c89fedSNiranjan H Y #define TAC_PASI_CFG0		TAC_REG_SDW(0, 0, 27)
48*38c89fedSNiranjan H Y #define TAC_PASI_CFG1		TAC_REG_SDW(0, 0, 28)
49*38c89fedSNiranjan H Y #define TAC_PASI_TX_CFG0	TAC_REG_SDW(0, 0, 29)
50*38c89fedSNiranjan H Y #define TAC_PASI_TX_CFG1	TAC_REG_SDW(0, 0, 30)
51*38c89fedSNiranjan H Y #define TAC_PASI_TX_CFG2	TAC_REG_SDW(0, 0, 31)
52*38c89fedSNiranjan H Y #define TAC_PASI_TX_CFG3	TAC_REG_SDW(0, 0, 32)
53*38c89fedSNiranjan H Y #define TAC_PASI_TX_CH1_CFG0	TAC_REG_SDW(0, 0, 33)
54*38c89fedSNiranjan H Y #define TAC_PASI_TX_CH2_CFG0	TAC_REG_SDW(0, 0, 34)
55*38c89fedSNiranjan H Y #define TAC_PASI_TX_CH3_CFG0	TAC_REG_SDW(0, 0, 35)
56*38c89fedSNiranjan H Y #define TAC_PASI_TX_CH4_CFG0	TAC_REG_SDW(0, 0, 36)
57*38c89fedSNiranjan H Y #define TAC_PASI_TX_CH5_CFG0	TAC_REG_SDW(0, 0, 37)
58*38c89fedSNiranjan H Y #define TAC_PASI_TX_CH6_CFG0	TAC_REG_SDW(0, 0, 38)
59*38c89fedSNiranjan H Y #define TAC_PASI_TX_CH7_CFG0	TAC_REG_SDW(0, 0, 39)
60*38c89fedSNiranjan H Y #define TAC_PASI_TX_CH8_CFG0	TAC_REG_SDW(0, 0, 40)
61*38c89fedSNiranjan H Y #define TAC_PASI_RX_CFG0	TAC_REG_SDW(0, 0, 41)
62*38c89fedSNiranjan H Y #define TAC_PASI_RX_CFG1	TAC_REG_SDW(0, 0, 42)
63*38c89fedSNiranjan H Y #define TAC_PASI_RX_CFG2	TAC_REG_SDW(0, 0, 43)
64*38c89fedSNiranjan H Y #define TAC_PASI_RX_CH1_CFG0	TAC_REG_SDW(0, 0, 44)
65*38c89fedSNiranjan H Y #define TAC_PASI_RX_CH2_CFG0	TAC_REG_SDW(0, 0, 45)
66*38c89fedSNiranjan H Y #define TAC_PASI_RX_CH3_CFG0	TAC_REG_SDW(0, 0, 46)
67*38c89fedSNiranjan H Y #define TAC_PASI_RX_CH4_CFG0	TAC_REG_SDW(0, 0, 47)
68*38c89fedSNiranjan H Y #define TAC_PASI_RX_CH5_CFG0	TAC_REG_SDW(0, 0, 48)
69*38c89fedSNiranjan H Y #define TAC_PASI_RX_CH6_CFG0	TAC_REG_SDW(0, 0, 49)
70*38c89fedSNiranjan H Y #define TAC_PASI_RX_CH7_CFG0	TAC_REG_SDW(0, 0, 50)
71*38c89fedSNiranjan H Y #define TAC_PASI_RX_CH8_CFG0	TAC_REG_SDW(0, 0, 51)
72*38c89fedSNiranjan H Y #define TAC_ADC_CH1_CFG0	TAC_REG_SDW(0, 0, 52)
73*38c89fedSNiranjan H Y #define TAC_ADC_DVOL_CFG0	TAC_REG_SDW(0, 0, 53)
74*38c89fedSNiranjan H Y #define TAC_ADC_CH1_FGAIN	TAC_REG_SDW(0, 0, 54)
75*38c89fedSNiranjan H Y #define TAC_ADC_CH1_CFG1	TAC_REG_SDW(0, 0, 55)
76*38c89fedSNiranjan H Y #define TAC_ADC_CH2_CFG0	TAC_REG_SDW(0, 0, 57)
77*38c89fedSNiranjan H Y #define TAC_ADC_DVOL_CFG1	TAC_REG_SDW(0, 0, 58)
78*38c89fedSNiranjan H Y #define TAC_ADC_CH2_FGAIN	TAC_REG_SDW(0, 0, 59)
79*38c89fedSNiranjan H Y #define TAC_ADC_CH2_CFG1	TAC_REG_SDW(0, 0, 60)
80*38c89fedSNiranjan H Y #define TAC_ADC_CFG1		TAC_REG_SDW(0, 0, 62)
81*38c89fedSNiranjan H Y #define TAC_PDM_CH1_DVOL	TAC_REG_SDW(0, 0, 63)
82*38c89fedSNiranjan H Y #define TAC_PDM_CH1_FGAIN	TAC_REG_SDW(0, 0, 64)
83*38c89fedSNiranjan H Y #define TAC_PDM_CH1_CFG0	TAC_REG_SDW(0, 0, 65)
84*38c89fedSNiranjan H Y #define TAC_PDM_CH2_DVOL	TAC_REG_SDW(0, 0, 67)
85*38c89fedSNiranjan H Y #define TAC_PDM_CH2_FGAIN	TAC_REG_SDW(0, 0, 68)
86*38c89fedSNiranjan H Y #define TAC_PDM_CH2_CFG2	TAC_REG_SDW(0, 0, 69)
87*38c89fedSNiranjan H Y #define TAC_PDM_CH3_DVOL	TAC_REG_SDW(0, 0, 71)
88*38c89fedSNiranjan H Y #define TAC_PDM_CH3_FGAIN	TAC_REG_SDW(0, 0, 72)
89*38c89fedSNiranjan H Y #define TAC_PDM_CH3_CFG0	TAC_REG_SDW(0, 0, 73)
90*38c89fedSNiranjan H Y #define TAC_PDM_CH4_DVOL	TAC_REG_SDW(0, 0, 75)
91*38c89fedSNiranjan H Y #define TAC_PDM_CH4_FGAIN	TAC_REG_SDW(0, 0, 76)
92*38c89fedSNiranjan H Y #define TAC_PDM_CH4_CFG0	TAC_REG_SDW(0, 0, 77)
93*38c89fedSNiranjan H Y #define TAC_MICBIAS_CFG0	TAC_REG_SDW(0, 0, 79)
94*38c89fedSNiranjan H Y #define TAC_MICPREAMP_CFG	TAC_REG_SDW(0, 0, 80)
95*38c89fedSNiranjan H Y #define TAC_MICBIAS_CFG1	TAC_REG_SDW(0, 0, 81)
96*38c89fedSNiranjan H Y #define TAC_CLASSD_CH1_DVOL	TAC_REG_SDW(0, 0, 82)
97*38c89fedSNiranjan H Y #define TAC_CLASSD_CH1_FGAIN	TAC_REG_SDW(0, 0, 83)
98*38c89fedSNiranjan H Y #define TAC_CLASSD_CH2_DVOL	TAC_REG_SDW(0, 0, 85)
99*38c89fedSNiranjan H Y #define TAC_CLASSD_CH2_FGAIN	TAC_REG_SDW(0, 0, 86)
100*38c89fedSNiranjan H Y #define TAC_GCHP_CH1_DVOL	TAC_REG_SDW(0, 0, 88)
101*38c89fedSNiranjan H Y #define TAC_GCHP_CH1_FGAIN	TAC_REG_SDW(0, 0, 89)
102*38c89fedSNiranjan H Y #define TAC_GCHP_CH2_DVOL	TAC_REG_SDW(0, 0, 91)
103*38c89fedSNiranjan H Y #define TAC_GCHP_CH2_FGAIN	TAC_REG_SDW(0, 0, 92)
104*38c89fedSNiranjan H Y #define TAC_AMP_LVL_CFG0	TAC_REG_SDW(0, 0, 94)
105*38c89fedSNiranjan H Y #define TAC_AMP_LVL_CFG1	TAC_REG_SDW(0, 0, 95)
106*38c89fedSNiranjan H Y #define TAC_AMP_LVL_CFG2	TAC_REG_SDW(0, 0, 96)
107*38c89fedSNiranjan H Y #define TAC_AMP_LVL_CFG3	TAC_REG_SDW(0, 0, 97)
108*38c89fedSNiranjan H Y #define TAC_EFF_MODE_CFG0	TAC_REG_SDW(0, 0, 98)
109*38c89fedSNiranjan H Y #define TAC_EFF_MODE_CFG1	TAC_REG_SDW(0, 0, 99)
110*38c89fedSNiranjan H Y #define TAC_CLASSD_CFG0		TAC_REG_SDW(0, 0, 100)
111*38c89fedSNiranjan H Y #define TAC_CLASSD_CFG1		TAC_REG_SDW(0, 0, 101)
112*38c89fedSNiranjan H Y #define TAC_CLASSD_CFG3		TAC_REG_SDW(0, 0, 102)
113*38c89fedSNiranjan H Y #define TAC_CLASSD_CFG4		TAC_REG_SDW(0, 0, 103)
114*38c89fedSNiranjan H Y #define TAC_CLASSD_CFG5		TAC_REG_SDW(0, 0, 104)
115*38c89fedSNiranjan H Y #define TAC_CLASSD_CFG6		TAC_REG_SDW(0, 0, 105)
116*38c89fedSNiranjan H Y #define TAC_CLASSD_CFG8		TAC_REG_SDW(0, 0, 106)
117*38c89fedSNiranjan H Y #define TAC_ISNS_CFG		TAC_REG_SDW(0, 0, 107)
118*38c89fedSNiranjan H Y #define TAC_DSP_CFG0		TAC_REG_SDW(0, 0, 108)
119*38c89fedSNiranjan H Y #define TAC_DSP_CFG1		TAC_REG_SDW(0, 0, 109)
120*38c89fedSNiranjan H Y #define TAC_DSP_CFG2		TAC_REG_SDW(0, 0, 110)
121*38c89fedSNiranjan H Y #define TAC_DSP_CFG3		TAC_REG_SDW(0, 0, 111)
122*38c89fedSNiranjan H Y #define TAC_JACK_DET_CFG1	TAC_REG_SDW(0, 0, 112)
123*38c89fedSNiranjan H Y #define TAC_JACK_DET_CFG2	TAC_REG_SDW(0, 0, 113)
124*38c89fedSNiranjan H Y #define TAC_JACK_DET_CFG3	TAC_REG_SDW(0, 0, 114)
125*38c89fedSNiranjan H Y #define TAC_JACK_DET_CFG4	TAC_REG_SDW(0, 0, 115)
126*38c89fedSNiranjan H Y #define TAC_JACK_DET_CFG7	TAC_REG_SDW(0, 0, 116)
127*38c89fedSNiranjan H Y #define TAC_UJ_IMPEDANCE_L	TAC_REG_SDW(0, 0, 117)
128*38c89fedSNiranjan H Y #define TAC_UJ_IMPEDANCE_R	TAC_REG_SDW(0, 0, 118)
129*38c89fedSNiranjan H Y #define UJ_IMPEDANCE_L		TAC_REG_SDW(0, 0, 119)
130*38c89fedSNiranjan H Y #define UJ_IMPEDANCE_R		TAC_REG_SDW(0, 0, 120)
131*38c89fedSNiranjan H Y #define TAC_GP_ANA_STS		TAC_REG_SDW(0, 0, 123)
132*38c89fedSNiranjan H Y #define TAC_DEV_ID		TAC_REG_SDW(0, 0, 124)
133*38c89fedSNiranjan H Y #define TAC_REV_ID		TAC_REG_SDW(0, 0, 125)
134*38c89fedSNiranjan H Y #define TAC_I2C_CKSUM		TAC_REG_SDW(0, 0, 126)
135*38c89fedSNiranjan H Y #define TAC_BOOK		TAC_REG_SDW(0, 0, 127)
136*38c89fedSNiranjan H Y 
137*38c89fedSNiranjan H Y #define TAC_INT_CFG		TAC_REG_SDW(0, 2, 1)
138*38c89fedSNiranjan H Y #define TAC_INT_CFG_CLR_REG	BIT(3)
139*38c89fedSNiranjan H Y 
140*38c89fedSNiranjan H Y /* smartamp function */
141*38c89fedSNiranjan H Y #define TAC_FUNCTION_ID_SA	0x1
142*38c89fedSNiranjan H Y 
143*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_ENT0	0x0
144*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_PPU21	0x1
145*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_FU21	0x2
146*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_FU26	0x3
147*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_XU22	0x4
148*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_CS24	0x5
149*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_CS21	0x6
150*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_CS25	0x7
151*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_CS26	0x8
152*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_CS28	0x9
153*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_PPU26	0xa
154*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_FU23	0xb
155*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_PDE23	0xc
156*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_TG23	0x12
157*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_IT21	0x13
158*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_IT29	0x14
159*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_IT26	0x15
160*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_IT28	0x16
161*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_OT24	0x17
162*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_OT23	0x18
163*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_OT25	0x19
164*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_OT28	0x1a
165*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_OT27	0x1c
166*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_SPE199	0x21
167*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_OT20	0x24
168*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_FU27	0x26
169*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_FU20	0x27
170*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_PDE24	0x2e
171*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_PDE27	0x2f
172*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_PDE28	0x30
173*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_PDE20	0x31
174*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_SAPU29	0x35
175*38c89fedSNiranjan H Y 
176*38c89fedSNiranjan H Y /* Control selector definitions */
177*38c89fedSNiranjan H Y #define TAC_SDCA_MASTER_GAIN	0x0B
178*38c89fedSNiranjan H Y #define TAC_SDCA_MASTER_MUTE	0x01
179*38c89fedSNiranjan H Y #define TAC_SDCA_CHANNEL_MUTE	0x01
180*38c89fedSNiranjan H Y #define TAC_SDCA_CHANNEL_GAIN	0x02
181*38c89fedSNiranjan H Y #define TAC_SDCA_POSTURENUMBER	0x10
182*38c89fedSNiranjan H Y #define TAC_SDCA_REQUESTED_PS	0x01
183*38c89fedSNiranjan H Y #define TAC_SDCA_ACTUAL_PS	0x10
184*38c89fedSNiranjan H Y #define TAC_SDCA_CHANNEL_VOLUME	0x02
185*38c89fedSNiranjan H Y 
186*38c89fedSNiranjan H Y /* 2. smart mic function */
187*38c89fedSNiranjan H Y #define TAC_FUNCTION_ID_SM	0x2
188*38c89fedSNiranjan H Y 
189*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_IT11   0x1
190*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_OT113	0x2
191*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_CS11	0x3
192*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_CS18	0x4
193*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_FU113	0x5
194*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_FU13	0x6
195*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_FU11	0x8
196*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_XU12	0xa
197*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_CS113	0xc
198*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_CX11	0xf
199*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_PDE11	0x12
200*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_PPU11	0x9
201*38c89fedSNiranjan H Y 
202*38c89fedSNiranjan H Y /* controls */
203*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_USAGE	0x04
204*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_IT_CLUSTER	0x10
205*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_OT_DP_SEL	0x11
206*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_XU_BYPASS	0x01
207*38c89fedSNiranjan H Y /* cx */
208*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_CX_CLK_SEL		0x01
209*38c89fedSNiranjan H Y /* cs */
210*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_CS_CLKVLD		0x02
211*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_CS_SAMP_RATE_IDX	0x10
212*38c89fedSNiranjan H Y /* cs113 end */
213*38c89fedSNiranjan H Y /* ppu */
214*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_PPU_POSTURE_NUM	0x10
215*38c89fedSNiranjan H Y 
216*38c89fedSNiranjan H Y /* 3. UAJ function */
217*38c89fedSNiranjan H Y #define TAC_FUNCTION_ID_UAJ	0x3
218*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_PDE47	0x35
219*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_PDE34	0x32
220*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_FU41	0x26 /* user */
221*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_IT41	0x07
222*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_XU42	0x2C
223*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_CS41	0x30
224*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_OT45	0x0E
225*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_IT33	0x03
226*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_OT36	0x0A
227*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_FU36	0x28
228*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_CS36	0x2E
229*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_GE35	0x3B /* 59 */
230*38c89fedSNiranjan H Y 
231*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_SEL_MODE	0x1
232*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_DET_MODE	0x2
233*38c89fedSNiranjan H Y 
234*38c89fedSNiranjan H Y /* 4. HID function */
235*38c89fedSNiranjan H Y #define TAC_FUNCTION_ID_HID	0x4
236*38c89fedSNiranjan H Y #define TAC_SDCA_ENT_HID1	0x1
237*38c89fedSNiranjan H Y /* HID Control Selectors */
238*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_HIDTX_CURRENT_OWNER	0x10
239*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_HIDTX_MESSAGE_OFFSET	0x12
240*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_HIDTX_MESSAGE_LENGTH	0x13
241*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_DETECTED_MODE	0x10
242*38c89fedSNiranjan H Y #define TAC_SDCA_CTL_SELECTED_MODE	0x11
243*38c89fedSNiranjan H Y 
244*38c89fedSNiranjan H Y #define TAC_BUF_ADDR_HID1	0x44007F80
245*38c89fedSNiranjan H Y 
246*38c89fedSNiranjan H Y /* DAI interfaces */
247*38c89fedSNiranjan H Y #define TAC5XX2_SPK	0
248*38c89fedSNiranjan H Y #define TAC5XX2_DMIC	2
249*38c89fedSNiranjan H Y #define TAC5XX2_UAJ	3
250*38c89fedSNiranjan H Y 
251*38c89fedSNiranjan H Y /* Port numbers for DAIs */
252*38c89fedSNiranjan H Y #define TAC_SDW_PORT_NUM_SPK_PLAYBACK	1
253*38c89fedSNiranjan H Y #define TAC_SDW_PORT_NUM_SPK_CAPTURE	2
254*38c89fedSNiranjan H Y #define TAC_SDW_PORT_NUM_DMIC		3
255*38c89fedSNiranjan H Y #define TAC_SDW_PORT_NUM_UAJ_PLAYBACK	4
256*38c89fedSNiranjan H Y #define TAC_SDW_PORT_NUM_UAJ_CAPTURE	7
257*38c89fedSNiranjan H Y #define TAC_SDW_PORT_NUM_IV_SENSE	8
258*38c89fedSNiranjan H Y 
259*38c89fedSNiranjan H Y #endif
260