-
Notifications
You must be signed in to change notification settings - Fork 1
/
rt5671.h
2133 lines (2004 loc) · 72.2 KB
/
rt5671.h
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
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/* LGE_CHANGE_S
* Comment : add realtek alsa sound driver for odin hdk
* 2013-06-20, [email protected]
*/
/*
* rt5671.h -- RT5671 ALSA SoC audio driver
*
* Copyright 2011 Realtek Microelectronics
* Author: Johnny Hsu <[email protected]>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef __RT5671_H__
#define __RT5671_H__
#define REALTEK_USE_AMIC 0
/* Info */
#define RT5671_RESET 0x00
#define RT5671_VENDOR_ID 0xfd
#define RT5671_VENDOR_ID1 0xfe
#define RT5671_VENDOR_ID2 0xff
/* I/O - Output */
#define RT5671_HP_VOL 0x02
#define RT5671_LOUT1 0x03
#define RT5671_MONO_OUT 0x04
/* I/O - Input */
#define RT5671_IN1_CTRL1 0x0a
#define RT5671_IN1_CTRL2 0x0b
#define RT5671_IN1_CTRL3 0x0c
#define RT5671_IN2_CTRL 0x0d
#define RT5671_IN3_IN4_CTRL 0x0e
#define RT5671_INL1_INR1_VOL 0x0f
/* I/O - ADC/DAC/DMIC */
#define RT5671_SIDETONE_CTRL 0x18
#define RT5671_DAC1_DIG_VOL 0x19
#define RT5671_DAC2_DIG_VOL 0x1a
#define RT5671_DAC_CTRL 0x1b
#define RT5671_STO1_ADC_DIG_VOL 0x1c
#define RT5671_MONO_ADC_DIG_VOL 0x1d
#define RT5671_ADC_BST_VOL1 0x1e
#define RT5671_STO2_ADC_DIG_VOL 0x1f
/* Mixer - D-D */
#define RT5671_ADC_BST_VOL2 0x20
#define RT5671_STO2_ADC_MIXER 0x26
#define RT5671_STO1_ADC_MIXER 0x27
#define RT5671_MONO_ADC_MIXER 0x28
#define RT5671_AD_DA_MIXER 0x29
#define RT5671_STO_DAC_MIXER 0x2a
#define RT5671_MONO_DAC_MIXER 0x2b
#define RT5671_DIG_MIXER 0x2c
#define RT5671_DSP_PATH1 0x2d
#define RT5671_DSP_VOL_CTRL 0x2e
#define RT5671_DIG_INF1_DATA 0x2f
#define RT5671_DIG_INF2_DATA 0x30
/* Mixer - PDM */
#define RT5671_PDM_OUT_CTRL 0x31
#define RT5671_PDM_DATA_CTRL1 0x32
#define RT5671_PDM1_DATA_CTRL2 0x33
#define RT5671_PDM1_DATA_CTRL3 0x34
#define RT5671_PDM1_DATA_CTRL4 0x35
#define RT5671_PDM2_DATA_CTRL2 0x36
#define RT5671_PDM2_DATA_CTRL3 0x37
#define RT5671_PDM2_DATA_CTRL4 0x38
/* Mixer - ADC */
#define RT5671_REC_L1_MIXER 0x3b
#define RT5671_REC_L2_MIXER 0x3c
#define RT5671_REC_R1_MIXER 0x3d
#define RT5671_REC_R2_MIXER 0x3e
#define RT5671_REC_MONO1_MIXER 0x3f
#define RT5671_REC_MONO2_MIXER 0x40
/* Mixer - DAC */
#define RT5671_HPO_MIXER 0x45
#define RT5671_MONO_MIXER 0x4c
#define RT5671_OUT_L1_MIXER 0x4f
#define RT5671_OUT_R1_MIXER 0x52
#define RT5671_LOUT_MIXER 0x53
/* Power */
#define RT5671_PWR_DIG1 0x61
#define RT5671_PWR_DIG2 0x62
#define RT5671_PWR_ANLG1 0x63
#define RT5671_PWR_ANLG2 0x64
#define RT5671_PWR_MIXER 0x65
#define RT5671_PWR_VOL 0x66
/* Private Register Control */
#define RT5671_PRIV_INDEX 0x6a
#define RT5671_PRIV_DATA 0x6c
/* Format - ADC/DAC */
#define RT5671_I2S4_SDP 0x6f
#define RT5671_I2S1_SDP 0x70
#define RT5671_I2S2_SDP 0x71
#define RT5671_I2S3_SDP 0x72
#define RT5671_ADDA_CLK1 0x73
#define RT5671_ADDA_HPF 0x74
#define RT5671_DMIC_CTRL1 0x75
#define RT5671_DMIC_CTRL2 0x76
/* Format - TDM Control */
#define RT5671_TDM_CTRL_1 0x77
#define RT5671_TDM_CTRL_2 0x78
#define RT5671_TDM_CTRL_3 0x79
/* Function - Analog */
#define RT5671_DSP_CLK 0x7f
#define RT5671_GLB_CLK 0x80
#define RT5671_PLL_CTRL1 0x81
#define RT5671_PLL_CTRL2 0x82
#define RT5671_ASRC_1 0x83
#define RT5671_ASRC_2 0x84
#define RT5671_ASRC_3 0x85
#define RT5671_ASRC_4 0x86
#define RT5671_ASRC_5 0x87
#define RT5671_ASRC_7 0x89
#define RT5671_ASRC_8 0x8a
#define RT5671_ASRC_9 0x8b
#define RT5671_ASRC_10 0x8c
#define RT5671_ASRC_11 0x8d
#define RT5671_DEPOP_M1 0x8e
#define RT5671_DEPOP_M2 0x8f
#define RT5671_DEPOP_M3 0x90
#define RT5671_CHARGE_PUMP 0x91
#define RT5671_MICBIAS 0x93
#define RT5671_A_JD_CTRL1 0x94
#define RT5671_A_JD_CTRL2 0x95
#define RT5671_ASRC_12 0x97
#define RT5671_ASRC_13 0x98
#define RT5671_ASRC_14 0x99
#define RT5671_VAD_CTRL1 0x9a
#define RT5671_VAD_CTRL2 0x9b
#define RT5671_VAD_CTRL3 0x9c
#define RT5671_VAD_CTRL4 0x9d
#define RT5671_VAD_CTRL5 0x9e
/* Function - Digital */
#define RT5671_ADC_EQ_CTRL1 0xae
#define RT5671_ADC_EQ_CTRL2 0xaf
#define RT5671_EQ_CTRL1 0xb0
#define RT5671_EQ_CTRL2 0xb1
#define RT5671_ALC_DRC_CTRL1 0xb2
#define RT5671_ALC_DRC_CTRL2 0xb3
#define RT5671_ALC_CTRL_1 0xb4
#define RT5671_ALC_CTRL_2 0xb5
#define RT5671_ALC_CTRL_3 0xb6
#define RT5671_ALC_CTRL_4 0xb7
#define RT5671_JD_CTRL1 0xbb
#define RT5671_JD_CTRL2 0xbc
#define RT5671_IRQ_CTRL1 0xbd
#define RT5671_IRQ_CTRL2 0xbe
#define RT5671_IRQ_CTRL3 0xbf
#define RT5671_GPIO_CTRL1 0xc0
#define RT5671_GPIO_CTRL2 0xc1
#define RT5671_GPIO_CTRL3 0xc2
#define RT5671_SCRABBLE_FUN 0xcd
#define RT5671_SCRABBLE_CTRL 0xce
#define RT5671_BASE_BACK 0xcf
#define RT5671_MP3_PLUS1 0xd0
#define RT5671_MP3_PLUS2 0xd1
#define RT5671_ADC_STO1_HP_CTRL1 0xd3
#define RT5671_ADC_STO1_HP_CTRL2 0xd4
#define RT5671_HP_CALIB_AMP_DET 0xd6
#define RT5671_SV_ZCD1 0xd9
#define RT5671_SV_ZCD2 0xda
#define RT5671_IL_CMD1 0xdb
#define RT5671_IL_CMD2 0xdc
#define RT5671_IL_CMD3 0xdd
#define RT5671_DRC_HL_CTRL1 0xe6
#define RT5671_DRC_HL_CTRL2 0xe7
#define RT5671_ADC_MONO_HP_CTRL1 0xec
#define RT5671_ADC_MONO_HP_CTRL2 0xed
#define RT5671_ADC_STO2_HP_CTRL1 0xee
#define RT5671_ADC_STO2_HP_CTRL2 0xef
#define RT5671_JD_CTRL3 0xf8
#define RT5671_JD_CTRL4 0xf9
/* General Control */
#define RT5671_GEN_CTRL1 0xfa
#define RT5671_GEN_CTRL2 0xfb
#define RT5671_GEN_CTRL3 0xfc
/* Index of Codec Private Register definition */
#define RT5671_DIG_VOL 0x00
#define RT5671_PR_ALC_CTRL_1 0x01
#define RT5671_PR_ALC_CTRL_2 0x02
#define RT5671_PR_ALC_CTRL_3 0x03
#define RT5671_PR_ALC_CTRL_4 0x04
#define RT5671_PR_ALC_CTRL_5 0x05
#define RT5671_PR_ALC_CTRL_6 0x06
#define RT5671_BIAS_CUR1 0x12
#define RT5671_BIAS_CUR3 0x14
#define RT5671_CLSD_INT_REG1 0x1c
#define RT5671_MAMP_INT_REG2 0x37
#define RT5671_CHOP_DAC_ADC 0x3d
#define RT5671_MIXER_INT_REG 0x3f
#define RT5671_3D_SPK 0x63
#define RT5671_WND_1 0x6c
#define RT5671_WND_2 0x6d
#define RT5671_WND_3 0x6e
#define RT5671_WND_4 0x6f
#define RT5671_WND_5 0x70
#define RT5671_WND_8 0x73
#define RT5671_DIP_SPK_INF 0x75
#define RT5671_HP_DCC_INT1 0x77
#define RT5671_EQ_BW_LOP 0xa0
#define RT5671_EQ_GN_LOP 0xa1
#define RT5671_EQ_FC_BP1 0xa2
#define RT5671_EQ_BW_BP1 0xa3
#define RT5671_EQ_GN_BP1 0xa4
#define RT5671_EQ_FC_BP2 0xa5
#define RT5671_EQ_BW_BP2 0xa6
#define RT5671_EQ_GN_BP2 0xa7
#define RT5671_EQ_FC_BP3 0xa8
#define RT5671_EQ_BW_BP3 0xa9
#define RT5671_EQ_GN_BP3 0xaa
#define RT5671_EQ_FC_BP4 0xab
#define RT5671_EQ_BW_BP4 0xac
#define RT5671_EQ_GN_BP4 0xad
#define RT5671_EQ_FC_HIP1 0xae
#define RT5671_EQ_GN_HIP1 0xaf
#define RT5671_EQ_FC_HIP2 0xb0
#define RT5671_EQ_BW_HIP2 0xb1
#define RT5671_EQ_GN_HIP2 0xb2
#define RT5671_EQ_PRE_VOL 0xb3
#define RT5671_EQ_PST_VOL 0xb4
/* global definition */
#define RT5671_L_MUTE (0x1 << 15)
#define RT5671_L_MUTE_SFT 15
#define RT5671_VOL_L_MUTE (0x1 << 14)
#define RT5671_VOL_L_SFT 14
#define RT5671_R_MUTE (0x1 << 7)
#define RT5671_R_MUTE_SFT 7
#define RT5671_VOL_R_MUTE (0x1 << 6)
#define RT5671_VOL_R_SFT 6
#define RT5671_L_VOL_MASK (0x3f << 8)
#define RT5671_L_VOL_SFT 8
#define RT5671_R_VOL_MASK (0x3f)
#define RT5671_R_VOL_SFT 0
/* Combo Jack Control 1 (0x0a) */
#define RT5671_CBJ_BST1_MASK (0xf << 12)
#define RT5671_CBJ_BST1_SFT (12)
#define RT5671_CBJ_JD_HP_EN (0x1 << 9)
#define RT5671_CBJ_JD_MIC_EN (0x1 << 8)
#define RT5671_CBJ_BST1_EN (0x1 << 2)
/* Combo Jack Control 1 (0x0b) */
#define RT5671_CBJ_MN_JD (0x1 << 12)
#define RT5671_CAPLESS_EN (0x1 << 11)
#define RT5671_CBJ_DET_MODE (0x1 << 7)
/* IN1 and IN2 Control (0x0d) */
/* IN3 and IN4 Control (0x0e) */
#define RT5671_BST_MASK1 (0xf<<12)
#define RT5671_BST_SFT1 12
#define RT5671_BST_MASK2 (0xf<<8)
#define RT5671_BST_SFT2 8
#define RT5671_IN_DF1 (0x1 << 7)
#define RT5671_IN_SFT1 7
#define RT5671_IN_DF2 (0x1 << 6)
#define RT5671_IN_SFT2 6
/* INL and INR Volume Control (0x0f) */
#define RT5671_INL_SEL_MASK (0x1 << 15)
#define RT5671_INL_SEL_SFT 15
#define RT5671_INL_SEL_IN4P (0x0 << 15)
#define RT5671_INL_SEL_MONOP (0x1 << 15)
#define RT5671_INL_VOL_MASK (0x1f << 8)
#define RT5671_INL_VOL_SFT 8
#define RT5671_INR_SEL_MASK (0x1 << 7)
#define RT5671_INR_SEL_SFT 7
#define RT5671_INR_SEL_IN4N (0x0 << 7)
#define RT5671_INR_SEL_MONON (0x1 << 7)
#define RT5671_INR_VOL_MASK (0x1f)
#define RT5671_INR_VOL_SFT 0
/* Sidetone Control (0x18) */
#define RT5671_ST_SEL_MASK (0x7 << 9)
#define RT5671_ST_SEL_SFT 9
#define RT5671_M_ST_DACR2 (0x1 << 8)
#define RT5671_M_ST_DACR2_SFT 8
#define RT5671_M_ST_DACL2 (0x1 << 7)
#define RT5671_M_ST_DACL2_SFT 7
#define RT5671_ST_EN (0x1 << 6)
#define RT5671_ST_EN_SFT 6
/* DAC1 Digital Volume (0x19) */
#define RT5671_DAC_L1_VOL_MASK (0xff << 8)
#define RT5671_DAC_L1_VOL_SFT 8
#define RT5671_DAC_R1_VOL_MASK (0xff)
#define RT5671_DAC_R1_VOL_SFT 0
/* DAC2 Digital Volume (0x1a) */
#define RT5671_DAC_L2_VOL_MASK (0xff << 8)
#define RT5671_DAC_L2_VOL_SFT 8
#define RT5671_DAC_R2_VOL_MASK (0xff)
#define RT5671_DAC_R2_VOL_SFT 0
/* DAC2 Control (0x1b) */
#define RT5671_M_DAC_L2_VOL (0x1 << 13)
#define RT5671_M_DAC_L2_VOL_SFT 13
#define RT5671_M_DAC_R2_VOL (0x1 << 12)
#define RT5671_M_DAC_R2_VOL_SFT 12
#define RT5671_DAC2_L_SEL_MASK (0x7 << 4)
#define RT5671_DAC2_L_SEL_SFT 4
#define RT5671_DAC2_R_SEL_MASK (0x7 << 0)
#define RT5671_DAC2_R_SEL_SFT 0
/* ADC Digital Volume Control (0x1c) */
#define RT5671_ADC_L_VOL_MASK (0x7f << 8)
#define RT5671_ADC_L_VOL_SFT 8
#define RT5671_ADC_R_VOL_MASK (0x7f)
#define RT5671_ADC_R_VOL_SFT 0
/* Mono ADC Digital Volume Control (0x1d) */
#define RT5671_MONO_ADC_L_VOL_MASK (0x7f << 8)
#define RT5671_MONO_ADC_L_VOL_SFT 8
#define RT5671_MONO_ADC_R_VOL_MASK (0x7f)
#define RT5671_MONO_ADC_R_VOL_SFT 0
/* ADC Boost Volume Control (0x1e) */
#define RT5671_STO1_ADC_L_BST_MASK (0x3 << 14)
#define RT5671_STO1_ADC_L_BST_SFT 14
#define RT5671_STO1_ADC_R_BST_MASK (0x3 << 12)
#define RT5671_STO1_ADC_R_BST_SFT 12
#define RT5671_STO1_ADC_COMP_MASK (0x3 << 10)
#define RT5671_STO1_ADC_COMP_SFT 10
#define RT5671_STO2_ADC_L_BST_MASK (0x3 << 8)
#define RT5671_STO2_ADC_L_BST_SFT 8
#define RT5671_STO2_ADC_R_BST_MASK (0x3 << 6)
#define RT5671_STO2_ADC_R_BST_SFT 6
#define RT5671_STO2_ADC_COMP_MASK (0x3 << 4)
#define RT5671_STO2_ADC_COMP_SFT 4
/* MONO ADC Boost Volume Control (0x20) */
#define RT5671_MONO_ADC_L_BST_MASK (0x3 << 14)
#define RT5671_MONO_ADC_L_BST_SFT 14
#define RT5671_MONO_ADC_R_BST_MASK (0x3 << 12)
#define RT5671_MONO_ADC_R_BST_SFT 12
#define RT5671_MONO_ADC_COMP_MASK (0x3 << 10)
#define RT5671_MONO_ADC_COMP_SFT 10
/* Stereo2 ADC Mixer Control (0x26) */
#define RT5671_STO2_ADC_SRC_MASK (0x1 << 15)
#define RT5671_STO2_ADC_SRC_SFT 15
/* Stereo ADC Mixer Control (0x26 0x27) */
#define RT5671_M_ADC_L1 (0x1 << 14)
#define RT5671_M_ADC_L1_SFT 14
#define RT5671_M_ADC_L2 (0x1 << 13)
#define RT5671_M_ADC_L2_SFT 13
#define RT5671_ADC_1_SRC_MASK (0x1 << 12)
#define RT5671_ADC_1_SRC_SFT 12
#define RT5671_ADC_1_SRC_ADC (0x1 << 12)
#define RT5671_ADC_1_SRC_DACMIX (0x0 << 12)
#define RT5671_ADC_2_SRC_MASK (0x1 << 11)
#define RT5671_ADC_2_SRC_SFT 11
#define RT5671_ADC_SRC_MASK (0x1 << 10)
#define RT5671_ADC_SRC_SFT 10
#define RT5671_DMIC_SRC_MASK (0x3 << 8)
#define RT5671_DMIC_SRC_SFT 8
#define RT5671_M_ADC_R1 (0x1 << 6)
#define RT5671_M_ADC_R1_SFT 6
#define RT5671_M_ADC_R2 (0x1 << 5)
#define RT5671_M_ADC_R2_SFT 5
#define RT5671_DMIC3_SRC_MASK (0x1 << 1)
#define RT5671_DMIC3_SRC_SFT 0
/* Mono ADC Mixer Control (0x28) */
#define RT5671_M_MONO_ADC_L1 (0x1 << 14)
#define RT5671_M_MONO_ADC_L1_SFT 14
#define RT5671_M_MONO_ADC_L2 (0x1 << 13)
#define RT5671_M_MONO_ADC_L2_SFT 13
#define RT5671_MONO_ADC_L1_SRC_MASK (0x1 << 12)
#define RT5671_MONO_ADC_L1_SRC_SFT 12
#define RT5671_MONO_ADC_L1_SRC_DACMIXL (0x0 << 12)
#define RT5671_MONO_ADC_L1_SRC_ADCL (0x1 << 12)
#define RT5671_MONO_ADC_L2_SRC_MASK (0x1 << 11)
#define RT5671_MONO_ADC_L2_SRC_SFT 11
#define RT5671_MONO_ADC_L_SRC_MASK (0x1 << 10)
#define RT5671_MONO_ADC_L_SRC_SFT 10
#define RT5671_MONO_DMIC_L_SRC_MASK (0x3 << 8)
#define RT5671_MONO_DMIC_L_SRC_SFT 8
#define RT5671_M_MONO_ADC_R1 (0x1 << 6)
#define RT5671_M_MONO_ADC_R1_SFT 6
#define RT5671_M_MONO_ADC_R2 (0x1 << 5)
#define RT5671_M_MONO_ADC_R2_SFT 5
#define RT5671_MONO_ADC_R1_SRC_MASK (0x1 << 4)
#define RT5671_MONO_ADC_R1_SRC_SFT 4
#define RT5671_MONO_ADC_R1_SRC_ADCR (0x1 << 4)
#define RT5671_MONO_ADC_R1_SRC_DACMIXR (0x0 << 4)
#define RT5671_MONO_ADC_R2_SRC_MASK (0x1 << 3)
#define RT5671_MONO_ADC_R2_SRC_SFT 3
#define RT5671_MONO_ADC_R_SRC_MASK (0x1 << 2)
#define RT5671_MONO_ADC_R_SRC_SFT 2
#define RT5671_MONO_DMIC_R_SRC_MASK (0x3)
#define RT5671_MONO_DMIC_R_SRC_SFT 0
/* ADC Mixer to DAC Mixer Control (0x29) */
#define RT5671_M_ADCMIX_L (0x1 << 15)
#define RT5671_M_ADCMIX_L_SFT 15
#define RT5671_M_DAC1_L (0x1 << 14)
#define RT5671_M_DAC1_L_SFT 14
#define RT5671_DAC1_R_SEL_MASK (0x3 << 10)
#define RT5671_DAC1_R_SEL_SFT 10
#define RT5671_DAC1_R_SEL_IF1 (0x0 << 10)
#define RT5671_DAC1_R_SEL_IF2 (0x1 << 10)
#define RT5671_DAC1_R_SEL_IF3 (0x2 << 10)
#define RT5671_DAC1_R_SEL_IF4 (0x3 << 10)
#define RT5671_DAC1_L_SEL_MASK (0x3 << 8)
#define RT5671_DAC1_L_SEL_SFT 8
#define RT5671_DAC1_L_SEL_IF1 (0x0 << 8)
#define RT5671_DAC1_L_SEL_IF2 (0x1 << 8)
#define RT5671_DAC1_L_SEL_IF3 (0x2 << 8)
#define RT5671_DAC1_L_SEL_IF4 (0x3 << 8)
#define RT5671_M_ADCMIX_R (0x1 << 7)
#define RT5671_M_ADCMIX_R_SFT 7
#define RT5671_M_DAC1_R (0x1 << 6)
#define RT5671_M_DAC1_R_SFT 6
/* Stereo DAC Mixer Control (0x2a) */
#define RT5671_M_DAC_L1 (0x1 << 14)
#define RT5671_M_DAC_L1_SFT 14
#define RT5671_DAC_L1_STO_L_VOL_MASK (0x1 << 13)
#define RT5671_DAC_L1_STO_L_VOL_SFT 13
#define RT5671_M_DAC_L2 (0x1 << 12)
#define RT5671_M_DAC_L2_SFT 12
#define RT5671_DAC_L2_STO_L_VOL_MASK (0x1 << 11)
#define RT5671_DAC_L2_STO_L_VOL_SFT 11
#define RT5671_M_ANC_DAC_L (0x1 << 10)
#define RT5671_M_ANC_DAC_L_SFT 10
#define RT5671_M_DAC_R1_STO_L (0x1 << 9)
#define RT5671_M_DAC_R1_STO_L_SFT 9
#define RT5671_DAC_R1_STO_L_VOL_MASK (0x1 << 8)
#define RT5671_DAC_R1_STO_L_VOL_SFT 8
#define RT5671_M_DAC_R1 (0x1 << 6)
#define RT5671_M_DAC_R1_SFT 6
#define RT5671_DAC_R1_STO_R_VOL_MASK (0x1 << 5)
#define RT5671_DAC_R1_STO_R_VOL_SFT 5
#define RT5671_M_DAC_R2 (0x1 << 4)
#define RT5671_M_DAC_R2_SFT 4
#define RT5671_DAC_R2_STO_R_VOL_MASK (0x1 << 3)
#define RT5671_DAC_R2_STO_R_VOL_SFT 3
#define RT5671_M_ANC_DAC_R (0x1 << 2)
#define RT5671_M_ANC_DAC_R_SFT 2
#define RT5671_M_DAC_L1_STO_R (0x1 << 1)
#define RT5671_M_DAC_L1_STO_R_SFT 1
#define RT5671_DAC_L1_STO_R_VOL_MASK (0x1)
#define RT5671_DAC_L1_STO_R_VOL_SFT 0
/* Mono DAC Mixer Control (0x2b) */
#define RT5671_M_DAC_L1_MONO_L (0x1 << 14)
#define RT5671_M_DAC_L1_MONO_L_SFT 14
#define RT5671_DAC_L1_MONO_L_VOL_MASK (0x1 << 13)
#define RT5671_DAC_L1_MONO_L_VOL_SFT 13
#define RT5671_M_DAC_L2_MONO_L (0x1 << 12)
#define RT5671_M_DAC_L2_MONO_L_SFT 12
#define RT5671_DAC_L2_MONO_L_VOL_MASK (0x1 << 11)
#define RT5671_DAC_L2_MONO_L_VOL_SFT 11
#define RT5671_M_DAC_R2_MONO_L (0x1 << 10)
#define RT5671_M_DAC_R2_MONO_L_SFT 10
#define RT5671_DAC_R2_MONO_L_VOL_MASK (0x1 << 9)
#define RT5671_DAC_R2_MONO_L_VOL_SFT 9
#define RT5671_M_DAC_R1_MONO_R (0x1 << 6)
#define RT5671_M_DAC_R1_MONO_R_SFT 6
#define RT5671_DAC_R1_MONO_R_VOL_MASK (0x1 << 5)
#define RT5671_DAC_R1_MONO_R_VOL_SFT 5
#define RT5671_M_DAC_R2_MONO_R (0x1 << 4)
#define RT5671_M_DAC_R2_MONO_R_SFT 4
#define RT5671_DAC_R2_MONO_R_VOL_MASK (0x1 << 3)
#define RT5671_DAC_R2_MONO_R_VOL_SFT 3
#define RT5671_M_DAC_L2_MONO_R (0x1 << 2)
#define RT5671_M_DAC_L2_MONO_R_SFT 2
#define RT5671_DAC_L2_MONO_R_VOL_MASK (0x1 << 1)
#define RT5671_DAC_L2_MONO_R_VOL_SFT 1
/* Digital Mixer Control (0x2c) */
#define RT5671_M_STO_L_DAC_L (0x1 << 15)
#define RT5671_M_STO_L_DAC_L_SFT 15
#define RT5671_STO_L_DAC_L_VOL_MASK (0x1 << 14)
#define RT5671_STO_L_DAC_L_VOL_SFT 14
#define RT5671_M_DAC_L2_DAC_L (0x1 << 13)
#define RT5671_M_DAC_L2_DAC_L_SFT 13
#define RT5671_DAC_L2_DAC_L_VOL_MASK (0x1 << 12)
#define RT5671_DAC_L2_DAC_L_VOL_SFT 12
#define RT5671_M_STO_R_DAC_R (0x1 << 11)
#define RT5671_M_STO_R_DAC_R_SFT 11
#define RT5671_STO_R_DAC_R_VOL_MASK (0x1 << 10)
#define RT5671_STO_R_DAC_R_VOL_SFT 10
#define RT5671_M_DAC_R2_DAC_R (0x1 << 9)
#define RT5671_M_DAC_R2_DAC_R_SFT 9
#define RT5671_DAC_R2_DAC_R_VOL_MASK (0x1 << 8)
#define RT5671_DAC_R2_DAC_R_VOL_SFT 8
#define RT5671_M_DAC_R2_DAC_L (0x1 << 7)
#define RT5671_M_DAC_R2_DAC_L_SFT 7
#define RT5671_DAC_R2_DAC_L_VOL_MASK (0x1 << 6)
#define RT5671_DAC_R2_DAC_L_VOL_SFT 6
#define RT5671_M_DAC_L2_DAC_R (0x1 << 5)
#define RT5671_M_DAC_L2_DAC_R_SFT 5
#define RT5671_DAC_L2_DAC_R_VOL_MASK (0x1 << 4)
#define RT5671_DAC_L2_DAC_R_VOL_SFT 4
/* DSP Path Control 1 (0x2d) */
#define RT5671_RXDP_SEL_MASK (0x7 << 13)
#define RT5671_RXDP_SEL_SFT 13
#define RT5671_RXDP_SRC_MASK (0x3 << 11)
#define RT5671_RXDP_SRC_SFT 11
#define RT5671_RXDP_SRC_NOR (0x0 << 11)
#define RT5671_RXDP_SRC_DIV2 (0x1 << 11)
#define RT5671_RXDP_SRC_DIV3 (0x2 << 11)
#define RT5671_TXDP_SRC_MASK (0x3 << 4)
#define RT5671_TXDP_SRC_SFT 4
#define RT5671_TXDP_SRC_NOR (0x0 << 4)
#define RT5671_TXDP_SRC_DIV2 (0x1 << 4)
#define RT5671_TXDP_SRC_DIV3 (0x2 << 4)
#define RT5671_TXDP_SLOT_SEL_MASK (0x3 << 2)
#define RT5671_TXDP_SLOT_SEL_SFT 2
#define RT5671_DSP_UL_SEL (0x1 << 1)
#define RT5671_DSP_UL_SFT 1
#define RT5671_DSP_DL_SEL 0x1
#define RT5671_DSP_DL_SFT 0
/* DSP Path Control 2 (0x2e) */
#define RT5671_TXDP_L_VOL_MASK (0x7f << 8)
#define RT5671_TXDP_L_VOL_SFT 8
#define RT5671_TXDP_R_VOL_MASK (0x7f)
#define RT5671_TXDP_R_VOL_SFT 0
/* Digital Interface Data Control (0x2f) */
#define RT5671_IF1_ADC2_IN_SEL (0x1 << 15)
#define RT5671_IF1_ADC2_IN_SFT 15
#define RT5671_IF2_ADC_IN_MASK (0x7 << 12)
#define RT5671_IF2_ADC_IN_SFT 12
#define RT5671_IF2_DAC_SEL_MASK (0x3 << 10)
#define RT5671_IF2_DAC_SEL_SFT 10
#define RT5671_IF2_ADC_SEL_MASK (0x3 << 8)
#define RT5671_IF2_ADC_SEL_SFT 8
#define RT5671_IF3_DAC_SEL_MASK (0x3 << 6)
#define RT5671_IF3_DAC_SEL_SFT 6
#define RT5671_IF3_ADC_SEL_MASK (0x3 << 4)
#define RT5671_IF3_ADC_SEL_SFT 4
#define RT5671_IF3_ADC_IN_MASK (0x7)
#define RT5671_IF3_ADC_IN_SFT 0
/* Digital Interface Data Control (0x30) */
#define RT5671_IF4_ADC_IN_MASK (0x3 << 4)
#define RT5671_IF4_ADC_IN_SFT 4
#define RT5671_IF4_DAC_SEL_MASK (0x3 << 2)
#define RT5671_IF4_DAC_SEL_SFT 2
#define RT5671_IF4_ADC_SEL_MASK (0x3 << 0)
#define RT5671_IF4_ADC_SEL_SFT 0
/* PDM Output Control (0x31) */
#define RT5671_PDM1_L_MASK (0x1 << 15)
#define RT5671_PDM1_L_SFT 15
#define RT5671_M_PDM1_L (0x1 << 14)
#define RT5671_M_PDM1_L_SFT 14
#define RT5671_PDM1_R_MASK (0x1 << 13)
#define RT5671_PDM1_R_SFT 13
#define RT5671_M_PDM1_R (0x1 << 12)
#define RT5671_M_PDM1_R_SFT 12
#define RT5671_PDM2_L_MASK (0x1 << 11)
#define RT5671_PDM2_L_SFT 11
#define RT5671_M_PDM2_L (0x1 << 10)
#define RT5671_M_PDM2_L_SFT 10
#define RT5671_PDM2_R_MASK (0x1 << 9)
#define RT5671_PDM2_R_SFT 9
#define RT5671_M_PDM2_R (0x1 << 8)
#define RT5671_M_PDM2_R_SFT 8
#define RT5671_PDM2_BUSY (0x1 << 7)
#define RT5671_PDM1_BUSY (0x1 << 6)
#define RT5671_PDM_PATTERN (0x1 << 5)
#define RT5671_PDM_GAIN (0x1 << 4)
#define RT5671_PDM_DIV_MASK (0x3)
/* REC Left Mixer Control 1 (0x3b) */
#define RT5671_G_HP_L_RM_L_MASK (0x7 << 13)
#define RT5671_G_HP_L_RM_L_SFT 13
#define RT5671_G_IN_L_RM_L_MASK (0x7 << 10)
#define RT5671_G_IN_L_RM_L_SFT 10
#define RT5671_G_BST4_RM_L_MASK (0x7 << 7)
#define RT5671_G_BST4_RM_L_SFT 7
#define RT5671_G_BST3_RM_L_MASK (0x7 << 4)
#define RT5671_G_BST3_RM_L_SFT 4
#define RT5671_G_BST2_RM_L_MASK (0x7 << 1)
#define RT5671_G_BST2_RM_L_SFT 1
/* REC Left Mixer Control 2 (0x3c) */
#define RT5671_G_BST1_RM_L_MASK (0x7 << 13)
#define RT5671_G_BST1_RM_L_SFT 13
#define RT5671_M_IN_L_RM_L (0x1 << 5)
#define RT5671_M_IN_L_RM_L_SFT 5
#define RT5671_M_BST4_RM_L (0x1 << 4)
#define RT5671_M_BST4_RM_L_SFT 4
#define RT5671_M_BST3_RM_L (0x1 << 3)
#define RT5671_M_BST3_RM_L_SFT 3
#define RT5671_M_BST2_RM_L (0x1 << 2)
#define RT5671_M_BST2_RM_L_SFT 2
#define RT5671_M_BST1_RM_L (0x1 << 1)
#define RT5671_M_BST1_RM_L_SFT 1
/* REC Right Mixer Control 1 (0x3d) */
#define RT5671_G_HP_R_RM_R_MASK (0x7 << 13)
#define RT5671_G_HP_R_RM_R_SFT 13
#define RT5671_G_IN_R_RM_R_MASK (0x7 << 10)
#define RT5671_G_IN_R_RM_R_SFT 10
#define RT5671_G_BST4_RM_R_MASK (0x7 << 7)
#define RT5671_G_BST4_RM_R_SFT 7
#define RT5671_G_BST3_RM_R_MASK (0x7 << 4)
#define RT5671_G_BST3_RM_R_SFT 4
#define RT5671_G_BST2_RM_R_MASK (0x7 << 1)
#define RT5671_G_BST2_RM_R_SFT 1
/* REC Right Mixer Control 2 (0x3e) */
#define RT5671_G_BST1_RM_R_MASK (0x7 << 13)
#define RT5671_G_BST1_RM_R_SFT 13
#define RT5671_M_IN_R_RM_R (0x1 << 5)
#define RT5671_M_IN_R_RM_R_SFT 5
#define RT5671_M_BST4_RM_R (0x1 << 4)
#define RT5671_M_BST4_RM_R_SFT 4
#define RT5671_M_BST3_RM_R (0x1 << 3)
#define RT5671_M_BST3_RM_R_SFT 3
#define RT5671_M_BST2_RM_R (0x1 << 2)
#define RT5671_M_BST2_RM_R_SFT 2
#define RT5671_M_BST1_RM_R (0x1 << 1)
#define RT5671_M_BST1_RM_R_SFT 1
/* REC Mono Mixer Control 1 (0x3f) */
#define RT5671_G_BST4_RM_M_MASK (0x7 << 7)
#define RT5671_G_BST4_RM_M_SFT 7
#define RT5671_G_BST3_RM_M_MASK (0x7 << 4)
#define RT5671_G_BST3_RM_M_SFT 4
#define RT5671_G_BST2_RM_M_MASK (0x7 << 1)
#define RT5671_G_BST2_RM_M_SFT 1
/* REC Mono Mixer Control 2 (0x40) */
#define RT5671_G_BST1_RM_M_MASK (0x7 << 13)
#define RT5671_G_BST1_RM_M_SFT 13
#define RT5671_M_BST4_RM_M (0x1 << 4)
#define RT5671_M_BST4_RM_M_SFT 4
#define RT5671_M_BST3_RM_M (0x1 << 3)
#define RT5671_M_BST3_RM_M_SFT 3
#define RT5671_M_BST2_RM_M (0x1 << 2)
#define RT5671_M_BST2_RM_M_SFT 2
#define RT5671_M_BST1_RM_M (0x1 << 1)
#define RT5671_M_BST1_RM_M_SFT 1
/* HPMIX Control (0x45) */
#define RT5671_M_DAC2_HM (0x1 << 15)
#define RT5671_M_DAC2_HM_SFT 15
#define RT5671_M_HPVOL_HM (0x1 << 14)
#define RT5671_M_HPVOL_HM_SFT 14
#define RT5671_M_DAC1_HM (0x1 << 13)
#define RT5671_M_DAC1_HM_SFT 13
#define RT5671_G_HPOMIX_MASK (0x1 << 12)
#define RT5671_G_HPOMIX_SFT 12
#define RT5671_M_INR1_HMR (0x1 << 3)
#define RT5671_M_INR1_HMR_SFT 3
#define RT5671_M_DACR1_HMR (0x1 << 2)
#define RT5671_M_DACR1_HMR_SFT 2
#define RT5671_M_INL1_HML (0x1 << 1)
#define RT5671_M_INL1_HML_SFT 1
#define RT5671_M_DACL1_HML (0x1)
#define RT5671_M_DACL1_HML_SFT 0
/* Mono Output Mixer Control (0x4c) */
#define RT5671_M_DAC_L1_MA (0x1 << 14)
#define RT5671_M_DAC_L1_MA_SFT 14
#define RT5671_M_OV_R_MM (0x1 << 13)
#define RT5671_M_OV_R_MM_SFT 13
#define RT5671_M_OV_L_MM (0x1 << 12)
#define RT5671_M_OV_L_MM_SFT 12
#define RT5671_G_MONOMIX_MASK (0x1 << 10)
#define RT5671_G_MONOMIX_SFT 10
#define RT5671_M_DAC_R2_MM (0x1 << 9)
#define RT5671_M_DAC_R2_MM_SFT 9
#define RT5671_M_DAC_L2_MM (0x1 << 8)
#define RT5671_M_DAC_L2_MM_SFT 8
#define RT5671_M_BST4_MM (0x1 << 7)
#define RT5671_M_BST4_MM_SFT 7
/* Output Left Mixer Control 1 (0x4d) */
#define RT5671_G_BST3_OM_L_MASK (0x7 << 13)
#define RT5671_G_BST3_OM_L_SFT 13
#define RT5671_G_BST2_OM_L_MASK (0x7 << 10)
#define RT5671_G_BST2_OM_L_SFT 10
#define RT5671_G_BST1_OM_L_MASK (0x7 << 7)
#define RT5671_G_BST1_OM_L_SFT 7
#define RT5671_G_IN_L_OM_L_MASK (0x7 << 4)
#define RT5671_G_IN_L_OM_L_SFT 4
#define RT5671_G_RM_L_OM_L_MASK (0x7 << 1)
#define RT5671_G_RM_L_OM_L_SFT 1
/* Output Left Mixer Control 2 (0x4e) */
#define RT5671_G_DAC_R2_OM_L_MASK (0x7 << 13)
#define RT5671_G_DAC_R2_OM_L_SFT 13
#define RT5671_G_DAC_L2_OM_L_MASK (0x7 << 10)
#define RT5671_G_DAC_L2_OM_L_SFT 10
#define RT5671_G_DAC_L1_OM_L_MASK (0x7 << 7)
#define RT5671_G_DAC_L1_OM_L_SFT 7
/* Output Left Mixer Control 3 (0x4f) */
#define RT5671_M_BST2_OM_L (0x1 << 6)
#define RT5671_M_BST2_OM_L_SFT 6
#define RT5671_M_BST1_OM_L (0x1 << 5)
#define RT5671_M_BST1_OM_L_SFT 5
#define RT5671_M_IN_L_OM_L (0x1 << 4)
#define RT5671_M_IN_L_OM_L_SFT 4
#define RT5671_M_DAC_L2_OM_L (0x1 << 1)
#define RT5671_M_DAC_L2_OM_L_SFT 1
#define RT5671_M_DAC_L1_OM_L (0x1)
#define RT5671_M_DAC_L1_OM_L_SFT 0
/* Output Right Mixer Control 1 (0x50) */
#define RT5671_G_BST4_OM_R_MASK (0x7 << 13)
#define RT5671_G_BST4_OM_R_SFT 13
#define RT5671_G_BST2_OM_R_MASK (0x7 << 10)
#define RT5671_G_BST2_OM_R_SFT 10
#define RT5671_G_BST1_OM_R_MASK (0x7 << 7)
#define RT5671_G_BST1_OM_R_SFT 7
#define RT5671_G_IN_R_OM_R_MASK (0x7 << 4)
#define RT5671_G_IN_R_OM_R_SFT 4
#define RT5671_G_RM_R_OM_R_MASK (0x7 << 1)
#define RT5671_G_RM_R_OM_R_SFT 1
/* Output Right Mixer Control 2 (0x51) */
#define RT5671_G_DAC_L2_OM_R_MASK (0x7 << 13)
#define RT5671_G_DAC_L2_OM_R_SFT 13
#define RT5671_G_DAC_R2_OM_R_MASK (0x7 << 10)
#define RT5671_G_DAC_R2_OM_R_SFT 10
#define RT5671_G_DAC_R1_OM_R_MASK (0x7 << 7)
#define RT5671_G_DAC_R1_OM_R_SFT 7
/* Output Right Mixer Control 3 (0x52) */
#define RT5671_M_BST4_OM_R (0x1 << 7)
#define RT5671_M_BST4_OM_R_SFT 7
#define RT5671_M_BST3_OM_R (0x1 << 6)
#define RT5671_M_BST3_OM_R_SFT 6
#define RT5671_M_IN_R_OM_R (0x1 << 4)
#define RT5671_M_IN_R_OM_R_SFT 4
#define RT5671_M_DAC_R2_OM_R (0x1 << 1)
#define RT5671_M_DAC_R2_OM_R_SFT 1
#define RT5671_M_DAC_R1_OM_R (0x1)
#define RT5671_M_DAC_R1_OM_R_SFT 0
/* LOUT Mixer Control (0x53) */
#define RT5671_M_DAC_L1_LM (0x1 << 15)
#define RT5671_M_DAC_L1_LM_SFT 15
#define RT5671_M_DAC_R1_LM (0x1 << 14)
#define RT5671_M_DAC_R1_LM_SFT 14
#define RT5671_M_OV_L_LM (0x1 << 13)
#define RT5671_M_OV_L_LM_SFT 13
#define RT5671_M_OV_R_LM (0x1 << 12)
#define RT5671_M_OV_R_LM_SFT 12
#define RT5671_G_LOUTMIX_MASK (0x1 << 11)
#define RT5671_G_LOUTMIX_SFT 11
/* Power Management for Digital 1 (0x61) */
#define RT5671_PWR_I2S1 (0x1 << 15)
#define RT5671_PWR_I2S1_BIT 15
#define RT5671_PWR_I2S2 (0x1 << 14)
#define RT5671_PWR_I2S2_BIT 14
#define RT5671_PWR_I2S3 (0x1 << 13)
#define RT5671_PWR_I2S3_BIT 13
#define RT5671_PWR_DAC_L1 (0x1 << 12)
#define RT5671_PWR_DAC_L1_BIT 12
#define RT5671_PWR_DAC_R1 (0x1 << 11)
#define RT5671_PWR_DAC_R1_BIT 11
#define RT5671_PWR_I2S4 (0x1 << 10)
#define RT5671_PWR_I2S4_BIT 10
#define RT5671_PWR_DAC_L2 (0x1 << 7)
#define RT5671_PWR_DAC_L2_BIT 7
#define RT5671_PWR_DAC_R2 (0x1 << 6)
#define RT5671_PWR_DAC_R2_BIT 6
#define RT5671_PWR_ADC_3 (0x1 << 3)
#define RT5671_PWR_ADC_3_BIT 3
#define RT5671_PWR_ADC_L (0x1 << 2)
#define RT5671_PWR_ADC_L_BIT 2
#define RT5671_PWR_ADC_R (0x1 << 1)
#define RT5671_PWR_ADC_R_BIT 1
#define RT5671_PWR_CLS_D (0x1)
#define RT5671_PWR_CLS_D_BIT 0
/* Power Management for Digital 2 (0x62) */
#define RT5671_PWR_ADC_S1F (0x1 << 15)
#define RT5671_PWR_ADC_S1F_BIT 15
#define RT5671_PWR_ADC_MF_L (0x1 << 14)
#define RT5671_PWR_ADC_MF_L_BIT 14
#define RT5671_PWR_ADC_MF_R (0x1 << 13)
#define RT5671_PWR_ADC_MF_R_BIT 13
#define RT5671_PWR_I2S_DSP (0x1 << 12)
#define RT5671_PWR_I2S_DSP_BIT 12
#define RT5671_PWR_DAC_S1F (0x1 << 11)
#define RT5671_PWR_DAC_S1F_BIT 11
#define RT5671_PWR_DAC_MF_L (0x1 << 10)
#define RT5671_PWR_DAC_MF_L_BIT 10
#define RT5671_PWR_DAC_MF_R (0x1 << 9)
#define RT5671_PWR_DAC_MF_R_BIT 9
#define RT5671_PWR_ADC_S2F (0x1 << 8)
#define RT5671_PWR_ADC_S2F_BIT 8
#define RT5671_PWR_PDM1 (0x1 << 7)
#define RT5671_PWR_PDM1_BIT 7
#define RT5671_PWR_PDM2 (0x1 << 6)
#define RT5671_PWR_PDM2_BIT 6
/* Power Management for Analog 1 (0x63) */
#define RT5671_PWR_VREF1 (0x1 << 15)
#define RT5671_PWR_VREF1_BIT 15
#define RT5671_PWR_FV1 (0x1 << 14)
#define RT5671_PWR_FV1_BIT 14
#define RT5671_PWR_MB (0x1 << 13)
#define RT5671_PWR_MB_BIT 13
#define RT5671_PWR_LM (0x1 << 12)
#define RT5671_PWR_LM_BIT 12
#define RT5671_PWR_BG (0x1 << 11)
#define RT5671_PWR_BG_BIT 11
#define RT5671_PWR_MA (0x1 << 10)
#define RT5671_PWR_MA_BIT 10
#define RT5671_PWR_MM (0x1 << 9)
#define RT5671_PWR_MM_BIT 9
#define RT5671_PWR_HP_L (0x1 << 7)
#define RT5671_PWR_HP_L_BIT 7
#define RT5671_PWR_HP_R (0x1 << 6)
#define RT5671_PWR_HP_R_BIT 6
#define RT5671_PWR_HA (0x1 << 5)
#define RT5671_PWR_HA_BIT 5
#define RT5671_PWR_VREF2 (0x1 << 4)
#define RT5671_PWR_VREF2_BIT 4
#define RT5671_PWR_FV2 (0x1 << 3)
#define RT5671_PWR_FV2_BIT 3
#define RT5671_LDO_SEL_MASK (0x7)
#define RT5671_LDO_SEL_SFT 0
/* Power Management for Analog 2 (0x64) */
#define RT5671_PWR_BST1 (0x1 << 15)
#define RT5671_PWR_BST1_BIT 15
#define RT5671_PWR_BST2 (0x1 << 14)
#define RT5671_PWR_BST2_BIT 14
#define RT5671_PWR_BST3 (0x1 << 13)
#define RT5671_PWR_BST3_BIT 13
#define RT5671_PWR_BST4 (0x1 << 12)
#define RT5671_PWR_BST4_BIT 12
#define RT5671_PWR_MB1 (0x1 << 11)
#define RT5671_PWR_MB1_BIT 11
#define RT5671_PWR_MB2 (0x1 << 10)
#define RT5671_PWR_MB2_BIT 10
#define RT5671_PWR_PLL (0x1 << 9)
#define RT5671_PWR_PLL_BIT 9
#define RT5671_PWR_BST1_P (0x1 << 6)
#define RT5671_PWR_BST1_P_BIT 6
#define RT5671_PWR_BST2_P (0x1 << 5)
#define RT5671_PWR_BST2_P_BIT 5
#define RT5671_PWR_BST3_P (0x1 << 4)
#define RT5671_PWR_BST3_P_BIT 4
#define RT5671_PWR_BST4_P (0x1 << 3)
#define RT5671_PWR_BST4_P_BIT 3
#define RT5671_PWR_JD1 (0x1 << 2)
#define RT5671_PWR_JD1_BIT 2
#define RT5671_PWR_JD (0x1 << 1)
#define RT5671_PWR_JD_BIT 1
/* Power Management for Mixer (0x65) */
#define RT5671_PWR_OM_L (0x1 << 15)
#define RT5671_PWR_OM_L_BIT 15
#define RT5671_PWR_OM_R (0x1 << 14)
#define RT5671_PWR_OM_R_BIT 14
#define RT5671_PWR_RM_L (0x1 << 11)
#define RT5671_PWR_RM_L_BIT 11
#define RT5671_PWR_RM_R (0x1 << 10)
#define RT5671_PWR_RM_R_BIT 10
#define RT5671_PWR_RM_M (0x1 << 9)
#define RT5671_PWR_RM_M_BIT 9
/* Power Management for Volume (0x66) */
#define RT5671_PWR_HV_L (0x1 << 11)
#define RT5671_PWR_HV_L_BIT 11
#define RT5671_PWR_HV_R (0x1 << 10)
#define RT5671_PWR_HV_R_BIT 10
#define RT5671_PWR_IN_L (0x1 << 9)
#define RT5671_PWR_IN_L_BIT 9
#define RT5671_PWR_IN_R (0x1 << 8)
#define RT5671_PWR_IN_R_BIT 8
#define RT5671_PWR_MIC_DET (0x1 << 5)
#define RT5671_PWR_MIC_DET_BIT 5
/* I2S1/2/3 Audio Serial Data Port Control (0x70 0x71 0x72) */
#define RT5671_I2S_MS_MASK (0x1 << 15)
#define RT5671_I2S_MS_SFT 15
#define RT5671_I2S_MS_M (0x0 << 15)
#define RT5671_I2S_MS_S (0x1 << 15)
#define RT5671_I2S_IF_MASK (0x7 << 12)
#define RT5671_I2S_IF_SFT 12
#define RT5671_I2S_O_CP_MASK (0x3 << 10)
#define RT5671_I2S_O_CP_SFT 10
#define RT5671_I2S_O_CP_OFF (0x0 << 10)
#define RT5671_I2S_O_CP_U_LAW (0x1 << 10)
#define RT5671_I2S_O_CP_A_LAW (0x2 << 10)
#define RT5671_I2S_I_CP_MASK (0x3 << 8)
#define RT5671_I2S_I_CP_SFT 8
#define RT5671_I2S_I_CP_OFF (0x0 << 8)
#define RT5671_I2S_I_CP_U_LAW (0x1 << 8)
#define RT5671_I2S_I_CP_A_LAW (0x2 << 8)
#define RT5671_I2S_BP_MASK (0x1 << 7)
#define RT5671_I2S_BP_SFT 7
#define RT5671_I2S_BP_NOR (0x0 << 7)
#define RT5671_I2S_BP_INV (0x1 << 7)
#define RT5671_I2S_DL_MASK (0x3 << 2)
#define RT5671_I2S_DL_SFT 2
#define RT5671_I2S_DL_16 (0x0 << 2)
#define RT5671_I2S_DL_20 (0x1 << 2)
#define RT5671_I2S_DL_24 (0x2 << 2)
#define RT5671_I2S_DL_8 (0x3 << 2)
#define RT5671_I2S_DF_MASK (0x3)
#define RT5671_I2S_DF_SFT 0
#define RT5671_I2S_DF_I2S (0x0)
#define RT5671_I2S_DF_LEFT (0x1)
#define RT5671_I2S_DF_PCM_A (0x2)
#define RT5671_I2S_DF_PCM_B (0x3)
/* I2S2 Audio Serial Data Port Control (0x71) */
#define RT5671_I2S2_SDI_MASK (0x1 << 6)
#define RT5671_I2S2_SDI_SFT 6
#define RT5671_I2S2_SDI_I2S1 (0x0 << 6)
#define RT5671_I2S2_SDI_I2S2 (0x1 << 6)
/* ADC/DAC Clock Control 1 (0x73) */
#define RT5671_I2S_PD1_MASK (0x7 << 12)
#define RT5671_I2S_PD1_SFT 12
#define RT5671_I2S_PD1_1 (0x0 << 12)
#define RT5671_I2S_PD1_2 (0x1 << 12)
#define RT5671_I2S_PD1_3 (0x2 << 12)
#define RT5671_I2S_PD1_4 (0x3 << 12)
#define RT5671_I2S_PD1_6 (0x4 << 12)
#define RT5671_I2S_PD1_8 (0x5 << 12)
#define RT5671_I2S_PD1_12 (0x6 << 12)
#define RT5671_I2S_PD1_16 (0x7 << 12)
#define RT5671_I2S_BCLK_MS2_MASK (0x1 << 11)
#define RT5671_I2S_BCLK_MS2_SFT 11
#define RT5671_I2S_BCLK_MS2_32 (0x0 << 11)
#define RT5671_I2S_BCLK_MS2_64 (0x1 << 11)
#define RT5671_I2S_PD2_MASK (0x7 << 8)
#define RT5671_I2S_PD2_SFT 8
#define RT5671_I2S_PD2_1 (0x0 << 8)
#define RT5671_I2S_PD2_2 (0x1 << 8)
#define RT5671_I2S_PD2_3 (0x2 << 8)
#define RT5671_I2S_PD2_4 (0x3 << 8)
#define RT5671_I2S_PD2_6 (0x4 << 8)
#define RT5671_I2S_PD2_8 (0x5 << 8)
#define RT5671_I2S_PD2_12 (0x6 << 8)
#define RT5671_I2S_PD2_16 (0x7 << 8)
#define RT5671_I2S_BCLK_MS3_MASK (0x1 << 7)
#define RT5671_I2S_BCLK_MS3_SFT 7
#define RT5671_I2S_BCLK_MS3_32 (0x0 << 7)
#define RT5671_I2S_BCLK_MS3_64 (0x1 << 7)
#define RT5671_I2S_PD3_MASK (0x7 << 4)
#define RT5671_I2S_PD3_SFT 4
#define RT5671_I2S_PD3_1 (0x0 << 4)
#define RT5671_I2S_PD3_2 (0x1 << 4)
#define RT5671_I2S_PD3_3 (0x2 << 4)
#define RT5671_I2S_PD3_4 (0x3 << 4)
#define RT5671_I2S_PD3_6 (0x4 << 4)
#define RT5671_I2S_PD3_8 (0x5 << 4)
#define RT5671_I2S_PD3_12 (0x6 << 4)
#define RT5671_I2S_PD3_16 (0x7 << 4)
#define RT5671_DAC_OSR_MASK (0x3 << 2)
#define RT5671_DAC_OSR_SFT 2
#define RT5671_DAC_OSR_128 (0x0 << 2)
#define RT5671_DAC_OSR_64 (0x1 << 2)
#define RT5671_DAC_OSR_32 (0x2 << 2)
#define RT5671_DAC_OSR_16 (0x3 << 2)
#define RT5671_ADC_OSR_MASK (0x3)
#define RT5671_ADC_OSR_SFT 0
#define RT5671_ADC_OSR_128 (0x0)
#define RT5671_ADC_OSR_64 (0x1)
#define RT5671_ADC_OSR_32 (0x2)
#define RT5671_ADC_OSR_16 (0x3)
/* ADC/DAC Clock Control 2 (0x74) */
#define RT5671_DAC_L_OSR_MASK (0x3 << 14)
#define RT5671_DAC_L_OSR_SFT 14
#define RT5671_DAC_L_OSR_128 (0x0 << 14)
#define RT5671_DAC_L_OSR_64 (0x1 << 14)
#define RT5671_DAC_L_OSR_32 (0x2 << 14)
#define RT5671_DAC_L_OSR_16 (0x3 << 14)
#define RT5671_ADC_R_OSR_MASK (0x3 << 12)
#define RT5671_ADC_R_OSR_SFT 12
#define RT5671_ADC_R_OSR_128 (0x0 << 12)
#define RT5671_ADC_R_OSR_64 (0x1 << 12)
#define RT5671_ADC_R_OSR_32 (0x2 << 12)
#define RT5671_ADC_R_OSR_16 (0x3 << 12)
#define RT5671_DAHPF_EN (0x1 << 11)
#define RT5671_DAHPF_EN_SFT 11
#define RT5671_ADHPF_EN (0x1 << 10)
#define RT5671_ADHPF_EN_SFT 10
/* Digital Microphone Control (0x75) */
#define RT5671_DMIC_1_EN_MASK (0x1 << 15)
#define RT5671_DMIC_1_EN_SFT 15
#define RT5671_DMIC_1_DIS (0x0 << 15)
#define RT5671_DMIC_1_EN (0x1 << 15)