aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mfd/wcd934x/registers.h
blob: bb8d2e2766687aebf460de2f59c751516d27da5c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
/* SPDX-License-Identifier: GPL-2.0 */

#ifndef _WCD934X_REGISTERS_H
#define _WCD934X_REGISTERS_H

#define WCD934X_CODEC_RPM_CLK_GATE				0x0002
#define WCD934X_CODEC_RPM_CLK_GATE_MASK				GENMASK(1, 0)
#define WCD934X_CODEC_RPM_CLK_MCLK_CFG				0x0003
#define WCD934X_CODEC_RPM_CLK_MCLK_CFG_9P6MHZ			BIT(0)
#define WCD934X_CODEC_RPM_CLK_MCLK_CFG_12P288MHZ		BIT(1)
#define WCD934X_CODEC_RPM_CLK_MCLK_CFG_MCLK_MASK		GENMASK(1, 0)
#define WCD934X_CODEC_RPM_RST_CTL				0x0009
#define WCD934X_CODEC_RPM_PWR_CDC_DIG_HM_CTL			0x0011
#define WCD934X_CHIP_TIER_CTRL_CHIP_ID_BYTE0			0x0021
#define WCD934X_CHIP_TIER_CTRL_CHIP_ID_BYTE2			0x0023
#define WCD934X_CHIP_TIER_CTRL_EFUSE_CTL			0x0025
#define WCD934X_EFUSE_SENSE_STATE_MASK				GENMASK(4, 1)
#define WCD934X_EFUSE_SENSE_STATE_DEF				0x10
#define WCD934X_EFUSE_SENSE_EN_MASK				BIT(0)
#define WCD934X_EFUSE_SENSE_ENABLE				BIT(0)
#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT14			0x0037
#define WCD934X_CHIP_TIER_CTRL_EFUSE_VAL_OUT15			0x0038
#define WCD934X_CHIP_TIER_CTRL_EFUSE_STATUS			0x0039
#define WCD934X_DATA_HUB_SB_TX10_INP_CFG			0x006b
#define WCD934X_DATA_HUB_SB_TX11_INP_CFG			0x006c
#define WCD934X_DATA_HUB_SB_TX13_INP_CFG			0x006e
#define WCD934X_CPE_FLL_CONFIG_CTL_2				0x0111
#define WCD934X_CPE_SS_CPARMAD_BUFRDY_INT_PERIOD		0x0213
#define WCD934X_CPE_SS_SVA_CFG					0x0214
#define WCD934X_CPE_SS_DMIC0_CTL				0x0218
#define WCD934X_CPE_SS_DMIC1_CTL				0x0219
#define WCD934X_DMIC_RATE_MASK					GENMASK(3, 1)
#define WCD934X_CPE_SS_DMIC2_CTL				0x021a
#define WCD934X_CPE_SS_DMIC_CFG					0x021b
#define WCD934X_CPE_SS_DMIC_CFG					0x021b
#define WCD934X_CPE_SS_CPAR_CFG					0x021c
#define WCD934X_INTR_PIN1_MASK0					0x0409
#define WCD934X_INTR_PIN1_STATUS0				0x0411
#define WCD934X_INTR_PIN1_CLEAR0				0x0419
#define WCD934X_INTR_PIN2_CLEAR3				0x0434
#define WCD934X_INTR_LEVEL0					0x0461
/* INTR_REG 0 */
#define	WCD934X_IRQ_SLIMBUS			0
#define	WCD934X_IRQ_MISC			1
#define	WCD934X_IRQ_HPH_PA_OCPL_FAULT		2
#define	WCD934X_IRQ_HPH_PA_OCPR_FAULT		3
#define	WCD934X_IRQ_EAR_PA_OCP_FAULT		4
#define	WCD934X_IRQ_HPH_PA_CNPL_COMPLETE	5
#define	WCD934X_IRQ_HPH_PA_CNPR_COMPLETE	6
#define	WCD934X_IRQ_EAR_PA_CNP_COMPLETE		7
/* INTR_REG 1 */
#define	WCD934X_IRQ_MBHC_SW_DET			8
#define	WCD934X_IRQ_MBHC_ELECT_INS_REM_DET	9
#define	WCD934X_IRQ_MBHC_BUTTON_PRESS_DET	10
#define	WCD934X_IRQ_MBHC_BUTTON_RELEASE_DET	11
#define	WCD934X_IRQ_MBHC_ELECT_INS_REM_LEG_DET	12
#define	WCD934X_IRQ_RESERVED_0			13
#define	WCD934X_IRQ_RESERVED_1			14
#define	WCD934X_IRQ_RESERVED_2			15
/* INTR_REG 2 */
#define	WCD934X_IRQ_LINE_PA1_CNP_COMPLETE	16
#define	WCD934X_IRQ_LINE_PA2_CNP_COMPLETE	17
#define	WCD934X_IRQ_SLNQ_ANALOG_ERROR		18
#define	WCD934X_IRQ_RESERVED_3			19
#define	WCD934X_IRQ_SOUNDWIRE			20
#define	WCD934X_IRQ_VDD_DIG_RAMP_COMPLETE	21
#define	WCD934X_IRQ_RCO_ERROR			22
#define	WCD934X_IRQ_CPE_ERROR			23
/* INTR_REG 3 */
#define	WCD934X_IRQ_MAD_AUDIO			24
#define	WCD934X_IRQ_MAD_BEACON			25
#define	WCD934X_IRQ_MAD_ULTRASOUND		26
#define	WCD934X_IRQ_VBAT_ATTACK			27
#define	WCD934X_IRQ_VBAT_RESTORE		28
#define	WCD934X_IRQ_CPE1_INTR			29
#define	WCD934X_IRQ_RESERVED_4			30
#define	WCD934X_IRQ_SLNQ_DIGITAL		31
#define WCD934X_NUM_IRQS			32
#define WCD934X_ANA_BIAS					0x0601
#define WCD934X_ANA_BIAS_EN_MASK				BIT(7)
#define WCD934X_ANA_BIAS_EN					BIT(7)
#define WCD934X_ANA_PRECHRG_EN_MASK				BIT(6)
#define WCD934X_ANA_PRECHRG_EN					BIT(6)
#define WCD934X_ANA_PRECHRG_MODE_MASK				BIT(5)
#define WCD934X_ANA_PRECHRG_MODE_AUTO				BIT(5)
#define WCD934X_ANA_RCO						0x0603
#define WCD934X_ANA_RCO_BG_EN_MASK				BIT(7)
#define WCD934X_ANA_RCO_BG_ENABLE				BIT(7)
#define WCD934X_ANA_BUCK_CTL					0x0606
#define WCD934X_ANA_BUCK_HI_ACCU_PRE_ENX_MASK			GENMASK(1, 0)
#define WCD934X_ANA_BUCK_PRE_EN2_MASK				BIT(0)
#define WCD934X_ANA_BUCK_PRE_EN2_ENABLE				BIT(0)
#define WCD934X_ANA_BUCK_PRE_EN1_MASK				BIT(1)
#define WCD934X_ANA_BUCK_PRE_EN1_ENABLE				BIT(1)
#define WCD934X_ANA_BUCK_HI_ACCU_EN_MASK			BIT(2)
#define WCD934X_ANA_BUCK_HI_ACCU_ENABLE				BIT(2)
#define WCD934X_ANA_RX_SUPPLIES					0x0608
#define WCD934X_ANA_HPH						0x0609
#define WCD934X_ANA_EAR						0x060a
#define WCD934X_ANA_LO_1_2					0x060b
#define WCD934X_ANA_AMIC1					0x060e
#define WCD934X_ANA_AMIC2					0x060f
#define WCD934X_ANA_AMIC3					0x0610
#define WCD934X_ANA_AMIC4					0x0611
#define WCD934X_ANA_MBHC_MECH					0x0614
#define WCD934X_ANA_MBHC_ELECT					0x0615
#define WCD934X_ANA_MBHC_ZDET					0x0616
#define WCD934X_ANA_MBHC_RESULT_1				0x0617
#define WCD934X_ANA_MBHC_RESULT_2				0x0618
#define WCD934X_ANA_MBHC_RESULT_3				0x0619
#define WCD934X_ANA_MICB1					0x0622
#define WCD934X_MICB_VAL_MASK					GENMASK(5, 0)
#define WCD934X_ANA_MICB_EN_MASK				GENMASK(7, 6)
#define WCD934X_ANA_MICB_PULL_UP				0x80
#define WCD934X_ANA_MICB_ENABLE					0x40
#define WCD934X_ANA_MICB_DISABLE				0x0
#define WCD934X_ANA_MICB2					0x0623
#define WCD934X_ANA_MICB3					0x0625
#define WCD934X_ANA_MICB4					0x0626
#define WCD934X_BIAS_VBG_FINE_ADJ				0x0629
#define WCD934X_MICB1_TEST_CTL_1				0x066b
#define WCD934X_MICB1_TEST_CTL_2				0x066c
#define WCD934X_MICB2_TEST_CTL_1				0x066e
#define WCD934X_MICB3_TEST_CTL_1				0x0671
#define WCD934X_MICB4_TEST_CTL_1				0x0674
#define WCD934X_CLASSH_MODE_1					0x0697
#define WCD934X_CLASSH_MODE_2					0x0698
#define WCD934X_CLASSH_MODE_3					0x0699
#define WCD934X_CLASSH_CTRL_VCL_1				0x069a
#define WCD934X_CLASSH_CTRL_VCL_2				0x069b
#define WCD934X_CLASSH_CTRL_CCL_1				0x069c
#define WCD934X_CLASSH_CTRL_CCL_2				0x069d
#define WCD934X_CLASSH_CTRL_CCL_3				0x069e
#define WCD934X_CLASSH_CTRL_CCL_4				0x069f
#define WCD934X_CLASSH_CTRL_CCL_5				0x06a0
#define WCD934X_CLASSH_BUCK_TMUX_A_D				0x06a1
#define WCD934X_CLASSH_BUCK_SW_DRV_CNTL				0x06a2
#define WCD934X_RX_OCP_CTL					0x06b6
#define WCD934X_RX_OCP_COUNT					0x06b7
#define WCD934X_HPH_CNP_EN					0x06cb
#define WCD934X_HPH_CNP_WG_CTL					0x06cc
#define WCD934X_HPH_GM3_BOOST_EN_MASK				BIT(7)
#define WCD934X_HPH_GM3_BOOST_ENABLE				BIT(7)
#define WCD934X_HPH_OCP_CTL					0x06ce
#define WCD934X_HPH_L_EN					0x06d3
#define WCD934X_HPH_GAIN_SRC_SEL_MASK				BIT(5)
#define WCD934X_HPH_GAIN_SRC_SEL_COMPANDER			0
#define WCD934X_HPH_GAIN_SRC_SEL_REGISTER			BIT(5)
#define WCD934X_HPH_L_TEST					0x06d4
#define WCD934X_HPH_R_EN					0x06d6
#define WCD934X_HPH_R_TEST					0x06d7
#define WCD934X_HPH_OCP_DET_MASK				BIT(0)
#define WCD934X_HPH_OCP_DET_ENABLE				BIT(0)
#define WCD934X_HPH_OCP_DET_DISABLE				0
#define WCD934X_DIFF_LO_LO2_COMPANDER				0x06ea
#define WCD934X_DIFF_LO_LO1_COMPANDER				0x06eb
#define WCD934X_CLK_SYS_MCLK_PRG				0x0711
#define WCD934X_EXT_CLK_BUF_EN_MASK	BIT(7)
#define WCD934X_EXT_CLK_BUF_EN		BIT(7)
#define WCD934X_EXT_CLK_DIV_RATIO_MASK	GENMASK(5, 4)
#define WCD934X_EXT_CLK_DIV_BY_2	0x10
#define WCD934X_MCLK_SRC_MASK		BIT(1)
#define WCD934X_MCLK_SRC_EXT_CLK	0
#define WCD934X_MCLK_SRC_MASK		BIT(1)
#define WCD934X_MCLK_EN_MASK		BIT(0)
#define WCD934X_MCLK_EN			BIT(0)
#define WCD934X_CLK_SYS_MCLK2_PRG1				0x0712
#define WCD934X_CLK_SYS_MCLK2_PRG2				0x0713
#define WCD934X_SIDO_NEW_VOUT_A_STARTUP				0x071b
#define WCD934X_SIDO_NEW_VOUT_D_STARTUP				0x071c
#define WCD934X_SIDO_NEW_VOUT_D_FREQ1				0x071d
#define WCD934X_SIDO_NEW_VOUT_D_FREQ2				0x071e
#define WCD934X_SIDO_RIPPLE_FREQ_EN_MASK			BIT(0)
#define WCD934X_SIDO_RIPPLE_FREQ_ENABLE				BIT(0)
#define WCD934X_MBHC_NEW_CTL_2					0x0721
#define WCD934X_TX_NEW_AMIC_4_5_SEL				0x0727
#define WCD934X_HPH_NEW_INT_RDAC_HD2_CTL_L			0x0733
#define WCD934X_HPH_NEW_INT_RDAC_OVERRIDE_CTL			0x0735
#define WCD934X_HPH_NEW_INT_RDAC_HD2_CTL_R			0x0736
#define WCD934X_HPH_NEW_INT_HPH_TIMER1				0x073a
#define WCD934X_HPH_AUTOCHOP_TIMER_EN_MASK			BIT(1)
#define WCD934X_HPH_AUTOCHOP_TIMER_ENABLE			BIT(1)
#define WCD934X_CDC_TX0_TX_PATH_CTL				0x0a31
#define WCD934X_CDC_TX_PATH_CTL_PCM_RATE_MASK			GENMASK(3, 0)
#define WCD934X_CDC_TX_PATH_CTL(dec)			(0xa31 + dec * 0x10)
#define WCD934X_CDC_TX0_TX_PATH_CFG0				0x0a32
#define WCD934X_CDC_TX0_TX_PATH_CFG1				0x0a33
#define WCD934X_CDC_TX0_TX_VOL_CTL				0x0a34
#define WCD934X_CDC_TX0_TX_PATH_192_CTL				0x0a35
#define WCD934X_CDC_TX0_TX_PATH_192_CFG				0x0a36
#define WCD934X_CDC_TX0_TX_PATH_SEC2				0x0a39
#define WCD934X_HPH_CUTOFF_FREQ_CHANGE_REQ_MASK			BIT(1)
#define WCD934X_HPH_CUTOFF_FREQ_CHANGE_REQ			BIT(1)
#define WCD934X_CDC_TX1_TX_PATH_CTL				0x0a41
#define WCD934X_CDC_TX1_TX_PATH_CFG0				0x0a42
#define WCD934X_CDC_TX1_TX_PATH_CFG1				0x0a43
#define WCD934X_CDC_TX1_TX_VOL_CTL				0x0a44
#define WCD934X_CDC_TX2_TX_PATH_CTL				0x0a51
#define WCD934X_CDC_TX2_TX_PATH_CFG0				0x0a52
#define WCD934X_CDC_TX2_TX_PATH_CFG1				0x0a53
#define WCD934X_CDC_TX2_TX_VOL_CTL				0x0a54
#define WCD934X_CDC_TX3_TX_PATH_CTL				0x0a61
#define WCD934X_CDC_TX3_TX_PATH_CFG0				0x0a62
#define WCD934X_CDC_TX3_TX_PATH_CFG1				0x0a63
#define WCD934X_CDC_TX3_TX_VOL_CTL				0x0a64
#define WCD934X_CDC_TX3_TX_PATH_192_CTL				0x0a65
#define WCD934X_CDC_TX3_TX_PATH_192_CFG				0x0a66
#define WCD934X_CDC_TX4_TX_PATH_CTL				0x0a71
#define WCD934X_CDC_TX4_TX_PATH_CFG0				0x0a72
#define WCD934X_CDC_TX4_TX_PATH_CFG1				0x0a73
#define WCD934X_CDC_TX4_TX_VOL_CTL				0x0a74
#define WCD934X_CDC_TX4_TX_PATH_192_CTL				0x0a75
#define WCD934X_CDC_TX4_TX_PATH_192_CFG				0x0a76
#define WCD934X_CDC_TX5_TX_PATH_CTL				0x0a81
#define WCD934X_CDC_TX5_TX_PATH_CFG0				0x0a82
#define WCD934X_CDC_TX5_TX_PATH_CFG1				0x0a83
#define WCD934X_CDC_TX5_TX_VOL_CTL				0x0a84
#define WCD934X_CDC_TX5_TX_PATH_192_CTL				0x0a85
#define WCD934X_CDC_TX5_TX_PATH_192_CFG				0x0a86
#define WCD934X_CDC_TX6_TX_PATH_CTL				0x0a91
#define WCD934X_CDC_TX6_TX_PATH_CFG0				0x0a92
#define WCD934X_CDC_TX6_TX_PATH_CFG1				0x0a93
#define WCD934X_CDC_TX6_TX_VOL_CTL				0x0a94
#define WCD934X_CDC_TX6_TX_PATH_192_CTL				0x0a95
#define WCD934X_CDC_TX6_TX_PATH_192_CFG				0x0a96
#define WCD934X_CDC_TX7_TX_PATH_CTL				0x0aa1
#define WCD934X_CDC_TX7_TX_PATH_CFG0				0x0aa2
#define WCD934X_CDC_TX7_TX_PATH_CFG1				0x0aa3
#define WCD934X_CDC_TX7_TX_VOL_CTL				0x0aa4
#define WCD934X_CDC_TX7_TX_PATH_192_CTL				0x0aa5
#define WCD934X_CDC_TX7_TX_PATH_192_CFG				0x0aa6
#define WCD934X_CDC_TX8_TX_PATH_CTL				0x0ab1
#define WCD934X_CDC_TX8_TX_PATH_CFG0				0x0ab2
#define WCD934X_CDC_TX8_TX_PATH_CFG1				0x0ab3
#define WCD934X_CDC_TX8_TX_VOL_CTL				0x0ab4
#define WCD934X_CDC_TX8_TX_PATH_192_CTL				0x0ab5
#define WCD934X_CDC_TX8_TX_PATH_192_CFG				0x0ab6
#define WCD934X_CDC_TX9_SPKR_PROT_PATH_CFG0			0x0ac3
#define WCD934X_CDC_TX10_SPKR_PROT_PATH_CFG0			0x0ac7
#define WCD934X_CDC_TX11_SPKR_PROT_PATH_CFG0			0x0acb
#define WCD934X_CDC_TX12_SPKR_PROT_PATH_CFG0			0x0acf
#define WCD934X_CDC_COMPANDER1_CTL0				0x0b01
#define WCD934X_COMP_CLK_EN_MASK				BIT(0)
#define WCD934X_COMP_CLK_ENABLE					BIT(0)
#define WCD934X_COMP_SOFT_RST_MASK				BIT(1)
#define WCD934X_COMP_SOFT_RST_ENABLE				BIT(1)
#define WCD934X_COMP_HALT_MASK					BIT(2)
#define WCD934X_COMP_HALT					BIT(2)
#define WCD934X_COMP_SOFT_RST_DISABLE				0
#define WCD934X_CDC_COMPANDER1_CTL7				0x0b08
#define WCD934X_HPH_LOW_PWR_MODE_EN_MASK			BIT(5)
#define WCD934X_CDC_COMPANDER2_CTL7				0x0b10
#define WCD934X_CDC_COMPANDER7_CTL3				0x0b34
#define WCD934X_CDC_COMPANDER7_CTL7				0x0b38
#define WCD934X_CDC_COMPANDER8_CTL3				0x0b3c
#define WCD934X_CDC_COMPANDER8_CTL7				0x0b40
#define WCD934X_CDC_RX0_RX_PATH_CTL				0x0b41
#define WCD934X_CDC_RX_PGA_MUTE_EN_MASK				BIT(4)
#define WCD934X_CDC_RX_PGA_MUTE_ENABLE				BIT(4)
#define WCD934X_CDC_RX_PGA_MUTE_DISABLE				0
#define WCD934X_RX_CLK_EN_MASK					BIT(5)
#define WCD934X_RX_CLK_ENABLE					BIT(5)
#define WCD934X_RX_RESET_MASK					BIT(6)
#define WCD934X_RX_RESET_ENABLE					BIT(6)
#define WCD934X_RX_RESET_DISABLE				0
#define WCD934X_RX_PCM_RATE_MASK				GENMASK(3, 0)
#define WCD934X_RX_PCM_RATE_F_48K				0x04
#define WCD934X_CDC_RX_PATH_CTL(rx)			(0xb41 + rx * 0x14)
#define WCD934X_CDC_MIX_PCM_RATE_MASK				GENMASK(3, 0)
#define WCD934X_CDC_RX0_RX_PATH_CFG0				0x0b42
#define WCD934X_RX_DLY_ZN_EN_MASK				BIT(3)
#define WCD934X_RX_DLY_ZN_ENABLE				BIT(3)
#define WCD934X_RX_DLY_ZN_DISABLE				0
#define WCD934X_CDC_RX0_RX_PATH_CFG1				0x0b43
#define WCD934X_CDC_RX0_RX_PATH_CFG2				0x0b44
#define WCD934X_CDC_RX0_RX_VOL_CTL				0x0b45
#define WCD934X_CDC_RX0_RX_PATH_MIX_CTL				0x0b46
#define WCD934X_CDC_RX_MIX_CLK_EN_MASK				BIT(5)
#define WCD934X_CDC_RX_MIX_CLK_ENABLE				BIT(5)
#define WCD934X_CDC_RX_PATH_MIX_CTL(rx)			(0xb46 + rx * 0x14)
#define WCD934X_CDC_RX0_RX_PATH_MIX_CFG				0x0b47
#define WCD934X_CDC_RX0_RX_VOL_MIX_CTL				0x0b48
#define WCD934X_CDC_RX0_RX_PATH_SEC0				0x0b49
#define WCD934X_CDC_RX0_RX_PATH_DSMDEM_CTL			0x0b53
#define WCD934X_CDC_RX1_RX_PATH_CTL				0x0b55
#define WCD934X_RX_PATH_PGA_MUTE_EN_MASK			BIT(4)
#define WCD934X_RX_PATH_PGA_MUTE_ENABLE				BIT(4)
#define WCD934X_CDC_RX_PATH_PGA_MUTE_DISABLE			0
#define WCD934X_CDC_RX_PATH_CLK_EN_MASK				BIT(5)
#define WCD934X_CDC_RX_PATH_CLK_ENABLE				BIT(5)
#define WCD934X_CDC_RX_PATH_CLK_DISABLE				0
#define WCD934X_CDC_RX1_RX_PATH_CFG0				0x0b56
#define WCD934X_HPH_CMP_EN_MASK					BIT(1)
#define WCD934X_HPH_CMP_ENABLE					BIT(1)
#define WCD934X_HPH_CMP_DISABLE					0
#define WCD934X_CDC_RX1_RX_PATH_CFG2				0x0b58
#define WCD934X_CDC_RX1_RX_VOL_CTL				0x0b59
#define WCD934X_CDC_RX1_RX_PATH_MIX_CTL				0x0b5a
#define WCD934X_CDC_RX1_RX_PATH_MIX_CFG				0x0b5b
#define WCD934X_CDC_RX1_RX_VOL_MIX_CTL				0x0b5c
#define WCD934X_CDC_RX1_RX_PATH_SEC0				0x0b5d
#define WCD934X_CDC_RX1_RX_PATH_SEC3				0x0b60
#define WCD934X_CDC_RX_PATH_SEC_HD2_ALPHA_MASK			GENMASK(5, 2)
#define WCD934X_CDC_RX_PATH_SEC_HD2_ALPHA_0P3125		0x14
#define WCD934X_CDC_RX_PATH_SEC_HD2_ALPHA_0P0000		0
#define WCD934X_CDC_RX1_RX_PATH_DSMDEM_CTL			0x0b67
#define WCD934X_CDC_RX2_RX_PATH_CTL				0x0b69
#define WCD934X_CDC_RX2_RX_PATH_CFG0				0x0b6a
#define WCD934X_CDC_RX_PATH_CFG_HD2_EN_MASK			BIT(2)
#define WCD934X_CDC_RX_PATH_CFG_HD2_ENABLE			BIT(2)
#define WCD934X_CDC_RX_PATH_CFG_HD2_DISABLE			0
#define WCD934X_CDC_RX2_RX_PATH_CFG2				0x0b6c
#define WCD934X_CDC_RX2_RX_VOL_CTL				0x0b6d
#define WCD934X_CDC_RX2_RX_PATH_MIX_CTL				0x0b6e
#define WCD934X_CDC_RX2_RX_PATH_MIX_CFG				0x0b6f
#define WCD934X_CDC_RX2_RX_VOL_MIX_CTL				0x0b70
#define WCD934X_CDC_RX2_RX_PATH_SEC0				0x0b71
#define WCD934X_CDC_RX2_RX_PATH_SEC3				0x0b74
#define WCD934X_CDC_RX2_RX_PATH_DSMDEM_CTL			0x0b7b
#define WCD934X_CDC_RX3_RX_PATH_CTL				0x0b7d
#define WCD934X_CDC_RX3_RX_PATH_CFG0				0x0b6e
#define WCD934X_CDC_RX3_RX_PATH_CFG2				0x0b80
#define WCD934X_CDC_RX3_RX_VOL_CTL				0x0b81
#define WCD934X_CDC_RX3_RX_PATH_MIX_CTL				0x0b82
#define WCD934X_CDC_RX3_RX_PATH_MIX_CFG				0x0b83
#define WCD934X_CDC_RX3_RX_VOL_MIX_CTL				0x0b84
#define WCD934X_CDC_RX3_RX_PATH_SEC0				0x0b85
#define WCD934X_CDC_RX3_RX_PATH_DSMDEM_CTL			0x0b8f
#define WCD934X_CDC_RX4_RX_PATH_CTL				0x0b91
#define WCD934X_CDC_RX4_RX_PATH_CFG0				0x0b92
#define WCD934X_CDC_RX4_RX_PATH_CFG2				0x0b94
#define WCD934X_CDC_RX4_RX_VOL_CTL				0x0b95
#define WCD934X_CDC_RX4_RX_PATH_MIX_CTL				0x0b96
#define WCD934X_CDC_RX4_RX_PATH_MIX_CFG				0x0b97
#define WCD934X_CDC_RX4_RX_VOL_MIX_CTL				0x0b98
#define WCD934X_CDC_RX4_RX_PATH_SEC0				0x0b99
#define WCD934X_CDC_RX4_RX_PATH_DSMDEM_CTL			0x0ba3
#define WCD934X_CDC_RX7_RX_PATH_CTL				0x0bcd
#define WCD934X_CDC_RX7_RX_PATH_CFG0				0x0bce
#define WCD934X_CDC_RX7_RX_PATH_CFG1				0x0bcf
#define WCD934X_CDC_RX7_RX_PATH_CFG2				0x0bd0
#define WCD934X_CDC_RX7_RX_VOL_CTL				0x0bd1
#define WCD934X_CDC_RX7_RX_PATH_MIX_CTL				0x0bd2
#define WCD934X_CDC_RX7_RX_PATH_MIX_CFG				0x0bd3
#define WCD934X_CDC_RX7_RX_VOL_MIX_CTL				0x0bd4
#define WCD934X_CDC_RX7_RX_PATH_SEC1				0x0bd6
#define WCD934X_CDC_RX7_RX_PATH_MIX_SEC0			0x0bdd
#define WCD934X_CDC_RX7_RX_PATH_DSMDEM_CTL			0x0bdf
#define WCD934X_CDC_RX8_RX_PATH_CTL				0x0be1
#define WCD934X_CDC_RX8_RX_PATH_CFG0				0x0be2
#define WCD934X_CDC_RX8_RX_PATH_CFG1				0x0be3
#define WCD934X_RX_SMART_BOOST_EN_MASK				BIT(0)
#define WCD934X_RX_SMART_BOOST_ENABLE				BIT(0)
#define WCD934X_RX_SMART_BOOST_DISABLE			0
#define WCD934X_CDC_RX8_RX_PATH_CFG2				0x0be4
#define WCD934X_CDC_RX8_RX_VOL_CTL				0x0be5
#define WCD934X_CDC_RX8_RX_PATH_MIX_CTL				0x0be6
#define WCD934X_CDC_RX8_RX_PATH_MIX_CFG				0x0be7
#define WCD934X_CDC_RX8_RX_VOL_MIX_CTL				0x0be8
#define WCD934X_CDC_RX8_RX_PATH_SEC1				0x0bea
#define WCD934X_CDC_RX8_RX_PATH_MIX_SEC0			0x0bf1
#define WCD934X_CDC_RX8_RX_PATH_DSMDEM_CTL			0x0bf3
#define WCD934X_CDC_CLSH_DECAY_CTRL				0x0c03
#define WCD934X_CDC_CLSH_K2_MSB					0x0c0a
#define WCD934X_CDC_CLSH_K2_LSB					0x0c0b
#define WCD934X_CDC_CLSH_TEST0					0x0c0f
#define WCD934X_CDC_BOOST0_BOOST_PATH_CTL			0x0c19
#define WCD934X_BOOST_PATH_CLK_EN_MASK				BIT(4)
#define WCD934X_BOOST_PATH_CLK_ENABLE				BIT(4)
#define WCD934X_BOOST_PATH_CLK_DISABLE				0
#define WCD934X_CDC_BOOST0_BOOST_CTL				0x0c1a
#define WCD934X_CDC_BOOST0_BOOST_CFG1				0x0c1b
#define WCD934X_CDC_BOOST0_BOOST_CFG2				0x0c1c
#define WCD934X_CDC_BOOST1_BOOST_PATH_CTL			0x0c21
#define WCD934X_CDC_BOOST1_BOOST_CTL				0x0c22
#define WCD934X_CDC_BOOST1_BOOST_CFG1				0x0c23
#define WCD934X_CDC_BOOST1_BOOST_CFG2				0x0c24
#define WCD934X_SWR_AHB_BRIDGE_RD_DATA_0			0x0c91
#define WCD934X_SWR_AHB_BRIDGE_RD_DATA_1			0x0c92
#define WCD934X_SWR_AHB_BRIDGE_RD_DATA_2			0x0c93
#define WCD934X_SWR_AHB_BRIDGE_RD_DATA_3			0x0c94
#define WCD934X_SWR_AHB_BRIDGE_ACCESS_STATUS			0x0c96
#define WCD934X_CDC_SIDETONE_SRC0_ST_SRC_PATH_CTL		0x0cb5
#define WCD934X_CDC_SIDETONE_SRC1_ST_SRC_PATH_CTL		0x0cb9
#define WCD934X_CDC_RX_INP_MUX_RX_INT0_CFG0			0x0d01
#define WCD934X_CDC_RX_INP_MUX_RX_INT_CFG0(i)		(0xd01 + i * 0x2)
#define WCD934X_CDC_RX_INP_MUX_RX_INT_SEL_MASK			GENMASK(3, 0)
#define WCD934X_CDC_RX_INP_MUX_RX_INT0_CFG1			0x0d02
#define WCD934X_CDC_RX_INP_MUX_RX_INT_CFG1(i)		(0xd02 + i * 0x2)
#define WCD934X_CDC_RX_INP_MUX_RX_INT1_CFG0			0x0d03
#define WCD934X_CDC_RX_INP_MUX_RX_INT1_CFG1			0x0d04
#define WCD934X_CDC_RX_INP_MUX_RX_INT2_CFG0			0x0d05
#define WCD934X_CDC_RX_INP_MUX_RX_INT2_CFG1			0x0d06
#define WCD934X_CDC_RX_INP_MUX_RX_INT3_CFG0			0x0d07
#define WCD934X_CDC_RX_INP_MUX_RX_INT3_CFG1			0x0d08
#define WCD934X_CDC_RX_INP_MUX_RX_INT4_CFG0			0x0d09
#define WCD934X_CDC_RX_INP_MUX_RX_INT4_CFG1			0x0d0a
#define WCD934X_CDC_RX_INP_MUX_RX_INT7_CFG0			0x0d0f
#define WCD934X_CDC_RX_INP_MUX_RX_INT7_CFG1			0x0d10
#define WCD934X_CDC_RX_INP_MUX_RX_INT8_CFG0			0x0d11
#define WCD934X_CDC_RX_INP_MUX_RX_INT8_CFG1			0x0d12
#define WCD934X_CDC_RX_INP_MUX_RX_MIX_CFG0			0x0d13
#define WCD934X_CDC_RX_INP_MUX_RX_MIX_CFG1			0x0d14
#define WCD934X_CDC_RX_INP_MUX_RX_MIX_CFG2			0x0d15
#define WCD934X_CDC_RX_INP_MUX_RX_MIX_CFG3			0x0d16
#define WCD934X_CDC_RX_INP_MUX_RX_MIX_CFG4			0x0d17
#define WCD934X_CDC_RX_INP_MUX_SIDETONE_SRC_CFG0		0x0d18
#define WCD934X_CDC_RX_INP_MUX_SIDETONE_SRC_CFG1		0x0d19
#define WCD934X_CDC_TX_INP_MUX_ADC_MUX0_CFG0			0x0d1d
#define WCD934X_CDC_TX_INP_MUX_ADC_MUX0_CFG1			0x0d1e
#define WCD934X_CDC_TX_INP_MUX_ADC_MUX1_CFG0			0x0d1f
#define WCD934X_CDC_TX_INP_MUX_ADC_MUX1_CFG1			0x0d20
#define WCD934X_CDC_TX_INP_MUX_ADC_MUX2_CFG0			0x0d21
#define WCD934X_CDC_TX_INP_MUX_ADC_MUX2_CFG1			0x0d22
#define WCD934X_CDC_TX_INP_MUX_ADC_MUX3_CFG0			0x0d23
#define WCD934X_CDC_TX_INP_MUX_ADC_MUX3_CFG1			0x0d25
#define WCD934X_CDC_TX_INP_MUX_ADC_MUX4_CFG0			0x0d26
#define WCD934X_CDC_TX_INP_MUX_ADC_MUX5_CFG0			0x0d27
#define WCD934X_CDC_TX_INP_MUX_ADC_MUX6_CFG0			0x0d28
#define WCD934X_CDC_TX_INP_MUX_ADC_MUX7_CFG0			0x0d29
#define WCD934X_CDC_TX_INP_MUX_ADC_MUX8_CFG0			0x0d2a
#define WCD934X_CDC_TX_INP_MUX_ADC_MUX10_CFG0			0x0d2b
#define WCD934X_CDC_TX_INP_MUX_ADC_MUX11_CFG0			0x0d2c
#define WCD934X_CDC_TX_INP_MUX_ADC_MUX12_CFG0			0x0d2d
#define WCD934X_CDC_TX_INP_MUX_ADC_MUX13_CFG0			0x0d2e
#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR0_MIX_CFG0		0x0d31
#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR0_MIX_CFG1		0x0d32
#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR0_MIX_CFG2		0x0d33
#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR0_MIX_CFG3		0x0d34
#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR1_MIX_CFG0		0x0d35
#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR1_MIX_CFG1		0x0d36
#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR1_MIX_CFG2		0x0d37
#define WCD934X_CDC_SIDETONE_IIR_INP_MUX_IIR1_MIX_CFG3		0x0d38
#define WCD934X_CDC_IF_ROUTER_TX_MUX_CFG0			0x0d3a
#define WCD934X_CDC_IF_ROUTER_TX_MUX_CFG1			0x0d3b
#define WCD934X_CDC_IF_ROUTER_TX_MUX_CFG2			0x0d3c
#define WCD934X_CDC_IF_ROUTER_TX_MUX_CFG3			0x0d3d
#define WCD934X_CDC_CLK_RST_CTRL_MCLK_CONTROL			0x0d41
#define WCD934X_CDC_MCLK_EN_MASK				BIT(0)
#define WCD934X_CDC_MCLK_EN_ENABLE				BIT(0)
#define WCD934X_CDC_CLK_RST_CTRL_FS_CNT_CONTROL			0x0d42
#define WCD934X_CDC_FS_MCLK_CNT_EN_MASK				BIT(0)
#define WCD934X_CDC_FS_MCLK_CNT_ENABLE				BIT(0)
#define WCD934X_CDC_CLK_RST_CTRL_SWR_CONTROL			0x0d43
#define WCD934X_CDC_SWR_CLK_EN_MASK				BIT(0)
#define WCD934X_CDC_SWR_CLK_ENABLE				BIT(0)
#define WCD934X_CDC_CLK_RST_CTRL_DSD_CONTROL			0x0d44
#define WCD934X_CDC_CLK_RST_CTRL_ASRC_SHARE_CONTROL		0x0d45
#define WCD934X_CDC_CLK_RST_CTRL_GFM_CONTROL			0x0d46
#define WCD934X_CDC_SIDETONE_IIR0_IIR_PATH_CTL			0x0d55
#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B1_CTL		0x0d56
#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B2_CTL		0x0d57
#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B3_CTL		0x0d58
#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B4_CTL		0x0d59
#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B5_CTL		0x0d5a
#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B6_CTL		0x0d5b
#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B7_CTL		0x0d5c
#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_B8_CTL		0x0d5d
#define WCD934X_CDC_SIDETONE_IIR0_IIR_CTL			0x0d5e
#define WCD934X_CDC_SIDETONE_IIR0_IIR_GAIN_TIMER_CTL		0x0d5f
#define WCD934X_CDC_SIDETONE_IIR0_IIR_COEF_B1_CTL		0x0d60
#define WCD934X_CDC_SIDETONE_IIR0_IIR_COEF_B2_CTL		0x0d61
#define WCD934X_CDC_SIDETONE_IIR1_IIR_PATH_CTL			0x0d65
#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B1_CTL		0x0d66
#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B2_CTL		0x0d67
#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B3_CTL		0x0d68
#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B4_CTL		0x0d69
#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B5_CTL		0x0d6a
#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B6_CTL		0x0d6b
#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B7_CTL		0x0d6c
#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_B8_CTL		0x0d6d
#define WCD934X_CDC_SIDETONE_IIR1_IIR_CTL			0x0d6e
#define WCD934X_CDC_SIDETONE_IIR1_IIR_GAIN_TIMER_CTL		0x0d6f
#define WCD934X_CDC_SIDETONE_IIR1_IIR_COEF_B1_CTL		0x0d70
#define WCD934X_CDC_SIDETONE_IIR1_IIR_COEF_B2_CTL		0x0d71
#define WCD934X_CDC_TOP_TOP_CFG1				0x0d82
#define WCD934X_CDC_TOP_TOP_CFG7				0x0d88
#define WCD934X_CDC_TOP_HPHL_COMP_LUT				0x0d8b
#define WCD934X_CDC_TOP_HPHR_COMP_LUT				0x0d90
#define WCD934X_HPH_LUT_BYPASS_MASK				BIT(7)
#define WCD934X_HPH_LUT_BYPASS_ENABLE				BIT(7)
#define WCD934X_HPH_LUT_BYPASS_DISABLE				0
#define WCD934X_CODEC_CPR_WR_DATA_0				0x5001
#define WCD934X_CODEC_CPR_WR_ADDR_0				0x5005
#define WCD934X_CODEC_CPR_SVS_CX_VDD				0x5022
#define WCD934X_CODEC_CPR_SVS2_CX_VDD				0x5023
#define WCD934X_CODEC_CPR_SVS2_MIN_CX_VDD			0x5027
#define WCD934X_TLMM_DMIC1_CLK_PINCFG				0x8015
#define WCD934X_TLMM_DMIC1_DATA_PINCFG				0x8016
#define WCD934X_TLMM_DMIC2_CLK_PINCFG				0x8017
#define WCD934X_TLMM_DMIC2_DATA_PINCFG				0x8018
#define WCD934X_TLMM_DMIC3_CLK_PINCFG				0x8019
#define WCD934X_TLMM_DMIC3_DATA_PINCFG				0x801a
#define WCD934X_TEST_DEBUG_PAD_DRVCTL_0				0x803b
#define WCD934X_TEST_DEBUG_NPL_DLY_TEST_1			0x803e

#define WCD934X_MAX_REGISTER					0xffff
#define WCD934X_SEL_REGISTER					0x800
#define WCD934X_SEL_MASK					0xff
#define WCD934X_SEL_SHIFT					0x0
#define WCD934X_WINDOW_START					0x800
#define WCD934X_WINDOW_LENGTH					0x100

/* SLIMBUS Slave Registers */
#define WCD934X_SLIM_PGD_PORT_INT_EN0				0x30
#define WCD934X_SLIM_PGD_PORT_INT_STATUS_RX_0			0x34
#define WCD934X_SLIM_PGD_PORT_INT_STATUS_RX_1			0x35
#define WCD934X_SLIM_PGD_PORT_INT_STATUS_TX_0			0x36
#define WCD934X_SLIM_PGD_PORT_INT_STATUS_TX_1			0x37
#define WCD934X_SLIM_PGD_PORT_INT_CLR_RX_0			0x38
#define WCD934X_SLIM_PGD_PORT_INT_CLR_RX_1			0x39
#define WCD934X_SLIM_PGD_PORT_INT_CLR_TX_0			0x3A
#define WCD934X_SLIM_PGD_PORT_INT_CLR_TX_1			0x3B
#define WCD934X_SLIM_PGD_PORT_INT_RX_SOURCE0			0x60
#define WCD934X_SLIM_PGD_PORT_INT_TX_SOURCE0			0x70
#define WCD934X_SLIM_PGD_RX_PORT_CFG(p)				(0x30 + p)
#define WCD934X_SLIM_PGD_PORT_CFG(p)				(0x40 + p)
#define WCD934X_SLIM_PGD_TX_PORT_CFG(p)				(0x50 + p)
#define WCD934X_SLIM_PGD_PORT_INT_SRC(p)			(0x60 + p)
#define WCD934X_SLIM_PGD_PORT_INT_STATUS(p)			(0x80 + p)
#define WCD934X_SLIM_PGD_TX_PORT_MULTI_CHNL_0(p)		(0x100 + 4 * p)
/* ports range from 10-16 */
#define WCD934X_SLIM_PGD_TX_PORT_MULTI_CHNL_1(p)		(0x101 + 4 * p)
#define WCD934X_SLIM_PGD_RX_PORT_MULTI_CHNL_0(p)		(0x140 + 4 * p)

#define SLIM_MANF_ID_QCOM			0x217
#define SLIM_PROD_CODE_WCD9340			0x250
#define SLIM_DEV_IDX_WCD9340			0x1
#define SLIM_DEV_INSTANCE_ID_WCD9340		0

#endif