wm8994_reg.c
Go to the documentation of this file.
1 
21 /* Includes ------------------------------------------------------------------*/
22 #include "wm8994_reg.h"
23 
38 /************** Generic Function *******************/
39 /*******************************************************************************
40 * Function Name : wm8994_read_reg
41 * Description : Generic Reading function. It must be full-filled with either
42 * I2C or SPI reading functions
43 * Input : Register Address, length of buffer
44 * Output : data Read
45 *******************************************************************************/
46 int32_t wm8994_read_reg(wm8994_ctx_t *ctx, uint16_t reg, uint16_t* data, uint16_t length)
47 {
48  int32_t ret;
49  uint16_t tmp;
50 
51  ret = ctx->ReadReg(ctx->handle, reg, (uint8_t *)data, length);
52 
53  if(ret >= 0)
54  {
55  tmp = ((uint16_t)(*data >> 8) & 0x00FF);
56  tmp |= ((uint16_t)(*data << 8) & 0xFF00);
57  *data = tmp;
58  }
59  return ret;
60 }
61 
62 /*******************************************************************************
63 * Function Name : wm8994_write_reg
64 * Description : Generic Writing function. It must be full-filled with either
65 * I2C or SPI writing function
66 * Input : Register Address, data to be written, length of buffer
67 * Output : None
68 *******************************************************************************/
69 int32_t wm8994_write_reg(wm8994_ctx_t *ctx, uint16_t reg, uint16_t *data, uint16_t length)
70 {
71  uint16_t tmp;
72  tmp = ((uint16_t)(*data >> 8) & 0x00FF);
73  tmp |= ((uint16_t)(*data << 8) & 0xFF00);
74 
75  return ctx->WriteReg(ctx->handle, reg, (uint8_t *)&tmp, length);
76 }
77 
78 /**************** Base Function *******************/
79 /*******************************************************************************
80 * Function Name : wm8994_register_set
81 * Description : Write value to a WM8994 register
82 * Input : uint16_t
83 * Output : None
84 * Return : Status [WM8994_ERROR, WM8994_OK]
85 *******************************************************************************/
86 int32_t wm8994_register_set(wm8994_ctx_t *ctx, uint16_t reg, uint16_t value)
87 {
88  return wm8994_write_reg(ctx, reg, &value, 2);
89 }
90 
91 
92 /*******************************************************************************
93 * Function Name : wm8994_sw_reset_w
94 * Description : Write Device Mode
95 * Input : uint16_t
96 * Output : None
97 * Return : Status [WM8994_ERROR, WM8994_OK]
98 *******************************************************************************/
99 int32_t wm8994_sw_reset_w(wm8994_ctx_t *ctx, uint16_t value)
100 {
101  return wm8994_write_reg(ctx, WM8994_SW_RESET, &value, 2);
102 }
103 
104 /*******************************************************************************
105 * Function Name : wm8994_sw_reset_r
106 * Description : Read Device Mode
107 * Input : Pointer to uint8_t
108 * Output : None
109 * Return : Status [WM8994_ERROR, WM8994_OK]
110 *******************************************************************************/
111 int32_t wm8994_sw_reset_r(wm8994_ctx_t *ctx, uint16_t *value)
112 {
113  return wm8994_read_reg(ctx, WM8994_SW_RESET, value, 2);
114 }
115 
116 /*******************************************************************************
117 * Function Name : wm8994_pwr_mgmt_1_bias_en
118 * Description : Bias enable
119 * Input : uint16_t
120 * Output : None
121 * Return : Status [WM8994_ERROR, WM8994_OK]
122 *******************************************************************************/
123 int32_t wm8994_pwr_mgmt_1_bias_en(wm8994_ctx_t *ctx, uint16_t value)
124 {
125  int32_t ret;
126  uint16_t tmp = 0;
127 
128  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_1, &tmp, 2);
129 
130  if(ret == 0)
131  {
133  tmp |= value << WM8994_PWR_MGMT_1_BIAS_EN_POSITION;
134 
135  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_1, &tmp, 2);
136  }
137 
138  return ret;
139 }
140 
141 /*******************************************************************************
142 * Function Name : wm8994_pwr_mgmt_1_vmid_sel
143 * Description : VMID Divider Enable and Select
144 * Input : uint16_t
145 * Output : None
146 * Return : Status [WM8994_ERROR, WM8994_OK]
147 *******************************************************************************/
148 int32_t wm8994_pwr_mgmt_1_vmid_sel(wm8994_ctx_t *ctx, uint16_t value)
149 {
150  int32_t ret;
151  uint16_t tmp = 0;
152 
153  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_1, &tmp, 2);
154 
155  if(ret == 0)
156  {
158  tmp |= value << WM8994_PWR_MGMT_1_VMID_SEL_POSITION;
159 
160  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_1, &tmp, 2);
161  }
162 
163  return ret;
164 }
165 
166 /*******************************************************************************
167 * Function Name : wm8994_pwr_mgmt_1_micb1_ena
168 * Description : Microphone Bias 1 Enable
169 * Input : uint16_t
170 * Output : None
171 * Return : Status [WM8994_ERROR, WM8994_OK]
172 *******************************************************************************/
173 int32_t wm8994_pwr_mgmt_1_micb1_ena(wm8994_ctx_t *ctx, uint16_t value)
174 {
175  int32_t ret;
176  uint16_t tmp = 0;
177 
178  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_1, &tmp, 2);
179 
180  if(ret == 0)
181  {
183  tmp |= value << WM8994_PWR_MGMT_1_MICB1_ENA_POSITION;
184 
185  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_1, &tmp, 2);
186  }
187 
188  return ret;
189 }
190 
191 /*******************************************************************************
192 * Function Name : wm8994_pwr_mgmt_1_micb2_ena
193 * Description : Microphone Bias 2 Enable
194 * Input : uint16_t
195 * Output : None
196 * Return : Status [WM8994_ERROR, WM8994_OK]
197 *******************************************************************************/
198 int32_t wm8994_pwr_mgmt_1_micb2_ena(wm8994_ctx_t *ctx, uint16_t value)
199 {
200  int32_t ret;
201  uint16_t tmp = 0;
202 
203  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_1, &tmp, 2);
204 
205  if(ret == 0)
206  {
208  tmp |= value << WM8994_PWR_MGMT_1_MICB2_ENA_POSITION;
209 
210  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_1, &tmp, 2);
211  }
212 
213  return ret;
214 }
215 
216 /*******************************************************************************
217 * Function Name : wm8994_pwr_mgmt_1_hpout1r_ena
218 * Description : Enables HPOUT1R input stage
219 * Input : uint16_t
220 * Output : None
221 * Return : Status [WM8994_ERROR, WM8994_OK]
222 *******************************************************************************/
223 int32_t wm8994_pwr_mgmt_1_hpout1r_ena(wm8994_ctx_t *ctx, uint16_t value)
224 {
225  int32_t ret;
226  uint16_t tmp = 0;
227 
228  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_1, &tmp, 2);
229 
230  if(ret == 0)
231  {
234 
235  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_1, &tmp, 2);
236  }
237 
238  return ret;
239 }
240 
241 /*******************************************************************************
242 * Function Name : wm8994_pwr_mgmt_1_hpout1l_ena
243 * Description : Enables HPOUT1L input stage
244 * Input : uint16_t
245 * Output : None
246 * Return : Status [WM8994_ERROR, WM8994_OK]
247 *******************************************************************************/
248 int32_t wm8994_pwr_mgmt_1_hpout1l_ena(wm8994_ctx_t *ctx, uint16_t value)
249 {
250  int32_t ret;
251  uint16_t tmp = 0;
252 
253  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_1, &tmp, 2);
254 
255  if(ret == 0)
256  {
259 
260  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_1, &tmp, 2);
261  }
262 
263  return ret;
264 }
265 
266 /*******************************************************************************
267 * Function Name : wm8994_pwr_mgmt_1_hpout2_ena
268 * Description : HPOUT2 Output Stage Enable
269 * Input : uint16_t
270 * Output : None
271 * Return : Status [WM8994_ERROR, WM8994_OK]
272 *******************************************************************************/
273 int32_t wm8994_pwr_mgmt_1_hpout2_ena(wm8994_ctx_t *ctx, uint16_t value)
274 {
275  int32_t ret;
276  uint16_t tmp = 0;
277 
278  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_1, &tmp, 2);
279 
280  if(ret == 0)
281  {
284 
285  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_1, &tmp, 2);
286  }
287 
288  return ret;
289 }
290 
291 /*******************************************************************************
292 * Function Name : wm8994_pwr_mgmt_1_spkoutl_ena
293 * Description : SPKMIXL Mixer, SPKLVOL PGA and SPKOUTL Output Enable
294 * Input : uint16_t
295 * Output : None
296 * Return : Status [WM8994_ERROR, WM8994_OK]
297 *******************************************************************************/
298 int32_t wm8994_pwr_mgmt_1_spkoutl_ena(wm8994_ctx_t *ctx, uint16_t value)
299 {
300  int32_t ret;
301  uint16_t tmp = 0;
302 
303  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_1, &tmp, 2);
304 
305  if(ret == 0)
306  {
309 
310  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_1, &tmp, 2);
311  }
312 
313  return ret;
314 }
315 
316 /*******************************************************************************
317 * Function Name : wm8994_pwr_mgmt_1_spkoutr_ena
318 * Description : SPKMIXR Mixer, SPKRVOL PGA and SPKOUTR Output Enable
319 * Input : uint16_t
320 * Output : None
321 * Return : Status [WM8994_ERROR, WM8994_OK]
322 *******************************************************************************/
323 int32_t wm8994_pwr_mgmt_1_spkoutr_ena(wm8994_ctx_t *ctx, uint16_t value)
324 {
325  int32_t ret;
326  uint16_t tmp = 0;
327 
328  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_1, &tmp, 2);
329 
330  if(ret == 0)
331  {
334 
335  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_1, &tmp, 2);
336  }
337 
338  return ret;
339 }
340 
341 /*******************************************************************************
342 * Function Name : wm8994_pwr_mgmt_2_in1r_ena
343 * Description : IN1R Input PGA Enable
344 * Input : uint16_t
345 * Output : None
346 * Return : Status [WM8994_ERROR, WM8994_OK]
347 *******************************************************************************/
348 int32_t wm8994_pwr_mgmt_2_in1r_ena(wm8994_ctx_t *ctx, uint16_t value)
349 {
350  int32_t ret;
351  uint16_t tmp = 0;
352 
353  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_2, &tmp, 2);
354 
355  if(ret == 0)
356  {
358  tmp |= value << WM8994_PWR_MGMT_2_IN1R_ENA_POSITION;
359 
360  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_2, &tmp, 2);
361  }
362 
363  return ret;
364 }
365 
366 /*******************************************************************************
367 * Function Name : wm8994_pwr_mgmt_2_in2r_ena
368 * Description : IN2R Input PGA Enable
369 * Input : uint16_t
370 * Output : None
371 * Return : Status [WM8994_ERROR, WM8994_OK]
372 *******************************************************************************/
373 int32_t wm8994_pwr_mgmt_2_in2r_ena(wm8994_ctx_t *ctx, uint16_t value)
374 {
375  int32_t ret;
376  uint16_t tmp = 0;
377 
378  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_2, &tmp, 2);
379 
380  if(ret == 0)
381  {
383  tmp |= value << WM8994_PWR_MGMT_2_IN2R_ENA_POSITION;
384 
385  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_2, &tmp, 2);
386  }
387 
388  return ret;
389 }
390 
391 /*******************************************************************************
392 * Function Name : wm8994_pwr_mgmt_2_in1l_ena
393 * Description : IN1L Input PGA Enable
394 * Input : uint16_t
395 * Output : None
396 * Return : Status [WM8994_ERROR, WM8994_OK]
397 *******************************************************************************/
398 int32_t wm8994_pwr_mgmt_2_in1l_ena(wm8994_ctx_t *ctx, uint16_t value)
399 {
400  int32_t ret;
401  uint16_t tmp = 0;
402 
403  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_2, &tmp, 2);
404 
405  if(ret == 0)
406  {
408  tmp |= value << WM8994_PWR_MGMT_2_IN1L_ENA_POSITION;
409 
410  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_2, &tmp, 2);
411  }
412 
413  return ret;
414 }
415 
416 /*******************************************************************************
417 * Function Name : wm8994_pwr_mgmt_2_in2l_ena
418 * Description : IN2L Input PGA Enable
419 * Input : uint16_t
420 * Output : None
421 * Return : Status [WM8994_ERROR, WM8994_OK]
422 *******************************************************************************/
423 int32_t wm8994_pwr_mgmt_2_in2l_ena(wm8994_ctx_t *ctx, uint16_t value)
424 {
425  int32_t ret;
426  uint16_t tmp = 0;
427 
428  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_2, &tmp, 2);
429 
430  if(ret == 0)
431  {
433  tmp |= value << WM8994_PWR_MGMT_2_IN2L_ENA_POSITION;
434 
435  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_2, &tmp, 2);
436  }
437 
438  return ret;
439 }
440 
441 /*******************************************************************************
442 * Function Name : wm8994_pwr_mgmt_2_mixinr_ena
443 * Description : Right Input Mixer Enable
444 * Input : uint16_t
445 * Output : None
446 * Return : Status [WM8994_ERROR, WM8994_OK]
447 *******************************************************************************/
448 int32_t wm8994_pwr_mgmt_2_mixinr_ena(wm8994_ctx_t *ctx, uint16_t value)
449 {
450  int32_t ret;
451  uint16_t tmp = 0;
452 
453  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_2, &tmp, 2);
454 
455  if(ret == 0)
456  {
459 
460  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_2, &tmp, 2);
461  }
462 
463  return ret;
464 }
465 
466 /*******************************************************************************
467 * Function Name : wm8994_pwr_mgmt_2_mixinl_ena
468 * Description : Left Input Mixer Enable
469 * Input : uint16_t
470 * Output : None
471 * Return : Status [WM8994_ERROR, WM8994_OK]
472 *******************************************************************************/
473 int32_t wm8994_pwr_mgmt_2_mixinl_ena(wm8994_ctx_t *ctx, uint16_t value)
474 {
475  int32_t ret;
476  uint16_t tmp = 0;
477 
478  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_2, &tmp, 2);
479 
480  if(ret == 0)
481  {
484 
485  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_2, &tmp, 2);
486  }
487 
488  return ret;
489 }
490 
491 /*******************************************************************************
492 * Function Name : wm8994_pwr_mgmt_2_opclk_ena
493 * Description : GPIO Clock Output (OPCLK) Enable
494 * Input : uint16_t
495 * Output : None
496 * Return : Status [WM8994_ERROR, WM8994_OK]
497 *******************************************************************************/
498 int32_t wm8994_pwr_mgmt_2_opclk_ena(wm8994_ctx_t *ctx, uint16_t value)
499 {
500  int32_t ret;
501  uint16_t tmp = 0;
502 
503  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_2, &tmp, 2);
504 
505  if(ret == 0)
506  {
508  tmp |= value << WM8994_PWR_MGMT_2_OPCLK_ENA_POSITION;
509 
510  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_2, &tmp, 2);
511  }
512 
513  return ret;
514 }
515 
516 /*******************************************************************************
517 * Function Name : wm8994_pwr_mgmt_2_tshut_opdis
518 * Description : Thermal shutdown control
519 * Input : uint16_t
520 * Output : None
521 * Return : Status [WM8994_ERROR, WM8994_OK]
522 *******************************************************************************/
523 int32_t wm8994_pwr_mgmt_2_tshut_opdis(wm8994_ctx_t *ctx, uint16_t value)
524 {
525  int32_t ret;
526  uint16_t tmp = 0;
527 
528  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_2, &tmp, 2);
529 
530  if(ret == 0)
531  {
534 
535  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_2, &tmp, 2);
536  }
537 
538  return ret;
539 }
540 
541 /*******************************************************************************
542 * Function Name : wm8994_pwr_mgmt_2_tshut_ena
543 * Description : Thermal sensor enable
544 * Input : uint16_t
545 * Output : None
546 * Return : Status [WM8994_ERROR, WM8994_OK]
547 *******************************************************************************/
548 int32_t wm8994_pwr_mgmt_2_tshut_ena(wm8994_ctx_t *ctx, uint16_t value)
549 {
550  int32_t ret;
551  uint16_t tmp = 0;
552 
553  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_2, &tmp, 2);
554 
555  if(ret == 0)
556  {
558  tmp |= value << WM8994_PWR_MGMT_2_TSHUT_ENA_POSITION;
559 
560  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_2, &tmp, 2);
561  }
562 
563  return ret;
564 }
565 
566 /*******************************************************************************
567 * Function Name : wm8994_pwr_mgmt_3_mixoutr_ena
568 * Description : MIXOUTR Right Output Mixer Enable
569 * Input : uint16_t
570 * Output : None
571 * Return : Status [WM8994_ERROR, WM8994_OK]
572 *******************************************************************************/
573 int32_t wm8994_pwr_mgmt_3_mixoutr_ena(wm8994_ctx_t *ctx, uint16_t value)
574 {
575  int32_t ret;
576  uint16_t tmp = 0;
577 
578  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_3, &tmp, 2);
579 
580  if(ret == 0)
581  {
584 
585  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_3, &tmp, 2);
586  }
587 
588  return ret;
589 }
590 
591 /*******************************************************************************
592 * Function Name : wm8994_pwr_mgmt_3_mixoutl_ena
593 * Description : MIXOUTL Left Output Mixer Enable
594 * Input : uint16_t
595 * Output : None
596 * Return : Status [WM8994_ERROR, WM8994_OK]
597 *******************************************************************************/
598 int32_t wm8994_pwr_mgmt_3_mixoutl_ena(wm8994_ctx_t *ctx, uint16_t value)
599 {
600  int32_t ret;
601  uint16_t tmp = 0;
602 
603  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_3, &tmp, 2);
604 
605  if(ret == 0)
606  {
609 
610  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_3, &tmp, 2);
611  }
612 
613  return ret;
614 }
615 
616 /*******************************************************************************
617 * Function Name : wm8994_pwr_mgmt_3_mixoutrvol_ena
618 * Description : MIXOUTL Right Volume Control Enable
619 * Input : uint16_t
620 * Output : None
621 * Return : Status [WM8994_ERROR, WM8994_OK]
622 *******************************************************************************/
623 int32_t wm8994_pwr_mgmt_3_mixoutrvol_ena(wm8994_ctx_t *ctx, uint16_t value)
624 {
625  int32_t ret;
626  uint16_t tmp = 0;
627 
628  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_3, &tmp, 2);
629 
630  if(ret == 0)
631  {
634 
635  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_3, &tmp, 2);
636  }
637 
638  return ret;
639 }
640 
641 /*******************************************************************************
642 * Function Name : wm8994_pwr_mgmt_3_mixoutlvol_ena
643 * Description : MIXOUTL Left Volume Control Enable
644 * Input : uint16_t
645 * Output : None
646 * Return : Status [WM8994_ERROR, WM8994_OK]
647 *******************************************************************************/
648 int32_t wm8994_pwr_mgmt_3_mixoutlvol_ena(wm8994_ctx_t *ctx, uint16_t value)
649 {
650  int32_t ret;
651  uint16_t tmp = 0;
652 
653  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_3, &tmp, 2);
654 
655  if(ret == 0)
656  {
659 
660  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_3, &tmp, 2);
661  }
662 
663  return ret;
664 }
665 
666 /*******************************************************************************
667 * Function Name : wm8994_pwr_mgmt_3_spklvol_ena
668 * Description : SPKMIXL Mixer and SPKRVOL PGA Enable
669 * Input : uint16_t
670 * Output : None
671 * Return : Status [WM8994_ERROR, WM8994_OK]
672 *******************************************************************************/
673 int32_t wm8994_pwr_mgmt_3_spklvol_ena(wm8994_ctx_t *ctx, uint16_t value)
674 {
675  int32_t ret;
676  uint16_t tmp = 0;
677 
678  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_3, &tmp, 2);
679 
680  if(ret == 0)
681  {
684 
685  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_3, &tmp, 2);
686  }
687 
688  return ret;
689 }
690 
691 /*******************************************************************************
692 * Function Name : wm8994_pwr_mgmt_3_spkrvol_ena
693 * Description : SPKMIXR Mixer and SPKRVOL PGA Enable
694 * Input : uint16_t
695 * Output : None
696 * Return : Status [WM8994_ERROR, WM8994_OK]
697 *******************************************************************************/
698 int32_t wm8994_pwr_mgmt_3_spkrvol_ena(wm8994_ctx_t *ctx, uint16_t value)
699 {
700  int32_t ret;
701  uint16_t tmp = 0;
702 
703  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_3, &tmp, 2);
704 
705  if(ret == 0)
706  {
709 
710  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_3, &tmp, 2);
711  }
712 
713  return ret;
714 }
715 
716 /*******************************************************************************
717 * Function Name : wm8994_pwr_mgmt_3_lineout2p_ena
718 * Description : LINEOUT2P Line Out and LINEOUT2PMIX Enable
719 * Input : uint16_t
720 * Output : None
721 * Return : Status [WM8994_ERROR, WM8994_OK]
722 *******************************************************************************/
723 int32_t wm8994_pwr_mgmt_3_lineout2p_ena(wm8994_ctx_t *ctx, uint16_t value)
724 {
725  int32_t ret;
726  uint16_t tmp = 0;
727 
728  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_3, &tmp, 2);
729 
730  if(ret == 0)
731  {
734 
735  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_3, &tmp, 2);
736  }
737 
738  return ret;
739 }
740 
741 /*******************************************************************************
742 * Function Name : wm8994_pwr_mgmt_3_lineout2n_ena
743 * Description : LINEOUT2N Line Out and LINEOUT2NMIX Enable
744 * Input : uint16_t
745 * Output : None
746 * Return : Status [WM8994_ERROR, WM8994_OK]
747 *******************************************************************************/
748 int32_t wm8994_pwr_mgmt_3_lineout2n_ena(wm8994_ctx_t *ctx, uint16_t value)
749 {
750  int32_t ret;
751  uint16_t tmp = 0;
752 
753  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_3, &tmp, 2);
754 
755  if(ret == 0)
756  {
759 
760  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_3, &tmp, 2);
761  }
762 
763  return ret;
764 }
765 
766 /*******************************************************************************
767 * Function Name : wm8994_pwr_mgmt_3_lineout1p_ena
768 * Description : LINEOUT1P Line Out and LINEOUT1PMIX Enable
769 * Input : uint16_t
770 * Output : None
771 * Return : Status [WM8994_ERROR, WM8994_OK]
772 *******************************************************************************/
773 int32_t wm8994_pwr_mgmt_3_lineout1p_ena(wm8994_ctx_t *ctx, uint16_t value)
774 {
775  int32_t ret;
776  uint16_t tmp = 0;
777 
778  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_3, &tmp, 2);
779 
780  if(ret == 0)
781  {
784 
785  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_3, &tmp, 2);
786  }
787 
788  return ret;
789 }
790 
791 /*******************************************************************************
792 * Function Name : wm8994_pwr_mgmt_3_lineout1n_ena
793 * Description : LINEOUT1N Line Out and LINEOUT1NMIX Enable
794 * Input : uint16_t
795 * Output : None
796 * Return : Status [WM8994_ERROR, WM8994_OK]
797 *******************************************************************************/
798 int32_t wm8994_pwr_mgmt_3_lineout1n_ena(wm8994_ctx_t *ctx, uint16_t value)
799 {
800  int32_t ret;
801  uint16_t tmp = 0;
802 
803  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_3, &tmp, 2);
804 
805  if(ret == 0)
806  {
809 
810  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_3, &tmp, 2);
811  }
812 
813  return ret;
814 }
815 
816 /*******************************************************************************
817 * Function Name : wm8994_pwr_mgmt_4_adcr_ena
818 * Description : Right ADC Enable
819 * Input : uint16_t
820 * Output : None
821 * Return : Status [WM8994_ERROR, WM8994_OK]
822 *******************************************************************************/
823 int32_t wm8994_pwr_mgmt_4_adcr_ena(wm8994_ctx_t *ctx, uint16_t value)
824 {
825  int32_t ret;
826  uint16_t tmp = 0;
827 
828  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
829 
830  if(ret == 0)
831  {
833  tmp |= value << WM8994_PWR_MGMT_4_ADCR_ENA_POSITION;
834 
835  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
836  }
837 
838  return ret;
839 }
840 
841 /*******************************************************************************
842 * Function Name : wm8994_pwr_mgmt_4_adcl_ena
843 * Description : Left ADC Enable
844 * Input : uint16_t
845 * Output : None
846 * Return : Status [WM8994_ERROR, WM8994_OK]
847 *******************************************************************************/
848 int32_t wm8994_pwr_mgmt_4_adcl_ena(wm8994_ctx_t *ctx, uint16_t value)
849 {
850  int32_t ret;
851  uint16_t tmp = 0;
852 
853  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
854 
855  if(ret == 0)
856  {
858  tmp |= value << WM8994_PWR_MGMT_4_ADCL_ENA_POSITION;
859 
860  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
861  }
862 
863  return ret;
864 }
865 
866 /*******************************************************************************
867 * Function Name : wm8994_pwr_mgmt_4_dmic1r_ena
868 * Description : Digital microphone DMICDAT1 Right channel enable
869 * Input : uint16_t
870 * Output : None
871 * Return : Status [WM8994_ERROR, WM8994_OK]
872 *******************************************************************************/
873 int32_t wm8994_pwr_mgmt_4_dmic1r_ena(wm8994_ctx_t *ctx, uint16_t value)
874 {
875  int32_t ret;
876  uint16_t tmp = 0;
877 
878  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
879 
880  if(ret == 0)
881  {
884 
885  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
886  }
887 
888  return ret;
889 }
890 
891 /*******************************************************************************
892 * Function Name : wm8994_pwr_mgmt_4_dmic1l_ena
893 * Description : Digital microphone DMICDAT1 Left channel enable
894 * Input : uint16_t
895 * Output : None
896 * Return : Status [WM8994_ERROR, WM8994_OK]
897 *******************************************************************************/
898 int32_t wm8994_pwr_mgmt_4_dmic1l_ena(wm8994_ctx_t *ctx, uint16_t value)
899 {
900  int32_t ret;
901  uint16_t tmp = 0;
902 
903  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
904 
905  if(ret == 0)
906  {
909 
910  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
911  }
912 
913  return ret;
914 }
915 
916 /*******************************************************************************
917 * Function Name : wm8994_pwr_mgmt_4_dmic2r_ena
918 * Description : Digital microphone DMICDAT2 Right channel enable
919 * Input : uint16_t
920 * Output : None
921 * Return : Status [WM8994_ERROR, WM8994_OK]
922 *******************************************************************************/
923 int32_t wm8994_pwr_mgmt_4_dmic2r_ena(wm8994_ctx_t *ctx, uint16_t value)
924 {
925  int32_t ret;
926  uint16_t tmp = 0;
927 
928  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
929 
930  if(ret == 0)
931  {
934 
935  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
936  }
937 
938  return ret;
939 }
940 
941 /*******************************************************************************
942 * Function Name : wm8994_pwr_mgmt_4_dmic2l_ena
943 * Description : Digital microphone DMICDAT2 Left channel enable
944 * Input : uint16_t
945 * Output : None
946 * Return : Status [WM8994_ERROR, WM8994_OK]
947 *******************************************************************************/
948 int32_t wm8994_pwr_mgmt_4_dmic2l_ena(wm8994_ctx_t *ctx, uint16_t value)
949 {
950  int32_t ret;
951  uint16_t tmp = 0;
952 
953  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
954 
955  if(ret == 0)
956  {
959 
960  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
961  }
962 
963  return ret;
964 }
965 
966 /*******************************************************************************
967 * Function Name : wm8994_pwr_mgmt_4_aif1adc1r_ena
968 * Description : Enable AIF1ADC1 (Right) output path (AIF1, Timeslot0)
969 * Input : uint16_t
970 * Output : None
971 * Return : Status [WM8994_ERROR, WM8994_OK]
972 *******************************************************************************/
973 int32_t wm8994_pwr_mgmt_4_aif1adc1r_ena(wm8994_ctx_t *ctx, uint16_t value)
974 {
975  int32_t ret;
976  uint16_t tmp = 0;
977 
978  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
979 
980  if(ret == 0)
981  {
984 
985  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
986  }
987 
988  return ret;
989 }
990 
991 /*******************************************************************************
992 * Function Name : wm8994_pwr_mgmt_4_aif1adc1l_ena
993 * Description : Enable AIF1ADC1 (Left) output path (AIF1, Timeslot 0)
994 * Input : uint16_t
995 * Output : None
996 * Return : Status [WM8994_ERROR, WM8994_OK]
997 *******************************************************************************/
998 int32_t wm8994_pwr_mgmt_4_aif1adc1l_ena(wm8994_ctx_t *ctx, uint16_t value)
999 {
1000  int32_t ret;
1001  uint16_t tmp = 0;
1002 
1003  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
1004 
1005  if(ret == 0)
1006  {
1009 
1010  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
1011  }
1012 
1013  return ret;
1014 }
1015 
1016 /*******************************************************************************
1017 * Function Name : wm8994_pwr_mgmt_4_aif1adc2r_ena
1018 * Description : Enable AIF1ADC2 (Right) output path (AIF1, Timeslot0)
1019 * Input : uint16_t
1020 * Output : None
1021 * Return : Status [WM8994_ERROR, WM8994_OK]
1022 *******************************************************************************/
1023 int32_t wm8994_pwr_mgmt_4_aif1adc2r_ena(wm8994_ctx_t *ctx, uint16_t value)
1024 {
1025  int32_t ret;
1026  uint16_t tmp = 0;
1027 
1028  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
1029 
1030  if(ret == 0)
1031  {
1034 
1035  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
1036  }
1037 
1038  return ret;
1039 }
1040 
1041 /*******************************************************************************
1042 * Function Name : wm8994_pwr_mgmt_4_aif1adc2l_ena
1043 * Description : Enable AIF1ADC2 (Left) output path (AIF1, Timeslot 0)
1044 * Input : uint16_t
1045 * Output : None
1046 * Return : Status [WM8994_ERROR, WM8994_OK]
1047 *******************************************************************************/
1048 int32_t wm8994_pwr_mgmt_4_aif1adc2l_ena(wm8994_ctx_t *ctx, uint16_t value)
1049 {
1050  int32_t ret;
1051  uint16_t tmp = 0;
1052 
1053  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
1054 
1055  if(ret == 0)
1056  {
1059 
1060  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
1061  }
1062 
1063  return ret;
1064 }
1065 
1066 /*******************************************************************************
1067 * Function Name : wm8994_pwr_mgmt_4_aif2adcr_ena
1068 * Description : Enable AIF2ADC (Right) output path
1069 * Input : uint16_t
1070 * Output : None
1071 * Return : Status [WM8994_ERROR, WM8994_OK]
1072 *******************************************************************************/
1073 int32_t wm8994_pwr_mgmt_4_aif2adcr_ena(wm8994_ctx_t *ctx, uint16_t value)
1074 {
1075  int32_t ret;
1076  uint16_t tmp = 0;
1077 
1078  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
1079 
1080  if(ret == 0)
1081  {
1084 
1085  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
1086  }
1087 
1088  return ret;
1089 }
1090 
1091 /*******************************************************************************
1092 * Function Name : wm8994_pwr_mgmt_4_aif2adcl_ena
1093 * Description : Enable AIF2ADC (Left) output path
1094 * Input : uint16_t
1095 * Output : None
1096 * Return : Status [WM8994_ERROR, WM8994_OK]
1097 *******************************************************************************/
1098 int32_t wm8994_pwr_mgmt_4_aif2adcl_ena(wm8994_ctx_t *ctx, uint16_t value)
1099 {
1100  int32_t ret;
1101  uint16_t tmp = 0;
1102 
1103  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
1104 
1105  if(ret == 0)
1106  {
1109 
1110  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_4, &tmp, 2);
1111  }
1112 
1113  return ret;
1114 }
1115 
1116 /*******************************************************************************
1117 * Function Name : wm8994_pwr_mgmt_5_dac1r_ena
1118 * Description : Right DAC1 Enable
1119 * Input : uint16_t
1120 * Output : None
1121 * Return : Status [WM8994_ERROR, WM8994_OK]
1122 *******************************************************************************/
1123 int32_t wm8994_pwr_mgmt_5_dac1r_ena(wm8994_ctx_t *ctx, uint16_t value)
1124 {
1125  int32_t ret;
1126  uint16_t tmp = 0;
1127 
1128  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_5, &tmp, 2);
1129 
1130  if(ret == 0)
1131  {
1133  tmp |= value << WM8994_PWR_MGMT_5_DAC1R_ENA_POSITION;
1134 
1135  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_5, &tmp, 2);
1136  }
1137 
1138  return ret;
1139 }
1140 
1141 /*******************************************************************************
1142 * Function Name : wm8994_pwr_mgmt_5_dac1l_ena
1143 * Description : Left DAC1 Enable
1144 * Input : uint16_t
1145 * Output : None
1146 * Return : Status [WM8994_ERROR, WM8994_OK]
1147 *******************************************************************************/
1148 int32_t wm8994_pwr_mgmt_5_dac1l_ena(wm8994_ctx_t *ctx, uint16_t value)
1149 {
1150  int32_t ret;
1151  uint16_t tmp = 0;
1152 
1153  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_5, &tmp, 2);
1154 
1155  if(ret == 0)
1156  {
1158  tmp |= value << WM8994_PWR_MGMT_5_DAC1L_ENA_POSITION;
1159 
1160  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_5, &tmp, 2);
1161  }
1162 
1163  return ret;
1164 }
1165 
1166 
1167 /*******************************************************************************
1168 * Function Name : wm8994_pwr_mgmt_5_dac2r_ena
1169 * Description : Right DAC2 enable
1170 * Input : uint16_t
1171 * Output : None
1172 * Return : Status [WM8994_ERROR, WM8994_OK]
1173 *******************************************************************************/
1174 int32_t wm8994_pwr_mgmt_5_dac2r_ena(wm8994_ctx_t *ctx, uint16_t value)
1175 {
1176  int32_t ret;
1177  uint16_t tmp = 0;
1178 
1179  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_5, &tmp, 2);
1180 
1181  if(ret == 0)
1182  {
1184  tmp |= value << WM8994_PWR_MGMT_5_DAC2R_ENA_POSITION;
1185 
1186  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_5, &tmp, 2);
1187  }
1188 
1189  return ret;
1190 }
1191 
1192 /*******************************************************************************
1193 * Function Name : wm8994_pwr_mgmt_5_dac2l_ena
1194 * Description : Left DAC2 enable
1195 * Input : uint16_t
1196 * Output : None
1197 * Return : Status [WM8994_ERROR, WM8994_OK]
1198 *******************************************************************************/
1199 int32_t wm8994_pwr_mgmt_5_dac2l_ena(wm8994_ctx_t *ctx, uint16_t value)
1200 {
1201  int32_t ret;
1202  uint16_t tmp = 0;
1203 
1204  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_5, &tmp, 2);
1205 
1206  if(ret == 0)
1207  {
1209  tmp |= value << WM8994_PWR_MGMT_5_DAC2L_ENA_POSITION;
1210 
1211  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_5, &tmp, 2);
1212  }
1213 
1214  return ret;
1215 }
1216 
1217 /*******************************************************************************
1218 * Function Name : wm8994_pwr_mgmt_5_aif1dac1r_ena
1219 * Description : Enable AIF1DAC1 (Right) input path (AIF1, Timeslot0)
1220 * Input : uint16_t
1221 * Output : None
1222 * Return : Status [WM8994_ERROR, WM8994_OK]
1223 *******************************************************************************/
1224 int32_t wm8994_pwr_mgmt_5_aif1dac1r_ena(wm8994_ctx_t *ctx, uint16_t value)
1225 {
1226  int32_t ret;
1227  uint16_t tmp = 0;
1228 
1229  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_5, &tmp, 2);
1230 
1231  if(ret == 0)
1232  {
1235 
1236  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_5, &tmp, 2);
1237  }
1238 
1239  return ret;
1240 }
1241 
1242 /*******************************************************************************
1243 * Function Name : wm8994_pwr_mgmt_5_aif1dac1l_ena
1244 * Description : Enable AIF1DAC1 (Left) input path (AIF1, Timeslot 0)
1245 * Input : uint16_t
1246 * Output : None
1247 * Return : Status [WM8994_ERROR, WM8994_OK]
1248 *******************************************************************************/
1249 int32_t wm8994_pwr_mgmt_5_aif1dac1l_ena(wm8994_ctx_t *ctx, uint16_t value)
1250 {
1251  int32_t ret;
1252  uint16_t tmp = 0;
1253 
1254  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_5, &tmp, 2);
1255 
1256  if(ret == 0)
1257  {
1260 
1261  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_5, &tmp, 2);
1262  }
1263 
1264  return ret;
1265 }
1266 
1267 /*******************************************************************************
1268 * Function Name : wm8994_pwr_mgmt_5_aif1dac2r_ena
1269 * Description : Enable AIF1DAC2 (Right) input path (AIF1, Timeslot0)
1270 * Input : uint16_t
1271 * Output : None
1272 * Return : Status [WM8994_ERROR, WM8994_OK]
1273 *******************************************************************************/
1274 int32_t wm8994_pwr_mgmt_5_aif1dac2r_ena(wm8994_ctx_t *ctx, uint16_t value)
1275 {
1276  int32_t ret;
1277  uint16_t tmp = 0;
1278 
1279  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_5, &tmp, 2);
1280 
1281  if(ret == 0)
1282  {
1285 
1286  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_5, &tmp, 2);
1287  }
1288 
1289  return ret;
1290 }
1291 
1292 /*******************************************************************************
1293 * Function Name : wm8994_pwr_mgmt_5_aif1dac2l_ena
1294 * Description : Enable AIF1DAC2 (Left) input path (AIF1, Timeslot 0)
1295 * Input : uint16_t
1296 * Output : None
1297 * Return : Status [WM8994_ERROR, WM8994_OK]
1298 *******************************************************************************/
1299 int32_t wm8994_pwr_mgmt_5_aif1dac2l_ena(wm8994_ctx_t *ctx, uint16_t value)
1300 {
1301  int32_t ret;
1302  uint16_t tmp = 0;
1303 
1304  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_5, &tmp, 2);
1305 
1306  if(ret == 0)
1307  {
1310 
1311  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_5, &tmp, 2);
1312  }
1313 
1314  return ret;
1315 }
1316 
1317 /*******************************************************************************
1318 * Function Name : wm8994_pwr_mgmt_5_aif2dacr_ena
1319 * Description : Enable AIF2DAC (Right) input path
1320 * Input : uint16_t
1321 * Output : None
1322 * Return : Status [WM8994_ERROR, WM8994_OK]
1323 *******************************************************************************/
1324 int32_t wm8994_pwr_mgmt_5_aif2dacr_ena(wm8994_ctx_t *ctx, uint16_t value)
1325 {
1326  int32_t ret;
1327  uint16_t tmp = 0;
1328 
1329  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_5, &tmp, 2);
1330 
1331  if(ret == 0)
1332  {
1335 
1336  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_5, &tmp, 2);
1337  }
1338 
1339  return ret;
1340 }
1341 
1342 /*******************************************************************************
1343 * Function Name : wm8994_pwr_mgmt_5_aif2dacl_ena
1344 * Description : Enable AIF2DAC (Left) input path
1345 * Input : uint16_t
1346 * Output : None
1347 * Return : Status [WM8994_ERROR, WM8994_OK]
1348 *******************************************************************************/
1349 int32_t wm8994_pwr_mgmt_5_aif2dacl_ena(wm8994_ctx_t *ctx, uint16_t value)
1350 {
1351  int32_t ret;
1352  uint16_t tmp = 0;
1353 
1354  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_5, &tmp, 2);
1355 
1356  if(ret == 0)
1357  {
1360 
1361  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_5, &tmp, 2);
1362  }
1363 
1364  return ret;
1365 }
1366 
1367 /*******************************************************************************
1368 * Function Name : wm8994_pwr_mgmt_6_aif1_dacdat_src
1369 * Description : AIF1 DACDAT Source select
1370 * Input : uint16_t
1371 * Output : None
1372 * Return : Status [WM8994_ERROR, WM8994_OK]
1373 *******************************************************************************/
1375 {
1376  int32_t ret;
1377  uint16_t tmp = 0;
1378 
1379  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_6, &tmp, 2);
1380 
1381  if(ret == 0)
1382  {
1385 
1386  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_6, &tmp, 2);
1387  }
1388 
1389  return ret;
1390 }
1391 
1392 /*******************************************************************************
1393 * Function Name : wm8994_pwr_mgmt_6_aif2_dacdat_src
1394 * Description : AIF2 DACDAT Source select
1395 * Input : uint16_t
1396 * Output : None
1397 * Return : Status [WM8994_ERROR, WM8994_OK]
1398 *******************************************************************************/
1400 {
1401  int32_t ret;
1402  uint16_t tmp = 0;
1403 
1404  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_6, &tmp, 2);
1405 
1406  if(ret == 0)
1407  {
1410 
1411  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_6, &tmp, 2);
1412  }
1413 
1414  return ret;
1415 }
1416 
1417 /*******************************************************************************
1418 * Function Name : wm8994_pwr_mgmt_6_aif2_adcdat_src
1419 * Description : GPIO7/ADCDAT2 Source select
1420 * Input : uint16_t
1421 * Output : None
1422 * Return : Status [WM8994_ERROR, WM8994_OK]
1423 *******************************************************************************/
1425 {
1426  int32_t ret;
1427  uint16_t tmp = 0;
1428 
1429  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_6, &tmp, 2);
1430 
1431  if(ret == 0)
1432  {
1435 
1436  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_6, &tmp, 2);
1437  }
1438 
1439  return ret;
1440 }
1441 
1442 /*******************************************************************************
1443 * Function Name : wm8994_pwr_mgmt_6_aif3_adcdat_src
1444 * Description : GPIO9/ADCDAT3 Source select
1445 * Input : uint16_t
1446 * Output : None
1447 * Return : Status [WM8994_ERROR, WM8994_OK]
1448 *******************************************************************************/
1450 {
1451  int32_t ret;
1452  uint16_t tmp = 0;
1453 
1454  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_6, &tmp, 2);
1455 
1456  if(ret == 0)
1457  {
1460 
1461  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_6, &tmp, 2);
1462  }
1463 
1464  return ret;
1465 }
1466 
1467 /*******************************************************************************
1468 * Function Name : wm8994_pwr_mgmt_6_aif3_tri
1469 * Description : GPIO9/ADCDAT3 Source select
1470 * Input : uint16_t
1471 * Output : None
1472 * Return : Status [WM8994_ERROR, WM8994_OK]
1473 *******************************************************************************/
1474 int32_t wm8994_pwr_mgmt_6_aif3_tri(wm8994_ctx_t *ctx, uint16_t value)
1475 {
1476  int32_t ret;
1477  uint16_t tmp = 0;
1478 
1479  ret = wm8994_read_reg(ctx, WM8994_PWR_MANAGEMENT_6, &tmp, 2);
1480 
1481  if(ret == 0)
1482  {
1484  tmp |= value << WM8994_PWR_MGMT_6_AIF3_TRI_POSITION;
1485 
1486  ret = wm8994_write_reg(ctx, WM8994_PWR_MANAGEMENT_6, &tmp, 2);
1487  }
1488 
1489  return ret;
1490 }
1491 
1492 /*******************************************************************************
1493 * Function Name : wm8994_inmixer1_inputs_clamp
1494 * Description : Input pad VMID clamp
1495 * Input : uint16_t
1496 * Output : None
1497 * Return : Status [WM8994_ERROR, WM8994_OK]
1498 *******************************************************************************/
1499 int32_t wm8994_inmixer1_inputs_clamp(wm8994_ctx_t *ctx, uint16_t value)
1500 {
1501  int32_t ret;
1502  uint16_t tmp = 0;
1503 
1504  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_1, &tmp, 2);
1505 
1506  if(ret == 0)
1507  {
1509  tmp |= value << WM8994_INMIXER1_INPUTS_CLAMP_POSITION;
1510 
1511  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_1, &tmp, 2);
1512  }
1513 
1514  return ret;
1515 }
1516 
1517 /*******************************************************************************
1518 * Function Name : wm8994_inmixer1_in1lp_mixinl_boost
1519 * Description : IN1LP Pin (PGA Bypass) to MIXINL Gain Boost.
1520 * Input : uint16_t
1521 * Output : None
1522 * Return : Status [WM8994_ERROR, WM8994_OK]
1523 *******************************************************************************/
1525 {
1526  int32_t ret;
1527  uint16_t tmp = 0;
1528 
1529  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_1, &tmp, 2);
1530 
1531  if(ret == 0)
1532  {
1535 
1536  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_1, &tmp, 2);
1537  }
1538 
1539  return ret;
1540 }
1541 
1542 /*******************************************************************************
1543 * Function Name : wm8994_inmixer1_in1rp_mixinr_boost
1544 * Description : IN1RP Pin (PGA Bypass) to MIXINR Gain Boost.
1545 * Input : uint16_t
1546 * Output : None
1547 * Return : Status [WM8994_ERROR, WM8994_OK]
1548 *******************************************************************************/
1550 {
1551  int32_t ret;
1552  uint16_t tmp = 0;
1553 
1554  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_1, &tmp, 2);
1555 
1556  if(ret == 0)
1557  {
1560 
1561  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_1, &tmp, 2);
1562  }
1563 
1564  return ret;
1565 }
1566 
1567 /*******************************************************************************
1568 * Function Name : wm8994_lli_in1l_vol
1569 * Description : IN1L volume (LLI: Left Line Input 1&2)
1570 * Input : uint16_t
1571 * Output : None
1572 * Return : Status [WM8994_ERROR, WM8994_OK]
1573 *******************************************************************************/
1574 int32_t wm8994_lli_in1l_vol(wm8994_ctx_t *ctx, uint16_t value)
1575 {
1576  int32_t ret;
1577  uint16_t tmp = 0;
1578 
1579  ret = wm8994_read_reg(ctx, WM8994_LEFT_LINE_IN12_VOL, &tmp, 2);
1580 
1581  if(ret == 0)
1582  {
1583  tmp &= ~WM8994_LLI_IN1L_VOL_MASK;
1584  tmp |= value << WM8994_LLI_IN1L_VOL_POSITION;
1585 
1586  ret = wm8994_write_reg(ctx, WM8994_LEFT_LINE_IN12_VOL, &tmp, 2);
1587  }
1588 
1589  return ret;
1590 }
1591 
1592 /*******************************************************************************
1593 * Function Name : wm8994_lli_in1l_zc
1594 * Description : IN1L PGA Zero Cross Detector
1595 * Input : uint16_t
1596 * Output : None
1597 * Return : Status [WM8994_ERROR, WM8994_OK]
1598 *******************************************************************************/
1599 int32_t wm8994_lli_in1l_zc(wm8994_ctx_t *ctx, uint16_t value)
1600 {
1601  int32_t ret;
1602  uint16_t tmp = 0;
1603 
1604  ret = wm8994_read_reg(ctx, WM8994_LEFT_LINE_IN12_VOL, &tmp, 2);
1605 
1606  if(ret == 0)
1607  {
1608  tmp &= ~WM8994_LLI_IN1L_ZC_MASK;
1609  tmp |= value << WM8994_LLI_IN1L_ZC_POSITION;
1610 
1611  ret = wm8994_write_reg(ctx, WM8994_LEFT_LINE_IN12_VOL, &tmp, 2);
1612  }
1613 
1614  return ret;
1615 }
1616 
1617 /*******************************************************************************
1618 * Function Name : wm8994_lli_in1l_mute
1619 * Description : IN1L PGA Mute
1620 * Input : uint16_t
1621 * Output : None
1622 * Return : Status [WM8994_ERROR, WM8994_OK]
1623 *******************************************************************************/
1624 int32_t wm8994_lli_in1l_mute(wm8994_ctx_t *ctx, uint16_t value)
1625 {
1626  int32_t ret;
1627  uint16_t tmp = 0;
1628 
1629  ret = wm8994_read_reg(ctx, WM8994_LEFT_LINE_IN12_VOL, &tmp, 2);
1630 
1631  if(ret == 0)
1632  {
1633  tmp &= ~WM8994_LLI_IN1L_MUTE_MASK;
1634  tmp |= value << WM8994_LLI_IN1L_MUTE_POSITION;
1635 
1636  ret = wm8994_write_reg(ctx, WM8994_LEFT_LINE_IN12_VOL, &tmp, 2);
1637  }
1638 
1639  return ret;
1640 }
1641 
1642 /*******************************************************************************
1643 * Function Name : wm8994_lli_in1_vu
1644 * Description : IN1L PGA Volume Update
1645 * Input : uint16_t
1646 * Output : None
1647 * Return : Status [WM8994_ERROR, WM8994_OK]
1648 *******************************************************************************/
1649 int32_t wm8994_lli_in1_vu(wm8994_ctx_t *ctx, uint16_t value)
1650 {
1651  int32_t ret;
1652  uint16_t tmp = 0;
1653 
1654  ret = wm8994_read_reg(ctx, WM8994_LEFT_LINE_IN12_VOL, &tmp, 2);
1655 
1656  if(ret == 0)
1657  {
1658  tmp &= ~WM8994_LLI_IN1_VU_MASK;
1659  tmp |= value << WM8994_LLI_IN1_VU_POSITION;
1660 
1661  ret = wm8994_write_reg(ctx, WM8994_LEFT_LINE_IN12_VOL, &tmp, 2);
1662  }
1663 
1664  return ret;
1665 }
1666 
1667 /*******************************************************************************
1668 * Function Name : wm8994_lli_in2l_vol
1669 * Description : IN2L volume (LLI: Left Line Input 3&4)
1670 * Input : uint16_t
1671 * Output : None
1672 * Return : Status [WM8994_ERROR, WM8994_OK]
1673 *******************************************************************************/
1674 int32_t wm8994_lli_in2l_vol(wm8994_ctx_t *ctx, uint16_t value)
1675 {
1676  int32_t ret;
1677  uint16_t tmp = 0;
1678 
1679  ret = wm8994_read_reg(ctx, WM8994_LEFT_LINE_IN34_VOL, &tmp, 2);
1680 
1681  if(ret == 0)
1682  {
1683  tmp &= ~WM8994_LLI_IN2L_VOL_MASK;
1684  tmp |= value << WM8994_LLI_IN2L_VOL_POSITION;
1685 
1686  ret = wm8994_write_reg(ctx, WM8994_LEFT_LINE_IN34_VOL, &tmp, 2);
1687  }
1688 
1689  return ret;
1690 }
1691 
1692 /*******************************************************************************
1693 * Function Name : wm8994_lli_in2l_zc
1694 * Description : IN2L PGA Zero Cross Detector
1695 * Input : uint16_t
1696 * Output : None
1697 * Return : Status [WM8994_ERROR, WM8994_OK]
1698 *******************************************************************************/
1699 int32_t wm8994_lli_in2l_zc(wm8994_ctx_t *ctx, uint16_t value)
1700 {
1701  int32_t ret;
1702  uint16_t tmp = 0;
1703 
1704  ret = wm8994_read_reg(ctx, WM8994_LEFT_LINE_IN34_VOL, &tmp, 2);
1705 
1706  if(ret == 0)
1707  {
1708  tmp &= ~WM8994_LLI_IN2L_ZC_MASK;
1709  tmp |= value << WM8994_LLI_IN2L_ZC_POSITION;
1710 
1711  ret = wm8994_write_reg(ctx, WM8994_LEFT_LINE_IN34_VOL, &tmp, 2);
1712  }
1713 
1714  return ret;
1715 }
1716 
1717 /*******************************************************************************
1718 * Function Name : wm8994_lli_in2l_mute
1719 * Description : IN2L PGA Mute
1720 * Input : uint16_t
1721 * Output : None
1722 * Return : Status [WM8994_ERROR, WM8994_OK]
1723 *******************************************************************************/
1724 int32_t wm8994_lli_in2l_mute(wm8994_ctx_t *ctx, uint16_t value)
1725 {
1726  int32_t ret;
1727  uint16_t tmp = 0;
1728 
1729  ret = wm8994_read_reg(ctx, WM8994_LEFT_LINE_IN34_VOL, &tmp, 2);
1730 
1731  if(ret == 0)
1732  {
1733  tmp &= ~WM8994_LLI_IN2L_MUTE_MASK;
1734  tmp |= value << WM8994_LLI_IN2L_MUTE_POSITION;
1735 
1736  ret = wm8994_write_reg(ctx, WM8994_LEFT_LINE_IN34_VOL, &tmp, 2);
1737  }
1738 
1739  return ret;
1740 }
1741 
1742 /*******************************************************************************
1743 * Function Name : wm8994_lli_in2_vu
1744 * Description : IN2L PGA Volume Update
1745 * Input : uint16_t
1746 * Output : None
1747 * Return : Status [WM8994_ERROR, WM8994_OK]
1748 *******************************************************************************/
1749 int32_t wm8994_lli_in2_vu(wm8994_ctx_t *ctx, uint16_t value)
1750 {
1751  int32_t ret;
1752  uint16_t tmp = 0;
1753 
1754  ret = wm8994_read_reg(ctx, WM8994_LEFT_LINE_IN34_VOL, &tmp, 2);
1755 
1756  if(ret == 0)
1757  {
1758  tmp &= ~WM8994_LLI_IN2_VU_MASK;
1759  tmp |= value << WM8994_LLI_IN2_VU_POSITION;
1760 
1761  ret = wm8994_write_reg(ctx, WM8994_LEFT_LINE_IN34_VOL, &tmp, 2);
1762  }
1763 
1764  return ret;
1765 }
1766 
1767 /*******************************************************************************
1768 * Function Name : wm8994_rli_in1r_vol
1769 * Description : IN1R volume (RLI: Right Line Input 1&2)
1770 * Input : uint16_t
1771 * Output : None
1772 * Return : Status [WM8994_ERROR, WM8994_OK]
1773 *******************************************************************************/
1774 int32_t wm8994_rli_in1r_vol(wm8994_ctx_t *ctx, uint16_t value)
1775 {
1776  int32_t ret;
1777  uint16_t tmp = 0;
1778 
1779  ret = wm8994_read_reg(ctx, WM8994_RIGHT_LINE_IN12_VOL, &tmp, 2);
1780 
1781  if(ret == 0)
1782  {
1783  tmp &= ~WM8994_RLI_IN1R_VOL_MASK;
1784  tmp |= value << WM8994_RLI_IN1R_VOL_POSITION;
1785 
1786  ret = wm8994_write_reg(ctx, WM8994_RIGHT_LINE_IN12_VOL, &tmp, 2);
1787  }
1788 
1789  return ret;
1790 }
1791 
1792 /*******************************************************************************
1793 * Function Name : wm8994_rli_in1r_zc
1794 * Description : IN1R PGA Zero Cross Detector
1795 * Input : uint16_t
1796 * Output : None
1797 * Return : Status [WM8994_ERROR, WM8994_OK]
1798 *******************************************************************************/
1799 int32_t wm8994_rli_in1r_zc(wm8994_ctx_t *ctx, uint16_t value)
1800 {
1801  int32_t ret;
1802  uint16_t tmp = 0;
1803 
1804  ret = wm8994_read_reg(ctx, WM8994_RIGHT_LINE_IN12_VOL, &tmp, 2);
1805 
1806  if(ret == 0)
1807  {
1808  tmp &= ~WM8994_RLI_IN1R_ZC_MASK;
1809  tmp |= value << WM8994_RLI_IN1R_ZC_POSITION;
1810 
1811  ret = wm8994_write_reg(ctx, WM8994_RIGHT_LINE_IN12_VOL, &tmp, 2);
1812  }
1813 
1814  return ret;
1815 }
1816 
1817 /*******************************************************************************
1818 * Function Name : wm8994_rli_in1r_mute
1819 * Description : IN1R PGA Mute
1820 * Input : uint16_t
1821 * Output : None
1822 * Return : Status [WM8994_ERROR, WM8994_OK]
1823 *******************************************************************************/
1824 int32_t wm8994_rli_in1r_mute(wm8994_ctx_t *ctx, uint16_t value)
1825 {
1826  int32_t ret;
1827  uint16_t tmp = 0;
1828 
1829  ret = wm8994_read_reg(ctx, WM8994_RIGHT_LINE_IN12_VOL, &tmp, 2);
1830 
1831  if(ret == 0)
1832  {
1833  tmp &= ~WM8994_RLI_IN1R_MUTE_MASK;
1834  tmp |= value << WM8994_RLI_IN1R_MUTE_POSITION;
1835 
1836  ret = wm8994_write_reg(ctx, WM8994_RIGHT_LINE_IN12_VOL, &tmp, 2);
1837  }
1838 
1839  return ret;
1840 }
1841 
1842 /*******************************************************************************
1843 * Function Name : wm8994_rli_in1_vu
1844 * Description : IN1R PGA Volume Update
1845 * Input : uint16_t
1846 * Output : None
1847 * Return : Status [WM8994_ERROR, WM8994_OK]
1848 *******************************************************************************/
1849 int32_t wm8994_rli_in1_vu(wm8994_ctx_t *ctx, uint16_t value)
1850 {
1851  int32_t ret;
1852  uint16_t tmp = 0;
1853 
1854  ret = wm8994_read_reg(ctx, WM8994_RIGHT_LINE_IN12_VOL, &tmp, 2);
1855 
1856  if(ret == 0)
1857  {
1858  tmp &= ~WM8994_RLI_IN1_VU_MASK;
1859  tmp |= value << WM8994_RLI_IN1_VU_POSITION;
1860 
1861  ret = wm8994_write_reg(ctx, WM8994_RIGHT_LINE_IN12_VOL, &tmp, 2);
1862  }
1863 
1864  return ret;
1865 }
1866 
1867 /*******************************************************************************
1868 * Function Name : wm8994_rli_in2r_vol
1869 * Description : IN2R volume (RLI: Right Line Input 3&4)
1870 * Input : uint16_t
1871 * Output : None
1872 * Return : Status [WM8994_ERROR, WM8994_OK]
1873 *******************************************************************************/
1874 int32_t wm8994_rli_in2r_vol(wm8994_ctx_t *ctx, uint16_t value)
1875 {
1876  int32_t ret;
1877  uint16_t tmp = 0;
1878 
1879  ret = wm8994_read_reg(ctx, WM8994_RIGHT_LINE_IN34_VOL, &tmp, 2);
1880 
1881  if(ret == 0)
1882  {
1883  tmp &= ~WM8994_RLI_IN2R_VOL_MASK;
1884  tmp |= value << WM8994_RLI_IN2R_VOL_POSITION;
1885 
1886  ret = wm8994_write_reg(ctx, WM8994_RIGHT_LINE_IN34_VOL, &tmp, 2);
1887  }
1888 
1889  return ret;
1890 }
1891 
1892 /*******************************************************************************
1893 * Function Name : wm8994_rli_in2r_zc
1894 * Description : IN2R PGA Zero Cross Detector
1895 * Input : uint16_t
1896 * Output : None
1897 * Return : Status [WM8994_ERROR, WM8994_OK]
1898 *******************************************************************************/
1899 int32_t wm8994_rli_in2r_zc(wm8994_ctx_t *ctx, uint16_t value)
1900 {
1901  int32_t ret;
1902  uint16_t tmp = 0;
1903 
1904  ret = wm8994_read_reg(ctx, WM8994_RIGHT_LINE_IN34_VOL, &tmp, 2);
1905 
1906  if(ret == 0)
1907  {
1908  tmp &= ~WM8994_RLI_IN2R_ZC_MASK;
1909  tmp |= value << WM8994_RLI_IN2R_ZC_POSITION;
1910 
1911  ret = wm8994_write_reg(ctx, WM8994_RIGHT_LINE_IN34_VOL, &tmp, 2);
1912  }
1913 
1914  return ret;
1915 }
1916 
1917 /*******************************************************************************
1918 * Function Name : wm8994_rli_in2r_mute
1919 * Description : IN2R PGA Mute
1920 * Input : uint16_t
1921 * Output : None
1922 * Return : Status [WM8994_ERROR, WM8994_OK]
1923 *******************************************************************************/
1924 int32_t wm8994_rli_in2r_mute(wm8994_ctx_t *ctx, uint16_t value)
1925 {
1926  int32_t ret;
1927  uint16_t tmp = 0;
1928 
1929  ret = wm8994_read_reg(ctx, WM8994_RIGHT_LINE_IN34_VOL, &tmp, 2);
1930 
1931  if(ret == 0)
1932  {
1933  tmp &= ~WM8994_RLI_IN2R_MUTE_MASK;
1934  tmp |= value << WM8994_RLI_IN2R_MUTE_POSITION;
1935 
1936  ret = wm8994_write_reg(ctx, WM8994_RIGHT_LINE_IN34_VOL, &tmp, 2);
1937  }
1938 
1939  return ret;
1940 }
1941 
1942 /*******************************************************************************
1943 * Function Name : wm8994_rli_in2_vu
1944 * Description : Input PGA Volume Update
1945 * Input : uint16_t
1946 * Output : None
1947 * Return : Status [WM8994_ERROR, WM8994_OK]
1948 *******************************************************************************/
1949 int32_t wm8994_rli_in2_vu(wm8994_ctx_t *ctx, uint16_t value)
1950 {
1951  int32_t ret;
1952  uint16_t tmp = 0;
1953 
1954  ret = wm8994_read_reg(ctx, WM8994_RIGHT_LINE_IN34_VOL, &tmp, 2);
1955 
1956  if(ret == 0)
1957  {
1958  tmp &= ~WM8994_RLI_IN2_VU_MASK;
1959  tmp |= value << WM8994_RLI_IN2_VU_POSITION;
1960 
1961  ret = wm8994_write_reg(ctx, WM8994_RIGHT_LINE_IN34_VOL, &tmp, 2);
1962  }
1963 
1964  return ret;
1965 }
1966 
1967 /*******************************************************************************
1968 * Function Name : wm8994_lo_hpout1l_vol (LO: Left Output)
1969 * Description : HPOUT1L VOL (Left Headphone Output PGA) Volume
1970 * Input : uint16_t
1971 * Output : None
1972 * Return : Status [WM8994_ERROR, WM8994_OK]
1973 *******************************************************************************/
1974 int32_t wm8994_lo_hpout1l_vol(wm8994_ctx_t *ctx, uint16_t value)
1975 {
1976  int32_t ret;
1977  uint16_t tmp = 0;
1978 
1979  ret = wm8994_read_reg(ctx, WM8994_LEFT_OUTPUT_VOL, &tmp, 2);
1980 
1981  if(ret == 0)
1982  {
1984  tmp |= value << WM8994_LO_HPOUT1L_VOL_POSITION;
1985 
1986  ret = wm8994_write_reg(ctx, WM8994_LEFT_OUTPUT_VOL, &tmp, 2);
1987  }
1988 
1989  return ret;
1990 }
1991 
1992 /*******************************************************************************
1993 * Function Name : wm8994_lo_hpout1l_vol_r
1994 * Description : Read HPOUT1L VOL (Left Headphone Output PGA) Volume
1995 * Input : uint16_t
1996 * Output : None
1997 * Return : Status [WM8994_ERROR, WM8994_OK]
1998 *******************************************************************************/
1999 int32_t wm8994_lo_hpout1l_vol_r(wm8994_ctx_t *ctx, uint16_t *value)
2000 {
2001  int32_t ret;
2002 
2003  ret = wm8994_read_reg(ctx, WM8994_LEFT_OUTPUT_VOL, value, 2);
2004 
2005  if(ret == 0)
2006  {
2007  *value &= WM8994_LO_HPOUT1L_VOL_MASK;
2008  *value = *value >> WM8994_LO_HPOUT1L_VOL_POSITION;
2009  }
2010 
2011  return ret;
2012 }
2013 
2014 /*******************************************************************************
2015 * Function Name : wm8994_lo_hpout1l_mute_n
2016 * Description : HPOUT1L VOL (Left Headphone Output PGA) Mute
2017 * Input : uint16_t
2018 * Output : None
2019 * Return : Status [WM8994_ERROR, WM8994_OK]
2020 *******************************************************************************/
2021 int32_t wm8994_lo_hpout1l_mute_n(wm8994_ctx_t *ctx, uint16_t value)
2022 {
2023  int32_t ret;
2024  uint16_t tmp = 0;
2025 
2026  ret = wm8994_read_reg(ctx, WM8994_LEFT_OUTPUT_VOL, &tmp, 2);
2027 
2028  if(ret == 0)
2029  {
2031  tmp |= value << WM8994_LO_HPOUT1L_MUTE_N_POSITION;
2032 
2033  ret = wm8994_write_reg(ctx, WM8994_LEFT_OUTPUT_VOL, &tmp, 2);
2034  }
2035 
2036  return ret;
2037 }
2038 
2039 /*******************************************************************************
2040 * Function Name : wm8994_lo_hpout1l_zc
2041 * Description : HPOUT1L VOL (Left Headphone Output PGA) Zero
2042 * Input : uint16_t
2043 * Output : None
2044 * Return : Status [WM8994_ERROR, WM8994_OK]
2045 *******************************************************************************/
2046 int32_t wm8994_lo_hpout1l_zc(wm8994_ctx_t *ctx, uint16_t value)
2047 {
2048  int32_t ret;
2049  uint16_t tmp = 0;
2050 
2051  ret = wm8994_read_reg(ctx, WM8994_LEFT_OUTPUT_VOL, &tmp, 2);
2052 
2053  if(ret == 0)
2054  {
2055  tmp &= ~WM8994_LO_HPOUT1L_ZC_MASK;
2056  tmp |= value << WM8994_LO_HPOUT1L_ZC_POSITION;
2057 
2058  ret = wm8994_write_reg(ctx, WM8994_LEFT_OUTPUT_VOL, &tmp, 2);
2059  }
2060 
2061  return ret;
2062 }
2063 
2064 /*******************************************************************************
2065 * Function Name : wm8994_lo_hpout1l_vu
2066 * Description : Headphone Output PGA Volume Update
2067 * Input : uint16_t
2068 * Output : None
2069 * Return : Status [WM8994_ERROR, WM8994_OK]
2070 *******************************************************************************/
2071 int32_t wm8994_lo_hpout1l_vu(wm8994_ctx_t *ctx, uint16_t value)
2072 {
2073  int32_t ret;
2074  uint16_t tmp = 0;
2075 
2076  ret = wm8994_read_reg(ctx, WM8994_LEFT_OUTPUT_VOL, &tmp, 2);
2077 
2078  if(ret == 0)
2079  {
2080  tmp &= ~WM8994_LO_HPOUT1L_VU_MASK;
2081  tmp |= value << WM8994_LO_HPOUT1L_VU_POSITION;
2082 
2083  ret = wm8994_write_reg(ctx, WM8994_LEFT_OUTPUT_VOL, &tmp, 2);
2084  }
2085 
2086  return ret;
2087 }
2088 
2089 /*******************************************************************************
2090 * Function Name : wm8994_ro_hpout1r_vol (RO: Right Output)
2091 * Description : HPOUT1R VOL (Right Headphone Output PGA) Volume
2092 * Input : uint16_t
2093 * Output : None
2094 * Return : Status [WM8994_ERROR, WM8994_OK]
2095 *******************************************************************************/
2096 int32_t wm8994_ro_hpout1r_vol(wm8994_ctx_t *ctx, uint16_t value)
2097 {
2098  int32_t ret;
2099  uint16_t tmp = 0;
2100 
2101  ret = wm8994_read_reg(ctx, WM8994_RIGHT_OUTPUT_VOL, &tmp, 2);
2102 
2103  if(ret == 0)
2104  {
2106  tmp |= value << WM8994_RO_HPOUT1R_VOL_POSITION;
2107 
2108  ret = wm8994_write_reg(ctx, WM8994_RIGHT_OUTPUT_VOL, &tmp, 2);
2109  }
2110 
2111  return ret;
2112 }
2113 
2114 /*******************************************************************************
2115 * Function Name : wm8994_ro_hpout1r_mute_n
2116 * Description : HPOUT1RVOL (Right Headphone Output PGA) Mute
2117 * Input : uint16_t
2118 * Output : None
2119 * Return : Status [WM8994_ERROR, WM8994_OK]
2120 *******************************************************************************/
2121 int32_t wm8994_ro_hpout1r_mute_n(wm8994_ctx_t *ctx, uint16_t value)
2122 {
2123  int32_t ret;
2124  uint16_t tmp = 0;
2125 
2126  ret = wm8994_read_reg(ctx, WM8994_RIGHT_OUTPUT_VOL, &tmp, 2);
2127 
2128  if(ret == 0)
2129  {
2131  tmp |= value << WM8994_RO_HPOUT1R_MUTE_N_POSITION;
2132 
2133  ret = wm8994_write_reg(ctx, WM8994_RIGHT_OUTPUT_VOL, &tmp, 2);
2134  }
2135 
2136  return ret;
2137 }
2138 
2139 /*******************************************************************************
2140 * Function Name : wm8994_ro_hpout1r_zc
2141 * Description : HPOUT1RVOL (Right Headphone Output PGA) Zero
2142 * Input : uint16_t
2143 * Output : None
2144 * Return : Status [WM8994_ERROR, WM8994_OK]
2145 *******************************************************************************/
2146 int32_t wm8994_ro_hpout1r_zc(wm8994_ctx_t *ctx, uint16_t value)
2147 {
2148  int32_t ret;
2149  uint16_t tmp = 0;
2150 
2151  ret = wm8994_read_reg(ctx, WM8994_RIGHT_OUTPUT_VOL, &tmp, 2);
2152 
2153  if(ret == 0)
2154  {
2155  tmp &= ~WM8994_RO_HPOUT1R_ZC_MASK;
2156  tmp |= value << WM8994_RO_HPOUT1R_ZC_POSITION;
2157 
2158  ret = wm8994_write_reg(ctx, WM8994_RIGHT_OUTPUT_VOL, &tmp, 2);
2159  }
2160 
2161  return ret;
2162 }
2163 
2164 /*******************************************************************************
2165 * Function Name : wm8994_ro_hpout1r_vu
2166 * Description : Headphone Output PGA Volume Update
2167 * Input : uint16_t
2168 * Output : None
2169 * Return : Status [WM8994_ERROR, WM8994_OK]
2170 *******************************************************************************/
2171 int32_t wm8994_ro_hpout1r_vu(wm8994_ctx_t *ctx, uint16_t value)
2172 {
2173  int32_t ret;
2174  uint16_t tmp = 0;
2175 
2176  ret = wm8994_read_reg(ctx, WM8994_RIGHT_OUTPUT_VOL, &tmp, 2);
2177 
2178  if(ret == 0)
2179  {
2180  tmp &= ~WM8994_RO_HPOUT1R_VU_MASK;
2181  tmp |= value << WM8994_RO_HPOUT1R_VU_POSITION;
2182 
2183  ret = wm8994_write_reg(ctx, WM8994_RIGHT_OUTPUT_VOL, &tmp, 2);
2184  }
2185 
2186  return ret;
2187 }
2188 
2189 /*******************************************************************************
2190 * Function Name : wm8994_spkmixl_att_vol
2191 * Description : Left Speaker Mixer Volume Control
2192 * Input : uint16_t
2193 * Output : None
2194 * Return : Status [WM8994_ERROR, WM8994_OK]
2195 *******************************************************************************/
2196 int32_t wm8994_spkmixl_att_vol(wm8994_ctx_t *ctx, uint16_t value)
2197 {
2198  int32_t ret;
2199  uint16_t tmp = 0;
2200 
2201  ret = wm8994_read_reg(ctx, WM8994_SPKMIXL_ATT, &tmp, 2);
2202 
2203  if(ret == 0)
2204  {
2206  tmp |= value << WM8994_SPKMIXL_ATT_VOL_POSITION;
2207 
2208  ret = wm8994_write_reg(ctx, WM8994_SPKMIXL_ATT, &tmp, 2);
2209  }
2210 
2211  return ret;
2212 }
2213 
2214 /*******************************************************************************
2215 * Function Name : wm8994_spkmixl_att_dac1_vol
2216 * Description : Left DAC1 to SPKMIXL Fine Volume Control
2217 * Input : uint16_t
2218 * Output : None
2219 * Return : Status [WM8994_ERROR, WM8994_OK]
2220 *******************************************************************************/
2221 int32_t wm8994_spkmixl_att_dac1_vol(wm8994_ctx_t *ctx, uint16_t value)
2222 {
2223  int32_t ret;
2224  uint16_t tmp = 0;
2225 
2226  ret = wm8994_read_reg(ctx, WM8994_SPKMIXL_ATT, &tmp, 2);
2227 
2228  if(ret == 0)
2229  {
2231  tmp |= value << WM8994_SPKMIXL_ATT_DAC1_VOL_POSITION;
2232 
2233  ret = wm8994_write_reg(ctx, WM8994_SPKMIXL_ATT, &tmp, 2);
2234  }
2235 
2236  return ret;
2237 }
2238 
2239 /*******************************************************************************
2240 * Function Name : wm8994_spkmixl_att_mixoutl_vol
2241 * Description : Left Mixer Output to SPKMIXL Fine Volume Control
2242 * Input : uint16_t
2243 * Output : None
2244 * Return : Status [WM8994_ERROR, WM8994_OK]
2245 *******************************************************************************/
2246 int32_t wm8994_spkmixl_att_mixoutl_vol(wm8994_ctx_t *ctx, uint16_t value)
2247 {
2248  int32_t ret;
2249  uint16_t tmp = 0;
2250 
2251  ret = wm8994_read_reg(ctx, WM8994_SPKMIXL_ATT, &tmp, 2);
2252 
2253  if(ret == 0)
2254  {
2257 
2258  ret = wm8994_write_reg(ctx, WM8994_SPKMIXL_ATT, &tmp, 2);
2259  }
2260 
2261  return ret;
2262 }
2263 
2264 /*******************************************************************************
2265 * Function Name : wm8994_spkmixl_att_in1lp_vol
2266 * Description : IN1LP to SPKMIXL Fine Volume Control
2267 * Input : uint16_t
2268 * Output : None
2269 * Return : Status [WM8994_ERROR, WM8994_OK]
2270 *******************************************************************************/
2271 int32_t wm8994_spkmixl_att_in1lp_vol(wm8994_ctx_t *ctx, uint16_t value)
2272 {
2273  int32_t ret;
2274  uint16_t tmp = 0;
2275 
2276  ret = wm8994_read_reg(ctx, WM8994_SPKMIXL_ATT, &tmp, 2);
2277 
2278  if(ret == 0)
2279  {
2281  tmp |= value << WM8994_SPKMIXL_ATT_IN1LP_VOL_POSITION;
2282 
2283  ret = wm8994_write_reg(ctx, WM8994_SPKMIXL_ATT, &tmp, 2);
2284  }
2285 
2286  return ret;
2287 }
2288 
2289 /*******************************************************************************
2290 * Function Name : wm8994_spkmixl_att_mixinl_vol
2291 * Description : MIXINL (Left ADC bypass) to SPKMIXL Fine Volume Control
2292 * Input : uint16_t
2293 * Output : None
2294 * Return : Status [WM8994_ERROR, WM8994_OK]
2295 *******************************************************************************/
2296 int32_t wm8994_spkmixl_att_mixinl_vol(wm8994_ctx_t *ctx, uint16_t value)
2297 {
2298  int32_t ret;
2299  uint16_t tmp = 0;
2300 
2301  ret = wm8994_read_reg(ctx, WM8994_SPKMIXL_ATT, &tmp, 2);
2302 
2303  if(ret == 0)
2304  {
2307 
2308  ret = wm8994_write_reg(ctx, WM8994_SPKMIXL_ATT, &tmp, 2);
2309  }
2310 
2311  return ret;
2312 }
2313 
2314 /*******************************************************************************
2315 * Function Name : wm8994_spkmixl_att_dac2l_vol
2316 * Description : Left DAC2 to SPKMIXL Fine Volume Control
2317 * Input : uint16_t
2318 * Output : None
2319 * Return : Status [WM8994_ERROR, WM8994_OK]
2320 *******************************************************************************/
2321 int32_t wm8994_spkmixl_att_dac2l_vol(wm8994_ctx_t *ctx, uint16_t value)
2322 {
2323  int32_t ret;
2324  uint16_t tmp = 0;
2325 
2326  ret = wm8994_read_reg(ctx, WM8994_SPKMIXL_ATT, &tmp, 2);
2327 
2328  if(ret == 0)
2329  {
2331  tmp |= value << WM8994_SPKMIXL_ATT_DAC2L_VOL_POSITION;
2332 
2333  ret = wm8994_write_reg(ctx, WM8994_SPKMIXL_ATT, &tmp, 2);
2334  }
2335 
2336  return ret;
2337 }
2338 
2339 /*******************************************************************************
2340 * Function Name : wm8994_spkmixl_att_spkab_refsel
2341 * Description : Selects Reference for Speaker in Class AB mode
2342 * Input : uint16_t
2343 * Output : None
2344 * Return : Status [WM8994_ERROR, WM8994_OK]
2345 *******************************************************************************/
2346 int32_t wm8994_spkmixl_att_spkab_refsel(wm8994_ctx_t *ctx, uint16_t value)
2347 {
2348  int32_t ret;
2349  uint16_t tmp = 0;
2350 
2351  ret = wm8994_read_reg(ctx, WM8994_SPKMIXL_ATT, &tmp, 2);
2352 
2353  if(ret == 0)
2354  {
2357 
2358  ret = wm8994_write_reg(ctx, WM8994_SPKMIXL_ATT, &tmp, 2);
2359  }
2360 
2361  return ret;
2362 }
2363 
2364 /*******************************************************************************
2365 * Function Name : wm8994_spkmixr_att_vol
2366 * Description : Right Speaker Mixer Volume Control
2367 * Input : uint16_t
2368 * Output : None
2369 * Return : Status [WM8994_ERROR, WM8994_OK]
2370 *******************************************************************************/
2371 int32_t wm8994_spkmixr_att_vol(wm8994_ctx_t *ctx, uint16_t value)
2372 {
2373  int32_t ret;
2374  uint16_t tmp = 0;
2375 
2376  ret = wm8994_read_reg(ctx, WM8994_SPKMIXR_ATT, &tmp, 2);
2377 
2378  if(ret == 0)
2379  {
2381  tmp |= value << WM8994_SPKMIXR_ATT_VOL_POSITION;
2382 
2383  ret = wm8994_write_reg(ctx, WM8994_SPKMIXR_ATT, &tmp, 2);
2384  }
2385 
2386  return ret;
2387 }
2388 
2389 /*******************************************************************************
2390 * Function Name : wm8994_spkmixr_att_dac1_vol
2391 * Description : Right DAC1 to SPKMIXR Fine Volume Control
2392 * Input : uint16_t
2393 * Output : None
2394 * Return : Status [WM8994_ERROR, WM8994_OK]
2395 *******************************************************************************/
2396 int32_t wm8994_spkmixr_att_dac1_vol(wm8994_ctx_t *ctx, uint16_t value)
2397 {
2398  int32_t ret;
2399  uint16_t tmp = 0;
2400 
2401  ret = wm8994_read_reg(ctx, WM8994_SPKMIXR_ATT, &tmp, 2);
2402 
2403  if(ret == 0)
2404  {
2406  tmp |= value << WM8994_SPKMIXR_ATT_DAC1_VOL_POSITION;
2407 
2408  ret = wm8994_write_reg(ctx, WM8994_SPKMIXR_ATT, &tmp, 2);
2409  }
2410 
2411  return ret;
2412 }
2413 
2414 /*******************************************************************************
2415 * Function Name : wm8994_spkmixr_att_mixoutl_vol
2416 * Description : Right Mixer Output to SPKMIXR Fine Volume Control
2417 * Input : uint16_t
2418 * Output : None
2419 * Return : Status [WM8994_ERROR, WM8994_OK]
2420 *******************************************************************************/
2421 int32_t wm8994_spkmixr_att_mixoutl_vol(wm8994_ctx_t *ctx, uint16_t value)
2422 {
2423  int32_t ret;
2424  uint16_t tmp = 0;
2425 
2426  ret = wm8994_read_reg(ctx, WM8994_SPKMIXR_ATT, &tmp, 2);
2427 
2428  if(ret == 0)
2429  {
2432 
2433  ret = wm8994_write_reg(ctx, WM8994_SPKMIXR_ATT, &tmp, 2);
2434  }
2435 
2436  return ret;
2437 }
2438 
2439 /*******************************************************************************
2440 * Function Name : wm8994_spkmixr_att_in1rp_vol
2441 * Description : IN1RP to SPKMIXR Fine Volume Control
2442 * Input : uint16_t
2443 * Output : None
2444 * Return : Status [WM8994_ERROR, WM8994_OK]
2445 *******************************************************************************/
2446 int32_t wm8994_spkmixr_att_in1rp_vol(wm8994_ctx_t *ctx, uint16_t value)
2447 {
2448  int32_t ret;
2449  uint16_t tmp = 0;
2450 
2451  ret = wm8994_read_reg(ctx, WM8994_SPKMIXR_ATT, &tmp, 2);
2452 
2453  if(ret == 0)
2454  {
2456  tmp |= value << WM8994_SPKMIXR_ATT_IN1RP_VOL_POSITION;
2457 
2458  ret = wm8994_write_reg(ctx, WM8994_SPKMIXR_ATT, &tmp, 2);
2459  }
2460 
2461  return ret;
2462 }
2463 
2464 /*******************************************************************************
2465 * Function Name : wm8994_spkmixr_att_mixinl_vol
2466 * Description : MIXINL (Right ADC bypass) to SPKMIXR Fine Volume Control
2467 * Input : uint16_t
2468 * Output : None
2469 * Return : Status [WM8994_ERROR, WM8994_OK]
2470 *******************************************************************************/
2471 int32_t wm8994_spkmixr_att_mixinl_vol(wm8994_ctx_t *ctx, uint16_t value)
2472 {
2473  int32_t ret;
2474  uint16_t tmp = 0;
2475 
2476  ret = wm8994_read_reg(ctx, WM8994_SPKMIXR_ATT, &tmp, 2);
2477 
2478  if(ret == 0)
2479  {
2482 
2483  ret = wm8994_write_reg(ctx, WM8994_SPKMIXR_ATT, &tmp, 2);
2484  }
2485 
2486  return ret;
2487 }
2488 
2489 /*******************************************************************************
2490 * Function Name : wm8994_spkmixr_att_dac2r_vol
2491 * Description : Right DAC2 to SPKMIXR Fine Volume Control
2492 * Input : uint16_t
2493 * Output : None
2494 * Return : Status [WM8994_ERROR, WM8994_OK]
2495 *******************************************************************************/
2496 int32_t wm8994_spkmixr_att_dac2r_vol(wm8994_ctx_t *ctx, uint16_t value)
2497 {
2498  int32_t ret;
2499  uint16_t tmp = 0;
2500 
2501  ret = wm8994_read_reg(ctx, WM8994_SPKMIXR_ATT, &tmp, 2);
2502 
2503  if(ret == 0)
2504  {
2506  tmp |= value << WM8994_SPKMIXR_ATT_DAC2R_VOL_POSITION;
2507 
2508  ret = wm8994_write_reg(ctx, WM8994_SPKMIXR_ATT, &tmp, 2);
2509  }
2510 
2511  return ret;
2512 }
2513 
2514 /*******************************************************************************
2515 * Function Name : wm8994_spkmixr_att_spkout_classab
2516 * Description : Speaker Class AB Mode Enable
2517 * Input : uint16_t
2518 * Output : None
2519 * Return : Status [WM8994_ERROR, WM8994_OK]
2520 *******************************************************************************/
2522 {
2523  int32_t ret;
2524  uint16_t tmp = 0;
2525 
2526  ret = wm8994_read_reg(ctx, WM8994_SPKMIXR_ATT, &tmp, 2);
2527 
2528  if(ret == 0)
2529  {
2532 
2533  ret = wm8994_write_reg(ctx, WM8994_SPKMIXR_ATT, &tmp, 2);
2534  }
2535 
2536  return ret;
2537 }
2538 
2539 /*******************************************************************************
2540 * Function Name : wm8994_spk_left_vol_spkout_vol
2541 * Description : SPKLVOL (Left Speaker Output PGA) Volume
2542 * Input : uint16_t
2543 * Output : None
2544 * Return : Status [WM8994_ERROR, WM8994_OK]
2545 *******************************************************************************/
2546 int32_t wm8994_spk_left_vol_spkout_vol(wm8994_ctx_t *ctx, uint16_t value)
2547 {
2548  int32_t ret;
2549  uint16_t tmp = 0;
2550 
2551  ret = wm8994_read_reg(ctx, WM8994_SPK_LEFT_VOL, &tmp, 2);
2552 
2553  if(ret == 0)
2554  {
2557 
2558  ret = wm8994_write_reg(ctx, WM8994_SPK_LEFT_VOL, &tmp, 2);
2559  }
2560 
2561  return ret;
2562 }
2563 
2564 /*******************************************************************************
2565 * Function Name : wm8994_spk_left_vol_spkout_mute_n
2566 * Description : SPKLVOL (Left Speaker Output PGA) Mute
2567 * Input : uint16_t
2568 * Output : None
2569 * Return : Status [WM8994_ERROR, WM8994_OK]
2570 *******************************************************************************/
2572 {
2573  int32_t ret;
2574  uint16_t tmp = 0;
2575 
2576  ret = wm8994_read_reg(ctx, WM8994_SPK_LEFT_VOL, &tmp, 2);
2577 
2578  if(ret == 0)
2579  {
2582 
2583  ret = wm8994_write_reg(ctx, WM8994_SPK_LEFT_VOL, &tmp, 2);
2584  }
2585 
2586  return ret;
2587 }
2588 
2589 /*******************************************************************************
2590 * Function Name : wm8994_spk_left_vol_spkout_zc
2591 * Description : SPKLVOL (Left Speaker Output PGA) Zero Cross Enable
2592 * Input : uint16_t
2593 * Output : None
2594 * Return : Status [WM8994_ERROR, WM8994_OK]
2595 *******************************************************************************/
2596 int32_t wm8994_spk_left_vol_spkout_zc(wm8994_ctx_t *ctx, uint16_t value)
2597 {
2598  int32_t ret;
2599  uint16_t tmp = 0;
2600 
2601  ret = wm8994_read_reg(ctx, WM8994_SPK_LEFT_VOL, &tmp, 2);
2602 
2603  if(ret == 0)
2604  {
2607 
2608  ret = wm8994_write_reg(ctx, WM8994_SPK_LEFT_VOL, &tmp, 2);
2609  }
2610 
2611  return ret;
2612 }
2613 
2614 /*******************************************************************************
2615 * Function Name : wm8994_spk_left_vol_spkout_vu
2616 * Description : Speaker Output PGA Volume Update
2617 * Input : uint16_t
2618 * Output : None
2619 * Return : Status [WM8994_ERROR, WM8994_OK]
2620 *******************************************************************************/
2621 int32_t wm8994_spk_left_vol_spkout_vu(wm8994_ctx_t *ctx, uint16_t value)
2622 {
2623  int32_t ret;
2624  uint16_t tmp = 0;
2625 
2626  ret = wm8994_read_reg(ctx, WM8994_SPK_LEFT_VOL, &tmp, 2);
2627 
2628  if(ret == 0)
2629  {
2632 
2633  ret = wm8994_write_reg(ctx, WM8994_SPK_LEFT_VOL, &tmp, 2);
2634  }
2635 
2636  return ret;
2637 }
2638 
2639 /*******************************************************************************
2640 * Function Name : wm8994_spk_right_vol_spkout_vol
2641 * Description : SPKLVOL (Right Speaker Output PGA) Volume
2642 * Input : uint16_t
2643 * Output : None
2644 * Return : Status [WM8994_ERROR, WM8994_OK]
2645 *******************************************************************************/
2646 int32_t wm8994_spk_right_vol_spkout_vol(wm8994_ctx_t *ctx, uint16_t value)
2647 {
2648  int32_t ret;
2649  uint16_t tmp = 0;
2650 
2651  ret = wm8994_read_reg(ctx, WM8994_SPK_RIGHT_VOL, &tmp, 2);
2652 
2653  if(ret == 0)
2654  {
2657 
2658  ret = wm8994_write_reg(ctx, WM8994_SPK_RIGHT_VOL, &tmp, 2);
2659  }
2660 
2661  return ret;
2662 }
2663 
2664 /*******************************************************************************
2665 * Function Name : wm8994_spk_right_vol_spkout_mute_n
2666 * Description : SPKLVOL (Right Speaker Output PGA) Mute
2667 * Input : uint16_t
2668 * Output : None
2669 * Return : Status [WM8994_ERROR, WM8994_OK]
2670 *******************************************************************************/
2672 {
2673  int32_t ret;
2674  uint16_t tmp = 0;
2675 
2676  ret = wm8994_read_reg(ctx, WM8994_SPK_RIGHT_VOL, &tmp, 2);
2677 
2678  if(ret == 0)
2679  {
2682 
2683  ret = wm8994_write_reg(ctx, WM8994_SPK_RIGHT_VOL, &tmp, 2);
2684  }
2685 
2686  return ret;
2687 }
2688 
2689 /*******************************************************************************
2690 * Function Name : wm8994_spk_right_vol_spkout_zc
2691 * Description : SPKLVOL (Right Speaker Output PGA) Zero Cross Enable
2692 * Input : uint16_t
2693 * Output : None
2694 * Return : Status [WM8994_ERROR, WM8994_OK]
2695 *******************************************************************************/
2696 int32_t wm8994_spk_right_vol_spkout_zc(wm8994_ctx_t *ctx, uint16_t value)
2697 {
2698  int32_t ret;
2699  uint16_t tmp = 0;
2700 
2701  ret = wm8994_read_reg(ctx, WM8994_SPK_RIGHT_VOL, &tmp, 2);
2702 
2703  if(ret == 0)
2704  {
2707 
2708  ret = wm8994_write_reg(ctx, WM8994_SPK_RIGHT_VOL, &tmp, 2);
2709  }
2710 
2711  return ret;
2712 }
2713 
2714 /*******************************************************************************
2715 * Function Name : wm8994_spk_right_vol_spkout_vu
2716 * Description : Speaker Output PGA Volume Update
2717 * Input : uint16_t
2718 * Output : None
2719 * Return : Status [WM8994_ERROR, WM8994_OK]
2720 *******************************************************************************/
2721 int32_t wm8994_spk_right_vol_spkout_vu(wm8994_ctx_t *ctx, uint16_t value)
2722 {
2723  int32_t ret;
2724  uint16_t tmp = 0;
2725 
2726  ret = wm8994_read_reg(ctx, WM8994_SPK_RIGHT_VOL, &tmp, 2);
2727 
2728  if(ret == 0)
2729  {
2732 
2733  ret = wm8994_write_reg(ctx, WM8994_SPK_RIGHT_VOL, &tmp, 2);
2734  }
2735 
2736  return ret;
2737 }
2738 
2739 /*******************************************************************************
2740 * Function Name : wm8994_inmixer2_in1rn_to_in1r
2741 * Description : IN1R PGA Inverting Input Select
2742 * Input : uint16_t
2743 * Output : None
2744 * Return : Status [WM8994_ERROR, WM8994_OK]
2745 *******************************************************************************/
2746 int32_t wm8994_inmixer2_in1rn_to_in1r(wm8994_ctx_t *ctx, uint16_t value)
2747 {
2748  int32_t ret;
2749  uint16_t tmp = 0;
2750 
2751  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_2, &tmp, 2);
2752 
2753  if(ret == 0)
2754  {
2757 
2758  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_2, &tmp, 2);
2759  }
2760 
2761  return ret;
2762 }
2763 
2764 /*******************************************************************************
2765 * Function Name : wm8994_inmixer2_in1rp_to_in1r
2766 * Description : IN1R PGA Non-Inverting Input Select
2767 * Input : uint16_t
2768 * Output : None
2769 * Return : Status [WM8994_ERROR, WM8994_OK]
2770 *******************************************************************************/
2771 int32_t wm8994_inmixer2_in1rp_to_in1r(wm8994_ctx_t *ctx, uint16_t value)
2772 {
2773  int32_t ret;
2774  uint16_t tmp = 0;
2775 
2776  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_2, &tmp, 2);
2777 
2778  if(ret == 0)
2779  {
2782 
2783  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_2, &tmp, 2);
2784  }
2785 
2786  return ret;
2787 }
2788 
2789 /*******************************************************************************
2790 * Function Name : wm8994_inmixer2_in2rn_to_in2r
2791 * Description : IN2R PGA Inverting Input Select
2792 * Input : uint16_t
2793 * Output : None
2794 * Return : Status [WM8994_ERROR, WM8994_OK]
2795 *******************************************************************************/
2796 int32_t wm8994_inmixer2_in2rn_to_in2r(wm8994_ctx_t *ctx, uint16_t value)
2797 {
2798  int32_t ret;
2799  uint16_t tmp = 0;
2800 
2801  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_2, &tmp, 2);
2802 
2803  if(ret == 0)
2804  {
2807 
2808  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_2, &tmp, 2);
2809  }
2810 
2811  return ret;
2812 }
2813 
2814 /*******************************************************************************
2815 * Function Name : wm8994_inmixer2_in2rp_to_in2r
2816 * Description : IN2R PGA Non-Inverting Input Select
2817 * Input : uint16_t
2818 * Output : None
2819 * Return : Status [WM8994_ERROR, WM8994_OK]
2820 *******************************************************************************/
2821 int32_t wm8994_inmixer2_in2rp_to_in2r(wm8994_ctx_t *ctx, uint16_t value)
2822 {
2823  int32_t ret;
2824  uint16_t tmp = 0;
2825 
2826  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_2, &tmp, 2);
2827 
2828  if(ret == 0)
2829  {
2832 
2833  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_2, &tmp, 2);
2834  }
2835 
2836  return ret;
2837 }
2838 
2839 /*******************************************************************************
2840 * Function Name : wm8994_inmixer2_in1ln_to_in1l
2841 * Description : IN1L PGA Inverting Input Select
2842 * Input : uint16_t
2843 * Output : None
2844 * Return : Status [WM8994_ERROR, WM8994_OK]
2845 *******************************************************************************/
2846 int32_t wm8994_inmixer2_in1ln_to_in1l(wm8994_ctx_t *ctx, uint16_t value)
2847 {
2848  int32_t ret;
2849  uint16_t tmp = 0;
2850 
2851  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_2, &tmp, 2);
2852 
2853  if(ret == 0)
2854  {
2857 
2858  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_2, &tmp, 2);
2859  }
2860 
2861  return ret;
2862 }
2863 
2864 /*******************************************************************************
2865 * Function Name : wm8994_inmixer2_in1lp_to_in1l
2866 * Description : IN1L PGA Non-Inverting Input Select
2867 * Input : uint16_t
2868 * Output : None
2869 * Return : Status [WM8994_ERROR, WM8994_OK]
2870 *******************************************************************************/
2871 int32_t wm8994_inmixer2_in1lp_to_in1l(wm8994_ctx_t *ctx, uint16_t value)
2872 {
2873  int32_t ret;
2874  uint16_t tmp = 0;
2875 
2876  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_2, &tmp, 2);
2877 
2878  if(ret == 0)
2879  {
2882 
2883  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_2, &tmp, 2);
2884  }
2885 
2886  return ret;
2887 }
2888 
2889 /*******************************************************************************
2890 * Function Name : wm8994_inmixer2_in2ln_to_in2l
2891 * Description : IN2L PGA Inverting Input Select
2892 * Input : uint16_t
2893 * Output : None
2894 * Return : Status [WM8994_ERROR, WM8994_OK]
2895 *******************************************************************************/
2896 int32_t wm8994_inmixer2_in2ln_to_in2l(wm8994_ctx_t *ctx, uint16_t value)
2897 {
2898  int32_t ret;
2899  uint16_t tmp = 0;
2900 
2901  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_2, &tmp, 2);
2902 
2903  if(ret == 0)
2904  {
2907 
2908  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_2, &tmp, 2);
2909  }
2910 
2911  return ret;
2912 }
2913 
2914 /*******************************************************************************
2915 * Function Name : wm8994_inmixer2_in2lp_to_in2l
2916 * Description : IN2L PGA Non-Inverting Input Select
2917 * Input : uint16_t
2918 * Output : None
2919 * Return : Status [WM8994_ERROR, WM8994_OK]
2920 *******************************************************************************/
2921 int32_t wm8994_inmixer2_in2lp_to_in2l(wm8994_ctx_t *ctx, uint16_t value)
2922 {
2923  int32_t ret;
2924  uint16_t tmp = 0;
2925 
2926  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_2, &tmp, 2);
2927 
2928  if(ret == 0)
2929  {
2932 
2933  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_2, &tmp, 2);
2934  }
2935 
2936  return ret;
2937 }
2938 
2939 /*******************************************************************************
2940 * Function Name : wm8994_inmixer3_mixoutl_mixinl_vol
2941 * Description : Record Path MIXOUTL to MIXINL Gain and Mute
2942 * Input : uint16_t
2943 * Output : None
2944 * Return : Status [WM8994_ERROR, WM8994_OK]
2945 *******************************************************************************/
2947 {
2948  int32_t ret;
2949  uint16_t tmp = 0;
2950 
2951  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_3, &tmp, 2);
2952 
2953  if(ret == 0)
2954  {
2957 
2958  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_3, &tmp, 2);
2959  }
2960 
2961  return ret;
2962 }
2963 
2964 
2965 /*******************************************************************************
2966 * Function Name : wm8994_inmixer3_in1l_mixinl_vol
2967 * Description : IN1L PGA Output to MIXINL Gain
2968 * Input : uint16_t
2969 * Output : None
2970 * Return : Status [WM8994_ERROR, WM8994_OK]
2971 *******************************************************************************/
2972 int32_t wm8994_inmixer3_in1l_mixinl_vol(wm8994_ctx_t *ctx, uint16_t value)
2973 {
2974  int32_t ret;
2975  uint16_t tmp = 0;
2976 
2977  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_3, &tmp, 2);
2978 
2979  if(ret == 0)
2980  {
2983 
2984  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_3, &tmp, 2);
2985  }
2986 
2987  return ret;
2988 }
2989 
2990 /*******************************************************************************
2991 * Function Name : wm8994_inmixer3_in1l_to_mixinl
2992 * Description : IN1L PGA Output to MIXINL Mute
2993 * Input : uint16_t
2994 * Output : None
2995 * Return : Status [WM8994_ERROR, WM8994_OK]
2996 *******************************************************************************/
2997 int32_t wm8994_inmixer3_in1l_to_mixinl(wm8994_ctx_t *ctx, uint16_t value)
2998 {
2999  int32_t ret;
3000  uint16_t tmp = 0;
3001 
3002  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_3, &tmp, 2);
3003 
3004  if(ret == 0)
3005  {
3008 
3009  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_3, &tmp, 2);
3010  }
3011 
3012  return ret;
3013 }
3014 
3015 /*******************************************************************************
3016 * Function Name : wm8994_inmixer3_in2l_mixinl_vol
3017 * Description : IN2L PGA Output to MIXINL Gain
3018 * Input : uint16_t
3019 * Output : None
3020 * Return : Status [WM8994_ERROR, WM8994_OK]
3021 *******************************************************************************/
3022 int32_t wm8994_inmixer3_in2l_mixinl_vol(wm8994_ctx_t *ctx, uint16_t value)
3023 {
3024  int32_t ret;
3025  uint16_t tmp = 0;
3026 
3027  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_3, &tmp, 2);
3028 
3029  if(ret == 0)
3030  {
3033 
3034  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_3, &tmp, 2);
3035  }
3036 
3037  return ret;
3038 }
3039 
3040 /*******************************************************************************
3041 * Function Name : wm8994_inmixer3_in2l_to_mixinl
3042 * Description : IN2L PGA Output to MIXINL Mute
3043 * Input : uint16_t
3044 * Output : None
3045 * Return : Status [WM8994_ERROR, WM8994_OK]
3046 *******************************************************************************/
3047 int32_t wm8994_inmixer3_in2l_to_mixinl(wm8994_ctx_t *ctx, uint16_t value)
3048 {
3049  int32_t ret;
3050  uint16_t tmp = 0;
3051 
3052  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_3, &tmp, 2);
3053 
3054  if(ret == 0)
3055  {
3058 
3059  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_3, &tmp, 2);
3060  }
3061 
3062  return ret;
3063 }
3064 
3065 /*******************************************************************************
3066 * Function Name : wm8994_inmixer4_mixoutr_mixinr_vol
3067 * Description : Record Path MIXOUTR to MIXINR Gain and Mute
3068 * Input : uint16_t
3069 * Output : None
3070 * Return : Status [WM8994_ERROR, WM8994_OK]
3071 *******************************************************************************/
3073 {
3074  int32_t ret;
3075  uint16_t tmp = 0;
3076 
3077  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_4, &tmp, 2);
3078 
3079  if(ret == 0)
3080  {
3083 
3084  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_4, &tmp, 2);
3085  }
3086 
3087  return ret;
3088 }
3089 
3090 
3091 /*******************************************************************************
3092 * Function Name : wm8994_inmixer4_in1r_mixinr_vol
3093 * Description : IN1R PGA Output to MIXINR Gain
3094 * Input : uint16_t
3095 * Output : None
3096 * Return : Status [WM8994_ERROR, WM8994_OK]
3097 *******************************************************************************/
3098 int32_t wm8994_inmixer4_in1r_mixinr_vol(wm8994_ctx_t *ctx, uint16_t value)
3099 {
3100  int32_t ret;
3101  uint16_t tmp = 0;
3102 
3103  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_4, &tmp, 2);
3104 
3105  if(ret == 0)
3106  {
3109 
3110  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_4, &tmp, 2);
3111  }
3112 
3113  return ret;
3114 }
3115 
3116 /*******************************************************************************
3117 * Function Name : wm8994_inmixer4_in1r_to_mixinr
3118 * Description : IN1R PGA Output to MIXINR Mute
3119 * Input : uint16_t
3120 * Output : None
3121 * Return : Status [WM8994_ERROR, WM8994_OK]
3122 *******************************************************************************/
3123 int32_t wm8994_inmixer4_in1r_to_mixinr(wm8994_ctx_t *ctx, uint16_t value)
3124 {
3125  int32_t ret;
3126  uint16_t tmp = 0;
3127 
3128  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_4, &tmp, 2);
3129 
3130  if(ret == 0)
3131  {
3134 
3135  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_4, &tmp, 2);
3136  }
3137 
3138  return ret;
3139 }
3140 
3141 /*******************************************************************************
3142 * Function Name : wm8994_inmixer4_in2r_mixinr_vol
3143 * Description : IN2R PGA Output to MIXINR Gain
3144 * Input : uint16_t
3145 * Output : None
3146 * Return : Status [WM8994_ERROR, WM8994_OK]
3147 *******************************************************************************/
3148 int32_t wm8994_inmixer4_in2r_mixinr_vol(wm8994_ctx_t *ctx, uint16_t value)
3149 {
3150  int32_t ret;
3151  uint16_t tmp = 0;
3152 
3153  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_4, &tmp, 2);
3154 
3155  if(ret == 0)
3156  {
3159 
3160  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_4, &tmp, 2);
3161  }
3162 
3163  return ret;
3164 }
3165 
3166 /*******************************************************************************
3167 * Function Name : wm8994_inmixer4_in2r_to_mixinr
3168 * Description : IN2R PGA Output to MIXINR Mute
3169 * Input : uint16_t
3170 * Output : None
3171 * Return : Status [WM8994_ERROR, WM8994_OK]
3172 *******************************************************************************/
3173 int32_t wm8994_inmixer4_in2r_to_mixinr(wm8994_ctx_t *ctx, uint16_t value)
3174 {
3175  int32_t ret;
3176  uint16_t tmp = 0;
3177 
3178  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_4, &tmp, 2);
3179 
3180  if(ret == 0)
3181  {
3184 
3185  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_4, &tmp, 2);
3186  }
3187 
3188  return ret;
3189 }
3190 
3191 /*******************************************************************************
3192 * Function Name : wm8994_inmixer5_in2lrp_mixinl_vol
3193 * Description : RXVOICE Differential Input (VRXP-VRXN) to MIXINL
3194 * Input : uint16_t
3195 * Output : None
3196 * Return : Status [WM8994_ERROR, WM8994_OK]
3197 *******************************************************************************/
3199 {
3200  int32_t ret;
3201  uint16_t tmp = 0;
3202 
3203  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_5, &tmp, 2);
3204 
3205  if(ret == 0)
3206  {
3209 
3210  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_5, &tmp, 2);
3211  }
3212 
3213  return ret;
3214 }
3215 
3216 /*******************************************************************************
3217 * Function Name : wm8994_inmixer5_in1lp_mixinl_vol
3218 * Description : IN1LP Pin (PGA Bypass) to MIXINL Gain and Mute
3219 * Input : uint16_t
3220 * Output : None
3221 * Return : Status [WM8994_ERROR, WM8994_OK]
3222 *******************************************************************************/
3223 int32_t wm8994_inmixer5_in1lp_mixinl_vol(wm8994_ctx_t *ctx, uint16_t value)
3224 {
3225  int32_t ret;
3226  uint16_t tmp = 0;
3227 
3228  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_5, &tmp, 2);
3229 
3230  if(ret == 0)
3231  {
3234 
3235  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_5, &tmp, 2);
3236  }
3237 
3238  return ret;
3239 }
3240 
3241 /*******************************************************************************
3242 * Function Name : wm8994_inmixer6_in2lrp_mixinr_vol
3243 * Description : RXVOICE Differential Input (VRXP-VRXN) to MIXINR
3244 * Input : uint16_t
3245 * Output : None
3246 * Return : Status [WM8994_ERROR, WM8994_OK]
3247 *******************************************************************************/
3249 {
3250  int32_t ret;
3251  uint16_t tmp = 0;
3252 
3253  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_6, &tmp, 2);
3254 
3255  if(ret == 0)
3256  {
3259 
3260  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_6, &tmp, 2);
3261  }
3262 
3263  return ret;
3264 }
3265 
3266 /*******************************************************************************
3267 * Function Name : wm8994_inmixer6_in1rp_mixinr_vol
3268 * Description : IN1LP Pin (PGA Bypass) to MIXINR Gain and Mute
3269 * Input : uint16_t
3270 * Output : None
3271 * Return : Status [WM8994_ERROR, WM8994_OK]
3272 *******************************************************************************/
3273 int32_t wm8994_inmixer6_in1rp_mixinr_vol(wm8994_ctx_t *ctx, uint16_t value)
3274 {
3275  int32_t ret;
3276  uint16_t tmp = 0;
3277 
3278  ret = wm8994_read_reg(ctx, WM8994_INPUT_MIXER_6, &tmp, 2);
3279 
3280  if(ret == 0)
3281  {
3284 
3285  ret = wm8994_write_reg(ctx, WM8994_INPUT_MIXER_6, &tmp, 2);
3286  }
3287 
3288  return ret;
3289 }
3290 
3291 /*******************************************************************************
3292 * Function Name : wm8994_outmixer1_dac1l_to_mixoutl
3293 * Description : Left DAC1 to MIXOUTL Mute
3294 * Input : uint16_t
3295 * Output : None
3296 * Return : Status [WM8994_ERROR, WM8994_OK]
3297 *******************************************************************************/
3299 {
3300  int32_t ret;
3301  uint16_t tmp = 0;
3302 
3303  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_1, &tmp, 2);
3304 
3305  if(ret == 0)
3306  {
3309 
3310  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_1, &tmp, 2);
3311  }
3312 
3313  return ret;
3314 }
3315 
3316 /*******************************************************************************
3317 * Function Name : wm8994_outmixer1_in2lp_to_mixoutl
3318 * Description : IN2LP to MIXOUTL Mute
3319 * Input : uint16_t
3320 * Output : None
3321 * Return : Status [WM8994_ERROR, WM8994_OK]
3322 *******************************************************************************/
3324 {
3325  int32_t ret;
3326  uint16_t tmp = 0;
3327 
3328  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_1, &tmp, 2);
3329 
3330  if(ret == 0)
3331  {
3334 
3335  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_1, &tmp, 2);
3336  }
3337 
3338  return ret;
3339 }
3340 
3341 /*******************************************************************************
3342 * Function Name : wm8994_outmixer1_in1l_to_mixoutl
3343 * Description : IN1L PGA Output to MIXOUTL Mute
3344 * Input : uint16_t
3345 * Output : None
3346 * Return : Status [WM8994_ERROR, WM8994_OK]
3347 *******************************************************************************/
3348 int32_t wm8994_outmixer1_in1l_to_mixoutl(wm8994_ctx_t *ctx, uint16_t value)
3349 {
3350  int32_t ret;
3351  uint16_t tmp = 0;
3352 
3353  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_1, &tmp, 2);
3354 
3355  if(ret == 0)
3356  {
3359 
3360  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_1, &tmp, 2);
3361  }
3362 
3363  return ret;
3364 }
3365 
3366 /*******************************************************************************
3367 * Function Name : wm8994_outmixer1_in1r_to_mixoutl
3368 * Description : IN1R PGA Output to MIXOUTL Mute
3369 * Input : uint16_t
3370 * Output : None
3371 * Return : Status [WM8994_ERROR, WM8994_OK]
3372 *******************************************************************************/
3373 int32_t wm8994_outmixer1_in1r_to_mixoutl(wm8994_ctx_t *ctx, uint16_t value)
3374 {
3375  int32_t ret;
3376  uint16_t tmp = 0;
3377 
3378  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_1, &tmp, 2);
3379 
3380  if(ret == 0)
3381  {
3384 
3385  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_1, &tmp, 2);
3386  }
3387 
3388  return ret;
3389 }
3390 
3391 /*******************************************************************************
3392 * Function Name : wm8994_outmixer1_in2ln_to_mixoutl
3393 * Description : IN2LN to MIXOUTL Mute
3394 * Input : uint16_t
3395 * Output : None
3396 * Return : Status [WM8994_ERROR, WM8994_OK]
3397 *******************************************************************************/
3399 {
3400  int32_t ret;
3401  uint16_t tmp = 0;
3402 
3403  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_1, &tmp, 2);
3404 
3405  if(ret == 0)
3406  {
3409 
3410  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_1, &tmp, 2);
3411  }
3412 
3413  return ret;
3414 }
3415 
3416 /*******************************************************************************
3417 * Function Name : wm8994_outmixer1_in2rn_to_mixoutl
3418 * Description : IN2RN to MIXOUTL Mute
3419 * Input : uint16_t
3420 * Output : None
3421 * Return : Status [WM8994_ERROR, WM8994_OK]
3422 *******************************************************************************/
3424 {
3425  int32_t ret;
3426  uint16_t tmp = 0;
3427 
3428  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_1, &tmp, 2);
3429 
3430  if(ret == 0)
3431  {
3434 
3435  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_1, &tmp, 2);
3436  }
3437 
3438  return ret;
3439 }
3440 
3441 /*******************************************************************************
3442 * Function Name : wm8994_outmixer1_mixinl_to_mixoutl
3443 * Description : MIXINL Output (Left ADC bypass) to MIXOUTL Mute
3444 * Input : uint16_t
3445 * Output : None
3446 * Return : Status [WM8994_ERROR, WM8994_OK]
3447 *******************************************************************************/
3449 {
3450  int32_t ret;
3451  uint16_t tmp = 0;
3452 
3453  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_1, &tmp, 2);
3454 
3455  if(ret == 0)
3456  {
3459 
3460  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_1, &tmp, 2);
3461  }
3462 
3463  return ret;
3464 }
3465 
3466 /*******************************************************************************
3467 * Function Name : wm8994_outmixer1_mixinr_to_mixoutl
3468 * Description : MIXINR Output (Right ADC bypass) to MIXOUTL Mute
3469 * Input : uint16_t
3470 * Output : None
3471 * Return : Status [WM8994_ERROR, WM8994_OK]
3472 *******************************************************************************/
3474 {
3475  int32_t ret;
3476  uint16_t tmp = 0;
3477 
3478  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_1, &tmp, 2);
3479 
3480  if(ret == 0)
3481  {
3484 
3485  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_1, &tmp, 2);
3486  }
3487 
3488  return ret;
3489 }
3490 
3491 /*******************************************************************************
3492 * Function Name : wm8994_outmixer1_dac1l_to_hpout1l
3493 * Description : HPOUT1LVOL (Left Headphone Output PGA) Input Select
3494 * Input : uint16_t
3495 * Output : None
3496 * Return : Status [WM8994_ERROR, WM8994_OK]
3497 *******************************************************************************/
3499 {
3500  int32_t ret;
3501  uint16_t tmp = 0;
3502 
3503  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_1, &tmp, 2);
3504 
3505  if(ret == 0)
3506  {
3509 
3510  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_1, &tmp, 2);
3511  }
3512 
3513  return ret;
3514 }
3515 
3516 /*******************************************************************************
3517 * Function Name : wm8994_outmixer2_dac1r_to_mixoutr
3518 * Description : Right DAC1 to MIXOUTR Mute
3519 * Input : uint16_t
3520 * Output : None
3521 * Return : Status [WM8994_ERROR, WM8994_OK]
3522 *******************************************************************************/
3524 {
3525  int32_t ret;
3526  uint16_t tmp = 0;
3527 
3528  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3529 
3530  if(ret == 0)
3531  {
3534 
3535  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3536  }
3537 
3538  return ret;
3539 }
3540 
3541 /*******************************************************************************
3542 * Function Name : wm8994_outmixer2_in2rp_to_mixoutr
3543 * Description : IN2RP to MIXOUTR Mute
3544 * Input : uint16_t
3545 * Output : None
3546 * Return : Status [WM8994_ERROR, WM8994_OK]
3547 *******************************************************************************/
3549 {
3550  int32_t ret;
3551  uint16_t tmp = 0;
3552 
3553  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3554 
3555  if(ret == 0)
3556  {
3559 
3560  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3561  }
3562 
3563  return ret;
3564 }
3565 
3566 /*******************************************************************************
3567 * Function Name : wm8994_outmixer2_in1r_to_mixoutr
3568 * Description : IN1R PGA Output to MIXOUTR Mute
3569 * Input : uint16_t
3570 * Output : None
3571 * Return : Status [WM8994_ERROR, WM8994_OK]
3572 *******************************************************************************/
3573 int32_t wm8994_outmixer2_in1r_to_mixoutr(wm8994_ctx_t *ctx, uint16_t value)
3574 {
3575  int32_t ret;
3576  uint16_t tmp = 0;
3577 
3578  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3579 
3580  if(ret == 0)
3581  {
3584 
3585  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3586  }
3587 
3588  return ret;
3589 }
3590 
3591 /*******************************************************************************
3592 * Function Name : wm8994_outmixer2_in1l_to_mixoutr
3593 * Description : IN1L PGA Output to MIXOUTR Mute
3594 * Input : uint16_t
3595 * Output : None
3596 * Return : Status [WM8994_ERROR, WM8994_OK]
3597 *******************************************************************************/
3598 int32_t wm8994_outmixer2_in1l_to_mixoutr(wm8994_ctx_t *ctx, uint16_t value)
3599 {
3600  int32_t ret;
3601  uint16_t tmp = 0;
3602 
3603  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3604 
3605  if(ret == 0)
3606  {
3609 
3610  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3611  }
3612 
3613  return ret;
3614 }
3615 
3616 /*******************************************************************************
3617 * Function Name : wm8994_outmixer2_in2rn_to_mixoutr
3618 * Description : IN2RN to MIXOUTR Mute
3619 * Input : uint16_t
3620 * Output : None
3621 * Return : Status [WM8994_ERROR, WM8994_OK]
3622 *******************************************************************************/
3624 {
3625  int32_t ret;
3626  uint16_t tmp = 0;
3627 
3628  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3629 
3630  if(ret == 0)
3631  {
3634 
3635  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3636  }
3637 
3638  return ret;
3639 }
3640 
3641 /*******************************************************************************
3642 * Function Name : wm8994_outmixer2_in2ln_to_mixoutr
3643 * Description : IN2LN to MIXOUTR Mute
3644 * Input : uint16_t
3645 * Output : None
3646 * Return : Status [WM8994_ERROR, WM8994_OK]
3647 *******************************************************************************/
3649 {
3650  int32_t ret;
3651  uint16_t tmp = 0;
3652 
3653  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3654 
3655  if(ret == 0)
3656  {
3659 
3660  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3661  }
3662 
3663  return ret;
3664 }
3665 
3666 /*******************************************************************************
3667 * Function Name : wm8994_outmixer2_mixinr_to_mixoutr
3668 * Description : MIXINR Output (Right ADC bypass) to MIXOUTR Mute
3669 * Input : uint16_t
3670 * Output : None
3671 * Return : Status [WM8994_ERROR, WM8994_OK]
3672 *******************************************************************************/
3674 {
3675  int32_t ret;
3676  uint16_t tmp = 0;
3677 
3678  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3679 
3680  if(ret == 0)
3681  {
3684 
3685  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3686  }
3687 
3688  return ret;
3689 }
3690 
3691 /*******************************************************************************
3692 * Function Name : wm8994_outmixer2_mixinl_to_mixoutr
3693 * Description : MIXINL Output (Left ADC bypass) to MIXOUTR Mute
3694 * Input : uint16_t
3695 * Output : None
3696 * Return : Status [WM8994_ERROR, WM8994_OK]
3697 *******************************************************************************/
3699 {
3700  int32_t ret;
3701  uint16_t tmp = 0;
3702 
3703  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3704 
3705  if(ret == 0)
3706  {
3709 
3710  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3711  }
3712 
3713  return ret;
3714 }
3715 
3716 /*******************************************************************************
3717 * Function Name : wm8994_outmixer2_dac1r_to_hpout1r
3718 * Description : HPOUT1RVOL (Right Headphone Output PGA) Input Select
3719 * Input : uint16_t
3720 * Output : None
3721 * Return : Status [WM8994_ERROR, WM8994_OK]
3722 *******************************************************************************/
3724 {
3725  int32_t ret;
3726  uint16_t tmp = 0;
3727 
3728  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3729 
3730  if(ret == 0)
3731  {
3734 
3735  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3736  }
3737 
3738  return ret;
3739 }
3740 
3741 /*******************************************************************************
3742 * Function Name : wm8994_spkmixer_dac1r_to_spkmixr
3743 * Description : Right DAC1 to SPKMIXR Mute
3744 * Input : uint16_t
3745 * Output : None
3746 * Return : Status [WM8994_ERROR, WM8994_OK]
3747 *******************************************************************************/
3748 int32_t wm8994_spkmixer_dac1r_to_spkmixr(wm8994_ctx_t *ctx, uint16_t value)
3749 {
3750  int32_t ret;
3751  uint16_t tmp = 0;
3752 
3753  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3754 
3755  if(ret == 0)
3756  {
3759 
3760  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3761  }
3762 
3763  return ret;
3764 }
3765 
3766 /*******************************************************************************
3767 * Function Name : wm8994_spkmixer_dac1l_to_spkmixl
3768 * Description : Left DAC1 to SPKMIXL Mute
3769 * Input : uint16_t
3770 * Output : None
3771 * Return : Status [WM8994_ERROR, WM8994_OK]
3772 *******************************************************************************/
3773 int32_t wm8994_spkmixer_dac1l_to_spkmixl(wm8994_ctx_t *ctx, uint16_t value)
3774 {
3775  int32_t ret;
3776  uint16_t tmp = 0;
3777 
3778  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3779 
3780  if(ret == 0)
3781  {
3784 
3785  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3786  }
3787 
3788  return ret;
3789 }
3790 
3791 /*******************************************************************************
3792 * Function Name : wm8994_spkmixer_mixoutr_to_spkmixr
3793 * Description : Right Mixer Output to SPKMIXR Mute
3794 * Input : uint16_t
3795 * Output : None
3796 * Return : Status [WM8994_ERROR, WM8994_OK]
3797 *******************************************************************************/
3799 {
3800  int32_t ret;
3801  uint16_t tmp = 0;
3802 
3803  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3804 
3805  if(ret == 0)
3806  {
3809 
3810  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3811  }
3812 
3813  return ret;
3814 }
3815 
3816 /*******************************************************************************
3817 * Function Name : wm8994_spkmixer_mixoutl_to_spkmixl
3818 * Description : Left Mixer Output to SPKMIXL Mute
3819 * Input : uint16_t
3820 * Output : None
3821 * Return : Status [WM8994_ERROR, WM8994_OK]
3822 *******************************************************************************/
3824 {
3825  int32_t ret;
3826  uint16_t tmp = 0;
3827 
3828  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3829 
3830  if(ret == 0)
3831  {
3834 
3835  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3836  }
3837 
3838  return ret;
3839 }
3840 
3841 /*******************************************************************************
3842 * Function Name : wm8994_spkmixer_in1rp_to_spkmixr
3843 * Description : IN1RP to SPKMIXR Mute
3844 * Input : uint16_t
3845 * Output : None
3846 * Return : Status [WM8994_ERROR, WM8994_OK]
3847 *******************************************************************************/
3848 int32_t wm8994_spkmixer_in1rp_to_spkmixr(wm8994_ctx_t *ctx, uint16_t value)
3849 {
3850  int32_t ret;
3851  uint16_t tmp = 0;
3852 
3853  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3854 
3855  if(ret == 0)
3856  {
3859 
3860  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3861  }
3862 
3863  return ret;
3864 }
3865 
3866 /*******************************************************************************
3867 * Function Name : wm8994_spkmixer_in1lp_to_spkmixl
3868 * Description : IN1LP to SPKMIXL Mute
3869 * Input : uint16_t
3870 * Output : None
3871 * Return : Status [WM8994_ERROR, WM8994_OK]
3872 *******************************************************************************/
3873 int32_t wm8994_spkmixer_in1lp_to_spkmixl(wm8994_ctx_t *ctx, uint16_t value)
3874 {
3875  int32_t ret;
3876  uint16_t tmp = 0;
3877 
3878  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3879 
3880  if(ret == 0)
3881  {
3884 
3885  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3886  }
3887 
3888  return ret;
3889 }
3890 
3891 /*******************************************************************************
3892 * Function Name : wm8994_spkmixer_mixinr_to_spkmixr
3893 * Description : MIXINR (Right ADC bypass) to SPKMIXR Mute
3894 * Input : uint16_t
3895 * Output : None
3896 * Return : Status [WM8994_ERROR, WM8994_OK]
3897 *******************************************************************************/
3899 {
3900  int32_t ret;
3901  uint16_t tmp = 0;
3902 
3903  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3904 
3905  if(ret == 0)
3906  {
3909 
3910  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3911  }
3912 
3913  return ret;
3914 }
3915 
3916 /*******************************************************************************
3917 * Function Name : wm8994_spkmixer_mixinl_to_spkmixl
3918 * Description : MIXINL (Left ADC bypass) to SPKMIXL Mute
3919 * Input : uint16_t
3920 * Output : None
3921 * Return : Status [WM8994_ERROR, WM8994_OK]
3922 *******************************************************************************/
3924 {
3925  int32_t ret;
3926  uint16_t tmp = 0;
3927 
3928  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3929 
3930  if(ret == 0)
3931  {
3934 
3935  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3936  }
3937 
3938  return ret;
3939 }
3940 
3941 /*******************************************************************************
3942 * Function Name : wm8994_spkmixer_dac2r_to_spkmixr
3943 * Description : Right DAC2 to SPKMIXR Mute
3944 * Input : uint16_t
3945 * Output : None
3946 * Return : Status [WM8994_ERROR, WM8994_OK]
3947 *******************************************************************************/
3948 int32_t wm8994_spkmixer_dac2r_to_spkmixr(wm8994_ctx_t *ctx, uint16_t value)
3949 {
3950  int32_t ret;
3951  uint16_t tmp = 0;
3952 
3953  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3954 
3955  if(ret == 0)
3956  {
3959 
3960  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3961  }
3962 
3963  return ret;
3964 }
3965 
3966 /*******************************************************************************
3967 * Function Name : wm8994_spkmixer_dac2l_to_spkmixl
3968 * Description : Left DAC2 to SPKMIXL Mute
3969 * Input : uint16_t
3970 * Output : None
3971 * Return : Status [WM8994_ERROR, WM8994_OK]
3972 *******************************************************************************/
3973 int32_t wm8994_spkmixer_dac2l_to_spkmixl(wm8994_ctx_t *ctx, uint16_t value)
3974 {
3975  int32_t ret;
3976  uint16_t tmp = 0;
3977 
3978  ret = wm8994_read_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3979 
3980  if(ret == 0)
3981  {
3984 
3985  ret = wm8994_write_reg(ctx, WM8994_OUTPUT_MIXER_2, &tmp, 2);
3986  }
3987 
3988  return ret;
3989 }
3990 
3991 /*******************************************************************************
3992 * Function Name : wm8994_antipop2_vmid_disch
3993 * Description : Connects VMID to ground
3994 * Input : uint16_t
3995 * Output : None
3996 * Return : Status [WM8994_ERROR, WM8994_OK]
3997 *******************************************************************************/
3998 int32_t wm8994_antipop2_vmid_disch(wm8994_ctx_t *ctx, uint16_t value)
3999 {
4000  int32_t ret;
4001  uint16_t tmp = 0;
4002 
4003  ret = wm8994_read_reg(ctx, WM8994_ANTIPOP2, &tmp, 2);
4004 
4005  if(ret == 0)
4006  {
4008  tmp |= value << WM8994_ANTIPOP2_VMID_DISCH_POSITION;
4009 
4010  ret = wm8994_write_reg(ctx, WM8994_ANTIPOP2, &tmp, 2);
4011  }
4012 
4013  return ret;
4014 }
4015 
4016 /*******************************************************************************
4017 * Function Name : wm8994_antipop2_bias_src
4018 * Description : Selects the bias current source
4019 * Input : uint16_t
4020 * Output : None
4021 * Return : Status [WM8994_ERROR, WM8994_OK]
4022 *******************************************************************************/
4023 int32_t wm8994_antipop2_bias_src(wm8994_ctx_t *ctx, uint16_t value)
4024 {
4025  int32_t ret;
4026  uint16_t tmp = 0;
4027 
4028  ret = wm8994_read_reg(ctx, WM8994_ANTIPOP2, &tmp, 2);
4029 
4030  if(ret == 0)
4031  {
4033  tmp |= value << WM8994_ANTIPOP2_BIAS_SRC_POSITION;
4034 
4035  ret = wm8994_write_reg(ctx, WM8994_ANTIPOP2, &tmp, 2);
4036  }
4037 
4038  return ret;
4039 }
4040 
4041 /*******************************************************************************
4042 * Function Name : wm8994_antipop2_startup_bias_ena
4043 * Description : Enables the Start-Up bias current generator
4044 * Input : uint16_t
4045 * Output : None
4046 * Return : Status [WM8994_ERROR, WM8994_OK]
4047 *******************************************************************************/
4048 int32_t wm8994_antipop2_startup_bias_ena(wm8994_ctx_t *ctx, uint16_t value)
4049 {
4050  int32_t ret;
4051  uint16_t tmp = 0;
4052 
4053  ret = wm8994_read_reg(ctx, WM8994_ANTIPOP2, &tmp, 2);
4054 
4055  if(ret == 0)
4056  {
4059 
4060  ret = wm8994_write_reg(ctx, WM8994_ANTIPOP2, &tmp, 2);
4061  }
4062 
4063  return ret;
4064 }
4065 
4066 /*******************************************************************************
4067 * Function Name : wm8994_antipop2_vmid_buf_ena
4068 * Description : VMID Buffer Enable
4069 * Input : uint16_t
4070 * Output : None
4071 * Return : Status [WM8994_ERROR, WM8994_OK]
4072 *******************************************************************************/
4073 int32_t wm8994_antipop2_vmid_buf_ena(wm8994_ctx_t *ctx, uint16_t value)
4074 {
4075  int32_t ret;
4076  uint16_t tmp = 0;
4077 
4078  ret = wm8994_read_reg(ctx, WM8994_ANTIPOP2, &tmp, 2);
4079 
4080  if(ret == 0)
4081  {
4083  tmp |= value << WM8994_ANTIPOP2_VMID_BUF_ENA_POSITION;
4084 
4085  ret = wm8994_write_reg(ctx, WM8994_ANTIPOP2, &tmp, 2);
4086  }
4087 
4088  return ret;
4089 }
4090 
4091 /*******************************************************************************
4092 * Function Name : wm8994_antipop2_vmid_ramp
4093 * Description : VMID soft start enable / slew rate control
4094 * Input : uint16_t
4095 * Output : None
4096 * Return : Status [WM8994_ERROR, WM8994_OK]
4097 *******************************************************************************/
4098 int32_t wm8994_antipop2_vmid_ramp(wm8994_ctx_t *ctx, uint16_t value)
4099 {
4100  int32_t ret;
4101  uint16_t tmp = 0;
4102 
4103  ret = wm8994_read_reg(ctx, WM8994_ANTIPOP2, &tmp, 2);
4104 
4105  if(ret == 0)
4106  {
4108  tmp |= value << WM8994_ANTIPOP2_VMID_RAMP_POSITION;
4109 
4110  ret = wm8994_write_reg(ctx, WM8994_ANTIPOP2, &tmp, 2);
4111  }
4112 
4113  return ret;
4114 }
4115 
4116 /*******************************************************************************
4117 * Function Name : wm8994_antipop2_micb1_disch
4118 * Description : Microphone Bias 1 Discharge
4119 * Input : uint16_t
4120 * Output : None
4121 * Return : Status [WM8994_ERROR, WM8994_OK]
4122 *******************************************************************************/
4123 int32_t wm8994_antipop2_micb1_disch(wm8994_ctx_t *ctx, uint16_t value)
4124 {
4125  int32_t ret;
4126  uint16_t tmp = 0;
4127 
4128  ret = wm8994_read_reg(ctx, WM8994_ANTIPOP2, &tmp, 2);
4129 
4130  if(ret == 0)
4131  {
4133  tmp |= value << WM8994_ANTIPOP2_MICB1_DISCH_POSITION;
4134 
4135  ret = wm8994_write_reg(ctx, WM8994_ANTIPOP2, &tmp, 2);
4136  }
4137 
4138  return ret;
4139 }
4140 
4141 /*******************************************************************************
4142 * Function Name : wm8994_antipop2_micb2_disch
4143 * Description : Microphone Bias 2 Discharge
4144 * Input : uint16_t
4145 * Output : None
4146 * Return : Status [WM8994_ERROR, WM8994_OK]
4147 *******************************************************************************/
4148 int32_t wm8994_antipop2_micb2_disch(wm8994_ctx_t *ctx, uint16_t value)
4149 {
4150  int32_t ret;
4151  uint16_t tmp = 0;
4152 
4153  ret = wm8994_read_reg(ctx, WM8994_ANTIPOP2, &tmp, 2);
4154 
4155  if(ret == 0)
4156  {
4158  tmp |= value << WM8994_ANTIPOP2_MICB2_DISCH_POSITION;
4159 
4160  ret = wm8994_write_reg(ctx, WM8994_ANTIPOP2, &tmp, 2);
4161  }
4162 
4163  return ret;
4164 }
4165 
4166 /*******************************************************************************
4167 * Function Name : wm8994_charge_pump1_cp_ena
4168 * Description : Enable charge-pump digits
4169 * Input : uint16_t
4170 * Output : None
4171 * Return : Status [WM8994_ERROR, WM8994_OK]
4172 *******************************************************************************/
4173 int32_t wm8994_charge_pump1_cp_ena(wm8994_ctx_t *ctx, uint16_t value)
4174 {
4175  int32_t ret;
4176  uint16_t tmp = 0;
4177 
4178  ret = wm8994_read_reg(ctx, WM8994_CHARGE_PUMP1, &tmp, 2);
4179 
4180  if(ret == 0)
4181  {
4183  tmp |= value << WM8994_CHARGE_PUMP1_CP_ENA_POSITION;
4184 
4185  ret = wm8994_write_reg(ctx, WM8994_CHARGE_PUMP1, &tmp, 2);
4186  }
4187 
4188  return ret;
4189 }
4190 
4191 /*******************************************************************************
4192 * Function Name : wm8994_charge_pump2_cp_disch
4193 * Description : Charge Pump Discharge Select
4194 * Input : uint16_t
4195 * Output : None
4196 * Return : Status [WM8994_ERROR, WM8994_OK]
4197 *******************************************************************************/
4198 int32_t wm8994_charge_pump2_cp_disch(wm8994_ctx_t *ctx, uint16_t value)
4199 {
4200  int32_t ret;
4201  uint16_t tmp = 0;
4202 
4203  ret = wm8994_read_reg(ctx, WM8994_CHARGE_PUMP2, &tmp, 2);
4204 
4205  if(ret == 0)
4206  {
4208  tmp |= value << WM8994_CHARGE_PUMP2_CP_DISCH_POSITION;
4209 
4210  ret = wm8994_write_reg(ctx, WM8994_CHARGE_PUMP2, &tmp, 2);
4211  }
4212 
4213  return ret;
4214 }
4215 
4216 /*******************************************************************************
4217 * Function Name : wm8994_class_w_cp_dyn_pwr
4218 * Description : Enable dynamic charge pump power control
4219 * Input : uint16_t
4220 * Output : None
4221 * Return : Status [WM8994_ERROR, WM8994_OK]
4222 *******************************************************************************/
4223 int32_t wm8994_class_w_cp_dyn_pwr(wm8994_ctx_t *ctx, uint16_t value)
4224 {
4225  int32_t ret;
4226  uint16_t tmp = 0;
4227 
4228  ret = wm8994_read_reg(ctx, WM8994_CLASS_W, &tmp, 2);
4229 
4230  if(ret == 0)
4231  {
4233  tmp |= value << WM8994_CLASS_W_CP_DYN_PWR_POSITION;
4234 
4235  ret = wm8994_write_reg(ctx, WM8994_CLASS_W, &tmp, 2);
4236  }
4237 
4238  return ret;
4239 }
4240 
4241 /*******************************************************************************
4242 * Function Name : wm8994_class_w_cp_dyn_src_sel
4243 * Description : Selects the digital audio source for envelope tracking
4244 * Input : uint16_t
4245 * Output : None
4246 * Return : Status [WM8994_ERROR, WM8994_OK]
4247 *******************************************************************************/
4248 int32_t wm8994_class_w_cp_dyn_src_sel(wm8994_ctx_t *ctx, uint16_t value)
4249 {
4250  int32_t ret;
4251  uint16_t tmp = 0;
4252 
4253  ret = wm8994_read_reg(ctx, WM8994_CLASS_W, &tmp, 2);
4254 
4255  if(ret == 0)
4256  {
4259 
4260  ret = wm8994_write_reg(ctx, WM8994_CLASS_W, &tmp, 2);
4261  }
4262 
4263  return ret;
4264 }
4265 
4266 /*******************************************************************************
4267 * Function Name : wm8994_dc_servo1_dcs_ena_chan_0
4268 * Description : DC Servo enable for HPOUT1L
4269 * Input : uint16_t
4270 * Output : None
4271 * Return : Status [WM8994_ERROR, WM8994_OK]
4272 *******************************************************************************/
4273 int32_t wm8994_dc_servo1_dcs_ena_chan_0(wm8994_ctx_t *ctx, uint16_t value)
4274 {
4275  int32_t ret;
4276  uint16_t tmp = 0;
4277 
4278  ret = wm8994_read_reg(ctx, WM8994_DC_SERVO1, &tmp, 2);
4279 
4280  if(ret == 0)
4281  {
4284 
4285  ret = wm8994_write_reg(ctx, WM8994_DC_SERVO1, &tmp, 2);
4286  }
4287 
4288  return ret;
4289 }
4290 
4291 /*******************************************************************************
4292 * Function Name : wm8994_dc_servo1_dcs_ena_chan_1
4293 * Description : DC Servo enable for HPOUT1R
4294 * Input : uint16_t
4295 * Output : None
4296 * Return : Status [WM8994_ERROR, WM8994_OK]
4297 *******************************************************************************/
4298 int32_t wm8994_dc_servo1_dcs_ena_chan_1(wm8994_ctx_t *ctx, uint16_t value)
4299 {
4300  int32_t ret;
4301  uint16_t tmp = 0;
4302 
4303  ret = wm8994_read_reg(ctx, WM8994_DC_SERVO1, &tmp, 2);
4304 
4305  if(ret == 0)
4306  {
4309 
4310  ret = wm8994_write_reg(ctx, WM8994_DC_SERVO1, &tmp, 2);
4311  }
4312 
4313  return ret;
4314 }
4315 
4316 /*******************************************************************************
4317 * Function Name : wm8994_dc_servo1_dcs_trig_dac_wr_0
4318 * Description : Writing 1 to this bit selects DAC Write DC Servo mode for HPOUT1L.
4319 * Input : uint16_t
4320 * Output : None
4321 * Return : Status [WM8994_ERROR, WM8994_OK]
4322 *******************************************************************************/
4324 {
4325  int32_t ret;
4326  uint16_t tmp = 0;
4327 
4328  ret = wm8994_read_reg(ctx, WM8994_DC_SERVO1, &tmp, 2);
4329 
4330  if(ret == 0)
4331  {
4334 
4335  ret = wm8994_write_reg(ctx, WM8994_DC_SERVO1, &tmp, 2);
4336  }
4337 
4338  return ret;
4339 }
4340 
4341 /*******************************************************************************
4342 * Function Name : wm8994_dc_servo1_dcs_trig_dac_wr_1
4343 * Description : Writing 1 to this bit selects DAC Write DC Servo mode for HPOUT1R.
4344 * Input : uint16_t
4345 * Output : None
4346 * Return : Status [WM8994_ERROR, WM8994_OK]
4347 *******************************************************************************/
4349 {
4350  int32_t ret;
4351  uint16_t tmp = 0;
4352 
4353  ret = wm8994_read_reg(ctx, WM8994_DC_SERVO1, &tmp, 2);
4354 
4355  if(ret == 0)
4356  {
4359 
4360  ret = wm8994_write_reg(ctx, WM8994_DC_SERVO1, &tmp, 2);
4361  }
4362 
4363  return ret;
4364 }
4365 
4366 /*******************************************************************************
4367 * Function Name : wm8994_dc_servo1_dcs_trig_startup_0
4368 * Description : Writing 1 to this bit selects Start-Up DC Servo mode for HPOUT1L.
4369 * Input : uint16_t
4370 * Output : None
4371 * Return : Status [WM8994_ERROR, WM8994_OK]
4372 *******************************************************************************/
4374 {
4375  int32_t ret;
4376  uint16_t tmp = 0;
4377 
4378  ret = wm8994_read_reg(ctx, WM8994_DC_SERVO1, &tmp, 2);
4379 
4380  if(ret == 0)
4381  {
4384 
4385  ret = wm8994_write_reg(ctx, WM8994_DC_SERVO1, &tmp, 2);
4386  }
4387 
4388  return ret;
4389 }
4390 
4391 /*******************************************************************************
4392 * Function Name : wm8994_dc_servo1_dcs_trig_startup_1
4393 * Description : Writing 1 to this bit selects Start-Up DC Servo mode for HPOUT1R.
4394 * Input : uint16_t
4395 * Output : None
4396 * Return : Status [WM8994_ERROR, WM8994_OK]
4397 *******************************************************************************/
4399 {
4400  int32_t ret;
4401  uint16_t tmp = 0;
4402 
4403  ret = wm8994_read_reg(ctx, WM8994_DC_SERVO1, &tmp, 2);
4404 
4405  if(ret == 0)
4406  {
4409 
4410  ret = wm8994_write_reg(ctx, WM8994_DC_SERVO1, &tmp, 2);
4411  }
4412 
4413  return ret;
4414 }
4415 
4416 /*******************************************************************************
4417 * Function Name : wm8994_dc_servo1_dcs_trig_series_0
4418 * Description : Writing 1 to this bit selects a series of DC offset corrections
4419 * for HPOUT1L.
4420 * Input : uint16_t
4421 * Output : None
4422 * Return : Status [WM8994_ERROR, WM8994_OK]
4423 *******************************************************************************/
4425 {
4426  int32_t ret;
4427  uint16_t tmp = 0;
4428 
4429  ret = wm8994_read_reg(ctx, WM8994_DC_SERVO1, &tmp, 2);
4430 
4431  if(ret == 0)
4432  {
4435 
4436  ret = wm8994_write_reg(ctx, WM8994_DC_SERVO1, &tmp, 2);
4437  }
4438 
4439  return ret;
4440 }
4441 
4442 /*******************************************************************************
4443 * Function Name : wm8994_dc_servo1_dcs_trig_series_1
4444 * Description : Writing 1 to this bit selects a series of DC offset corrections
4445 * for HPOUT1R.
4446 * Input : uint16_t
4447 * Output : None
4448 * Return : Status [WM8994_ERROR, WM8994_OK]
4449 *******************************************************************************/
4451 {
4452  int32_t ret;
4453  uint16_t tmp = 0;
4454 
4455  ret = wm8994_read_reg(ctx, WM8994_DC_SERVO1, &tmp, 2);
4456 
4457  if(ret == 0)
4458  {
4461 
4462  ret = wm8994_write_reg(ctx, WM8994_DC_SERVO1, &tmp, 2);
4463  }
4464 
4465  return ret;
4466 }
4467 
4468 /*******************************************************************************
4469 * Function Name : wm8994_dc_servo1_dcs_trig_single_0
4470 * Description : Writing 1 to this bit selects a single DC offset corrections
4471 * for HPOUT1L.
4472 * Input : uint16_t
4473 * Output : None
4474 * Return : Status [WM8994_ERROR, WM8994_OK]
4475 *******************************************************************************/
4477 {
4478  int32_t ret;
4479  uint16_t tmp = 0;
4480 
4481  ret = wm8994_read_reg(ctx, WM8994_DC_SERVO1, &tmp, 2);
4482 
4483  if(ret == 0)
4484  {
4487 
4488  ret = wm8994_write_reg(ctx, WM8994_DC_SERVO1, &tmp, 2);
4489  }
4490 
4491  return ret;
4492 }
4493 
4494 /*******************************************************************************
4495 * Function Name : wm8994_dc_servo1_dcs_trig_single_1
4496 * Description : Writing 1 to this bit selects a single DC offset corrections
4497 * for HPOUT1R.
4498 * Input : uint16_t
4499 * Output : None
4500 * Return : Status [WM8994_ERROR, WM8994_OK]
4501 *******************************************************************************/
4503 {
4504  int32_t ret;
4505  uint16_t tmp = 0;
4506 
4507  ret = wm8994_read_reg(ctx, WM8994_DC_SERVO1, &tmp, 2);
4508 
4509  if(ret == 0)
4510  {
4513 
4514  ret = wm8994_write_reg(ctx, WM8994_DC_SERVO1, &tmp, 2);
4515  }
4516 
4517  return ret;
4518 }
4519 
4520 /*******************************************************************************
4521 * Function Name : wm8994_analog_hp_hpout1r_dly
4522 * Description : Enables HPOUT1R intermediate stage
4523 * Input : uint16_t
4524 * Output : None
4525 * Return : Status [WM8994_ERROR, WM8994_OK]
4526 *******************************************************************************/
4527 int32_t wm8994_analog_hp_hpout1r_dly(wm8994_ctx_t *ctx, uint16_t value)
4528 {
4529  int32_t ret;
4530  uint16_t tmp = 0;
4531 
4532  ret = wm8994_read_reg(ctx, WM8994_ANALOG_HP, &tmp, 2);
4533 
4534  if(ret == 0)
4535  {
4537  tmp |= value << WM8994_ANALOG_HP_HPOUT1R_DLY_POSITION;
4538 
4539  ret = wm8994_write_reg(ctx, WM8994_ANALOG_HP, &tmp, 2);
4540  }
4541 
4542  return ret;
4543 }
4544 
4545 /*******************************************************************************
4546 * Function Name : wm8994_analog_hp_hpout1r_outp
4547 * Description : Enables HPOUT1R output stage
4548 * Input : uint16_t
4549 * Output : None
4550 * Return : Status [WM8994_ERROR, WM8994_OK]
4551 *******************************************************************************/
4552 int32_t wm8994_analog_hp_hpout1r_outp(wm8994_ctx_t *ctx, uint16_t value)
4553 {
4554  int32_t ret;
4555  uint16_t tmp = 0;
4556 
4557  ret = wm8994_read_reg(ctx, WM8994_ANALOG_HP, &tmp, 2);
4558 
4559  if(ret == 0)
4560  {
4563 
4564  ret = wm8994_write_reg(ctx, WM8994_ANALOG_HP, &tmp, 2);
4565  }
4566 
4567  return ret;
4568 }
4569 
4570 /*******************************************************************************
4571 * Function Name : wm8994_analog_hp_hpout1r_rmv_short
4572 * Description : Removes HPOUT1R short
4573 * Input : uint16_t
4574 * Output : None
4575 * Return : Status [WM8994_ERROR, WM8994_OK]
4576 *******************************************************************************/
4578 {
4579  int32_t ret;
4580  uint16_t tmp = 0;
4581 
4582  ret = wm8994_read_reg(ctx, WM8994_ANALOG_HP, &tmp, 2);
4583 
4584  if(ret == 0)
4585  {
4588 
4589  ret = wm8994_write_reg(ctx, WM8994_ANALOG_HP, &tmp, 2);
4590  }
4591 
4592  return ret;
4593 }
4594 
4595 /*******************************************************************************
4596 * Function Name : wm8994_analog_hp_hpout1l_dly
4597 * Description : Enables HPOUT1L intermediate stage
4598 * Input : uint16_t
4599 * Output : None
4600 * Return : Status [WM8994_ERROR, WM8994_OK]
4601 *******************************************************************************/
4602 int32_t wm8994_analog_hp_hpout1l_dly(wm8994_ctx_t *ctx, uint16_t value)
4603 {
4604  int32_t ret;
4605  uint16_t tmp = 0;
4606 
4607  ret = wm8994_read_reg(ctx, WM8994_ANALOG_HP, &tmp, 2);
4608 
4609  if(ret == 0)
4610  {
4612  tmp |= value << WM8994_ANALOG_HP_HPOUT1L_DLY_POSITION;
4613 
4614  ret = wm8994_write_reg(ctx, WM8994_ANALOG_HP, &tmp, 2);
4615  }
4616 
4617  return ret;
4618 }
4619 
4620 /*******************************************************************************
4621 * Function Name : wm8994_analog_hp_hpout1l_outp
4622 * Description : Enables HPOUT1L output stage
4623 * Input : uint16_t
4624 * Output : None
4625 * Return : Status [WM8994_ERROR, WM8994_OK]
4626 *******************************************************************************/
4627 int32_t wm8994_analog_hp_hpout1l_outp(wm8994_ctx_t *ctx, uint16_t value)
4628 {
4629  int32_t ret;
4630  uint16_t tmp = 0;
4631 
4632  ret = wm8994_read_reg(ctx, WM8994_ANALOG_HP, &tmp, 2);
4633 
4634  if(ret == 0)
4635  {
4638 
4639  ret = wm8994_write_reg(ctx, WM8994_ANALOG_HP, &tmp, 2);
4640  }
4641 
4642  return ret;
4643 }
4644 
4645 /*******************************************************************************
4646 * Function Name : wm8994_analog_hp_hpout1l_rmv_short
4647 * Description : Removes HPOUT1L short
4648 * Input : uint16_t
4649 * Output : None
4650 * Return : Status [WM8994_ERROR, WM8994_OK]
4651 *******************************************************************************/
4653 {
4654  int32_t ret;
4655  uint16_t tmp = 0;
4656 
4657  ret = wm8994_read_reg(ctx, WM8994_ANALOG_HP, &tmp, 2);
4658 
4659  if(ret == 0)
4660  {
4663 
4664  ret = wm8994_write_reg(ctx, WM8994_ANALOG_HP, &tmp, 2);
4665  }
4666 
4667  return ret;
4668 }
4669 
4670 /*******************************************************************************
4671 * Function Name : wm8994_wseq_ctrl1_start_index
4672 * Description : Sequence Start Index. This field determines the memory location
4673 * of the first command in the selected sequence.
4674 * There are 127 Write Sequencer RAM addresses
4675 * Input : uint16_t
4676 * Output : None
4677 * Return : Status [WM8994_ERROR, WM8994_OK]
4678 *******************************************************************************/
4679 int32_t wm8994_wseq_ctrl1_start_index(wm8994_ctx_t *ctx, uint16_t value)
4680 {
4681  int32_t ret;
4682  uint16_t tmp = 0;
4683 
4684  ret = wm8994_read_reg(ctx, WM8994_WRITE_SEQ_CTRL1, &tmp, 2);
4685 
4686  if(ret == 0)
4687  {
4690 
4691  ret = wm8994_write_reg(ctx, WM8994_WRITE_SEQ_CTRL1, &tmp, 2);
4692  }
4693 
4694  return ret;
4695 }
4696 
4697 /*******************************************************************************
4698 * Function Name : wm8994_wseq_ctrl1_start
4699 * Description : Writing a 1 to this bit starts the write sequencer at the
4700 * index location selected by WSEQ_START_INDEX. The sequence
4701 * continues until it reaches an “End of sequence� flag. At the end
4702 * of the sequence, this bit will be reset by the Write Sequencer.
4703 * Input : uint16_t
4704 * Output : None
4705 * Return : Status [WM8994_ERROR, WM8994_OK]
4706 *******************************************************************************/
4707 int32_t wm8994_wseq_ctrl1_start(wm8994_ctx_t *ctx, uint16_t value)
4708 {
4709  int32_t ret;
4710  uint16_t tmp = 0;
4711 
4712  ret = wm8994_read_reg(ctx, WM8994_WRITE_SEQ_CTRL1, &tmp, 2);
4713 
4714  if(ret == 0)
4715  {
4717  tmp |= value << WM8994_WSEQ_CTRL1_START_POSITION;
4718 
4719  ret = wm8994_write_reg(ctx, WM8994_WRITE_SEQ_CTRL1, &tmp, 2);
4720  }
4721 
4722  return ret;
4723 }
4724 
4725 /*******************************************************************************
4726 * Function Name : wm8994_wseq_ctrl1_abort
4727 * Description : Writing a 1 to this bit aborts the current sequence and returns
4728 * control of the device back to the serial control interface.
4729 * Input : uint16_t
4730 * Output : None
4731 * Return : Status [WM8994_ERROR, WM8994_OK]
4732 *******************************************************************************/
4733 int32_t wm8994_wseq_ctrl1_abort(wm8994_ctx_t *ctx, uint16_t value)
4734 {
4735  int32_t ret;
4736  uint16_t tmp = 0;
4737 
4738  ret = wm8994_read_reg(ctx, WM8994_WRITE_SEQ_CTRL1, &tmp, 2);
4739 
4740  if(ret == 0)
4741  {
4743  tmp |= value << WM8994_WSEQ_CTRL1_ABORT_POSITION;
4744 
4745  ret = wm8994_write_reg(ctx, WM8994_WRITE_SEQ_CTRL1, &tmp, 2);
4746  }
4747 
4748  return ret;
4749 }
4750 
4751 /*******************************************************************************
4752 * Function Name : wm8994_wseq_ctrl1_ena
4753 * Description : Write Sequencer Enable.
4754 * Input : uint16_t
4755 * Output : None
4756 * Return : Status [WM8994_ERROR, WM8994_OK]
4757 *******************************************************************************/
4758 int32_t wm8994_wseq_ctrl1_ena(wm8994_ctx_t *ctx, uint16_t value)
4759 {
4760  int32_t ret;
4761  uint16_t tmp = 0;
4762 
4763  ret = wm8994_read_reg(ctx, WM8994_WRITE_SEQ_CTRL1, &tmp, 2);
4764 
4765  if(ret == 0)
4766  {
4768  tmp |= value << WM8994_WSEQ_CTRL1_ENA_POSITION;
4769 
4770  ret = wm8994_write_reg(ctx, WM8994_WRITE_SEQ_CTRL1, &tmp, 2);
4771  }
4772 
4773  return ret;
4774 }
4775 
4776 /*******************************************************************************
4777 * Function Name : wm8994_aif1_clocking1_ena
4778 * Description : AIF1CLK Enable
4779 * Input : uint16_t
4780 * Output : None
4781 * Return : Status [WM8994_ERROR, WM8994_OK]
4782 *******************************************************************************/
4783 int32_t wm8994_aif1_clocking1_ena(wm8994_ctx_t *ctx, uint16_t value)
4784 {
4785  int32_t ret;
4786  uint16_t tmp = 0;
4787 
4788  ret = wm8994_read_reg(ctx, WM8994_AIF1_CLOCKING1, &tmp, 2);
4789 
4790  if(ret == 0)
4791  {
4793  tmp |= value << WM8994_AIF1_CLOCKING1_ENA_POSITION;
4794 
4795  ret = wm8994_write_reg(ctx, WM8994_AIF1_CLOCKING1, &tmp, 2);
4796  }
4797 
4798  return ret;
4799 }
4800 
4801 /*******************************************************************************
4802 * Function Name : wm8994_aif1_clocking1_div
4803 * Description : AIF1CLK Divider
4804 * Input : uint16_t
4805 * Output : None
4806 * Return : Status [WM8994_ERROR, WM8994_OK]
4807 *******************************************************************************/
4808 int32_t wm8994_aif1_clocking1_div(wm8994_ctx_t *ctx, uint16_t value)
4809 {
4810  int32_t ret;
4811  uint16_t tmp = 0;
4812 
4813  ret = wm8994_read_reg(ctx, WM8994_AIF1_CLOCKING1, &tmp, 2);
4814 
4815  if(ret == 0)
4816  {
4818  tmp |= value << WM8994_AIF1_CLOCKING1_DIV_POSITION;
4819 
4820  ret = wm8994_write_reg(ctx, WM8994_AIF1_CLOCKING1, &tmp, 2);
4821  }
4822 
4823  return ret;
4824 }
4825 
4826 /*******************************************************************************
4827 * Function Name : wm8994_aif1_clocking1_inv
4828 * Description : AIF1CLK Invert
4829 * Input : uint16_t
4830 * Output : None
4831 * Return : Status [WM8994_ERROR, WM8994_OK]
4832 *******************************************************************************/
4833 int32_t wm8994_aif1_clocking1_inv(wm8994_ctx_t *ctx, uint16_t value)
4834 {
4835  int32_t ret;
4836  uint16_t tmp = 0;
4837 
4838  ret = wm8994_read_reg(ctx, WM8994_AIF1_CLOCKING1, &tmp, 2);
4839 
4840  if(ret == 0)
4841  {
4843  tmp |= value << WM8994_AIF1_CLOCKING1_INV_POSITION;
4844 
4845  ret = wm8994_write_reg(ctx, WM8994_AIF1_CLOCKING1, &tmp, 2);
4846  }
4847 
4848  return ret;
4849 }
4850 
4851 /*******************************************************************************
4852 * Function Name : wm8994_aif1_clocking1_src
4853 * Description : AIF1CLK Source Select
4854 * Input : uint16_t
4855 * Output : None
4856 * Return : Status [WM8994_ERROR, WM8994_OK]
4857 *******************************************************************************/
4858 int32_t wm8994_aif1_clocking1_src(wm8994_ctx_t *ctx, uint16_t value)
4859 {
4860  int32_t ret;
4861  uint16_t tmp = 0;
4862 
4863  ret = wm8994_read_reg(ctx, WM8994_AIF1_CLOCKING1, &tmp, 2);
4864 
4865  if(ret == 0)
4866  {
4868  tmp |= value << WM8994_AIF1_CLOCKING1_SRC_POSITION;
4869 
4870  ret = wm8994_write_reg(ctx, WM8994_AIF1_CLOCKING1, &tmp, 2);
4871  }
4872 
4873  return ret;
4874 }
4875 
4876 /*******************************************************************************
4877 * Function Name : wm8994_clocking1_sysclk_src
4878 * Description : SYSCLK Source Select
4879 * Input : uint16_t
4880 * Output : None
4881 * Return : Status [WM8994_ERROR, WM8994_OK]
4882 *******************************************************************************/
4883 int32_t wm8994_clocking1_sysclk_src(wm8994_ctx_t *ctx, uint16_t value)
4884 {
4885  int32_t ret;
4886  uint16_t tmp = 0;
4887 
4888  ret = wm8994_read_reg(ctx, WM8994_CLOCKING1, &tmp, 2);
4889 
4890  if(ret == 0)
4891  {
4893  tmp |= value << WM8994_CLOCKING1_SYSCLK_SRC_POSITION;
4894 
4895  ret = wm8994_write_reg(ctx, WM8994_CLOCKING1, &tmp, 2);
4896  }
4897 
4898  return ret;
4899 }
4900 
4901 /*******************************************************************************
4902 * Function Name : wm8994_clocking1_sysdspclk_ena
4903 * Description : Digital Mixing Processor Clock Enable
4904 * Input : uint16_t
4905 * Output : None
4906 * Return : Status [WM8994_ERROR, WM8994_OK]
4907 *******************************************************************************/
4908 int32_t wm8994_clocking1_sysdspclk_ena(wm8994_ctx_t *ctx, uint16_t value)
4909 {
4910  int32_t ret;
4911  uint16_t tmp = 0;
4912 
4913  ret = wm8994_read_reg(ctx, WM8994_CLOCKING1, &tmp, 2);
4914 
4915  if(ret == 0)
4916  {
4919 
4920  ret = wm8994_write_reg(ctx, WM8994_CLOCKING1, &tmp, 2);
4921  }
4922 
4923  return ret;
4924 }
4925 
4926 /*******************************************************************************
4927 * Function Name : wm8994_clocking1_aif2dspclk_ena
4928 * Description : AIF2 Processing Clock Enable
4929 * Input : uint16_t
4930 * Output : None
4931 * Return : Status [WM8994_ERROR, WM8994_OK]
4932 *******************************************************************************/
4933 int32_t wm8994_clocking1_aif2dspclk_ena(wm8994_ctx_t *ctx, uint16_t value)
4934 {
4935  int32_t ret;
4936  uint16_t tmp = 0;
4937 
4938  ret = wm8994_read_reg(ctx, WM8994_CLOCKING1, &tmp, 2);
4939 
4940  if(ret == 0)
4941  {
4944 
4945  ret = wm8994_write_reg(ctx, WM8994_CLOCKING1, &tmp, 2);
4946  }
4947 
4948  return ret;
4949 }
4950 
4951 /*******************************************************************************
4952 * Function Name : wm8994_clocking1_aif1dspclk_ena
4953 * Description : AIF1 Processing Clock Enable
4954 * Input : uint16_t
4955 * Output : None
4956 * Return : Status [WM8994_ERROR, WM8994_OK]
4957 *******************************************************************************/
4958 int32_t wm8994_clocking1_aif1dspclk_ena(wm8994_ctx_t *ctx, uint16_t value)
4959 {
4960  int32_t ret;
4961  uint16_t tmp = 0;
4962 
4963  ret = wm8994_read_reg(ctx, WM8994_CLOCKING1, &tmp, 2);
4964 
4965  if(ret == 0)
4966  {
4969 
4970  ret = wm8994_write_reg(ctx, WM8994_CLOCKING1, &tmp, 2);
4971  }
4972 
4973  return ret;
4974 }
4975 
4976 /*******************************************************************************
4977 * Function Name : wm8994_clocking1_toclk_ena
4978 * Description : Slow Clock (TOCLK) Enable
4979 * Input : uint16_t
4980 * Output : None
4981 * Return : Status [WM8994_ERROR, WM8994_OK]
4982 *******************************************************************************/
4983 int32_t wm8994_clocking1_toclk_ena(wm8994_ctx_t *ctx, uint16_t value)
4984 {
4985  int32_t ret;
4986  uint16_t tmp = 0;
4987 
4988  ret = wm8994_read_reg(ctx, WM8994_CLOCKING1, &tmp, 2);
4989 
4990  if(ret == 0)
4991  {
4993  tmp |= value << WM8994_CLOCKING1_TOCLK_ENA_POSITION;
4994 
4995  ret = wm8994_write_reg(ctx, WM8994_CLOCKING1, &tmp, 2);
4996  }
4997 
4998  return ret;
4999 }
5000 
5001 /*******************************************************************************
5002 * Function Name : wm8994_clocking2_opclk_div
5003 * Description : GPIO Output Clock (OPCLK) Divider
5004 * Input : uint16_t
5005 * Output : None
5006 * Return : Status [WM8994_ERROR, WM8994_OK]
5007 *******************************************************************************/
5008 int32_t wm8994_clocking2_opclk_div(wm8994_ctx_t *ctx, uint16_t value)
5009 {
5010  int32_t ret;
5011  uint16_t tmp = 0;
5012 
5013  ret = wm8994_read_reg(ctx, WM8994_CLOCKING2, &tmp, 2);
5014 
5015  if(ret == 0)
5016  {
5018  tmp |= value << WM8994_CLOCKING2_OPCLK_DIV_POSITION;
5019 
5020  ret = wm8994_write_reg(ctx, WM8994_CLOCKING2, &tmp, 2);
5021  }
5022 
5023  return ret;
5024 }
5025 
5026 /*******************************************************************************
5027 * Function Name : wm8994_clocking2_dbclk_div
5028 * Description : De-bounce Clock (DBCLK) Divider
5029 * Input : uint16_t
5030 * Output : None
5031 * Return : Status [WM8994_ERROR, WM8994_OK]
5032 *******************************************************************************/
5033 int32_t wm8994_clocking2_dbclk_div(wm8994_ctx_t *ctx, uint16_t value)
5034 {
5035  int32_t ret;
5036  uint16_t tmp = 0;
5037 
5038  ret = wm8994_read_reg(ctx, WM8994_CLOCKING2, &tmp, 2);
5039 
5040  if(ret == 0)
5041  {
5043  tmp |= value << WM8994_CLOCKING2_DBCLK_DIV_POSITION;
5044 
5045  ret = wm8994_write_reg(ctx, WM8994_CLOCKING2, &tmp, 2);
5046  }
5047 
5048  return ret;
5049 }
5050 
5051 /*******************************************************************************
5052 * Function Name : wm8994_clocking2_toclk_div
5053 * Description : Slow Clock (TOCLK ) Divider
5054 * Input : uint16_t
5055 * Output : None
5056 * Return : Status [WM8994_ERROR, WM8994_OK]
5057 *******************************************************************************/
5058 int32_t wm8994_clocking2_toclk_div(wm8994_ctx_t *ctx, uint16_t value)
5059 {
5060  int32_t ret;
5061  uint16_t tmp = 0;
5062 
5063  ret = wm8994_read_reg(ctx, WM8994_CLOCKING2, &tmp, 2);
5064 
5065  if(ret == 0)
5066  {
5068  tmp |= value << WM8994_CLOCKING2_TOCLK_DIV_POSITION;
5069 
5070  ret = wm8994_write_reg(ctx, WM8994_CLOCKING2, &tmp, 2);
5071  }
5072 
5073  return ret;
5074 }
5075 
5076 /*******************************************************************************
5077 * Function Name : wm8994_aif1_clk_rate
5078 * Description : Selects the AIF1CLK / fs ratio
5079 * Input : uint16_t
5080 * Output : None
5081 * Return : Status [WM8994_ERROR, WM8994_OK]
5082 *******************************************************************************/
5083 int32_t wm8994_aif1_clk_rate(wm8994_ctx_t *ctx, uint16_t value)
5084 {
5085  int32_t ret;
5086  uint16_t tmp = 0;
5087 
5088  ret = wm8994_read_reg(ctx, WM8994_AIF1_RATE, &tmp, 2);
5089 
5090  if(ret == 0)
5091  {
5092  tmp &= ~WM8994_AIF1_CLK_RATE_MASK;
5093  tmp |= value << WM8994_AIF1_CLK_RATE_POSITION;
5094 
5095  ret = wm8994_write_reg(ctx, WM8994_AIF1_RATE, &tmp, 2);
5096  }
5097 
5098  return ret;
5099 }
5100 
5101 /*******************************************************************************
5102 * Function Name : wm8994_aif1_sr
5103 * Description : Selects the AIF1 Sample Rate (fs)
5104 * Input : uint16_t
5105 * Output : None
5106 * Return : Status [WM8994_ERROR, WM8994_OK]
5107 *******************************************************************************/
5108 int32_t wm8994_aif1_sr(wm8994_ctx_t *ctx, uint16_t value)
5109 {
5110  int32_t ret;
5111  uint16_t tmp = 0;
5112 
5113  ret = wm8994_read_reg(ctx, WM8994_AIF1_RATE, &tmp, 2);
5114 
5115  if(ret == 0)
5116  {
5117  tmp &= ~WM8994_AIF1_SR_MASK;
5118  tmp |= value << WM8994_AIF1_SR_POSITION;
5119 
5120  ret = wm8994_write_reg(ctx, WM8994_AIF1_RATE, &tmp, 2);
5121  }
5122 
5123  return ret;
5124 }
5125 
5126 /*******************************************************************************
5127 * Function Name : wm8994_aif1_sr_r
5128 * Description : Get the AIF1 Sample Rate (fs)
5129 * Input : uint16_t
5130 * Output : None
5131 * Return : Status [WM8994_ERROR, WM8994_OK]
5132 *******************************************************************************/
5133 int32_t wm8994_aif1_sr_r(wm8994_ctx_t *ctx, uint16_t *value)
5134 {
5135  int32_t ret;
5136 
5137  ret = wm8994_read_reg(ctx, WM8994_AIF1_RATE, value, 2);
5138 
5139  if(ret == 0)
5140  {
5141  *value &= WM8994_AIF1_SR_MASK;
5142  *value = *value >> WM8994_AIF1_SR_POSITION;
5143  }
5144 
5145  return ret;
5146 }
5147 
5148 /*******************************************************************************
5149 * Function Name : wm8994_aif1_control1_fmt
5150 * Description : Set AIF1 Digital Audio Interface Format
5151 * Input : uint16_t
5152 * Output : None
5153 * Return : Status [WM8994_ERROR, WM8994_OK]
5154 *******************************************************************************/
5155 int32_t wm8994_aif1_control1_fmt(wm8994_ctx_t *ctx, uint16_t value)
5156 {
5157  int32_t ret;
5158  uint16_t tmp = 0;
5159 
5160  ret = wm8994_read_reg(ctx, WM8994_AIF1_CONTROL1, &tmp, 2);
5161 
5162  if(ret == 0)
5163  {
5165  tmp |= value << WM8994_AIF1_CONTROL1_FMT_POSITION;
5166 
5167  ret = wm8994_write_reg(ctx, WM8994_AIF1_CONTROL1, &tmp, 2);
5168  }
5169 
5170  return ret;
5171 }
5172 
5173 /*******************************************************************************
5174 * Function Name : wm8994_aif1_control1_fmt_r
5175 * Description : Get AIF1 Digital Audio Interface Format
5176 * Input : uint16_t
5177 * Output : None
5178 * Return : Status [WM8994_ERROR, WM8994_OK]
5179 *******************************************************************************/
5180 int32_t wm8994_aif1_control1_fmt_r(wm8994_ctx_t *ctx, uint16_t *value)
5181 {
5182  int32_t ret;
5183 
5184  ret = wm8994_read_reg(ctx, WM8994_AIF1_CONTROL1, value, 2);
5185 
5186  if(ret == 0)
5187  {
5189  *value = *value >> WM8994_AIF1_CONTROL1_FMT_POSITION;
5190  }
5191 
5192  return ret;
5193 }
5194 
5195 /*******************************************************************************
5196 * Function Name : wm8994_aif1_control1_wl
5197 * Description : Set AIF1 Digital Audio Interface Word length
5198 * Input : uint16_t
5199 * Output : None
5200 * Return : Status [WM8994_ERROR, WM8994_OK]
5201 *******************************************************************************/
5202 int32_t wm8994_aif1_control1_wl(wm8994_ctx_t *ctx, uint16_t value)
5203 {
5204  int32_t ret;
5205  uint16_t tmp = 0;
5206 
5207  ret = wm8994_read_reg(ctx, WM8994_AIF1_CONTROL1, &tmp, 2);
5208 
5209  if(ret == 0)
5210  {
5212  tmp |= value << WM8994_AIF1_CONTROL1_WL_POSITION;
5213 
5214  ret = wm8994_write_reg(ctx, WM8994_AIF1_CONTROL1, &tmp, 2);
5215  }
5216 
5217  return ret;
5218 }
5219 
5220 /*******************************************************************************
5221 * Function Name : wm8994_aif1_control1_wl_r
5222 * Description : Get AIF1 Digital Audio Interface Word length
5223 * Input : uint16_t
5224 * Output : None
5225 * Return : Status [WM8994_ERROR, WM8994_OK]
5226 *******************************************************************************/
5227 int32_t wm8994_aif1_control1_wl_r(wm8994_ctx_t *ctx, uint16_t *value)
5228 {
5229  int32_t ret;
5230 
5231  ret = wm8994_read_reg(ctx, WM8994_AIF1_CONTROL1, value, 2);
5232 
5233  if(ret == 0)
5234  {
5235  *value &= WM8994_AIF1_CONTROL1_WL_MASK;
5236  *value = *value >> WM8994_AIF1_CONTROL1_WL_POSITION;
5237  }
5238 
5239  return ret;
5240 }
5241 
5242 /*******************************************************************************
5243 * Function Name : wm8994_aif1_control1_lrclk_inv
5244 * Description : Right, left and I2S modes – LRCLK1 polarity
5245 * Input : uint16_t
5246 * Output : None
5247 * Return : Status [WM8994_ERROR, WM8994_OK]
5248 *******************************************************************************/
5249 int32_t wm8994_aif1_control1_lrclk_inv(wm8994_ctx_t *ctx, uint16_t value)
5250 {
5251  int32_t ret;
5252  uint16_t tmp = 0;
5253 
5254  ret = wm8994_read_reg(ctx, WM8994_AIF1_CONTROL1, &tmp, 2);
5255 
5256  if(ret == 0)
5257  {
5260 
5261  ret = wm8994_write_reg(ctx, WM8994_AIF1_CONTROL1, &tmp, 2);
5262  }
5263 
5264  return ret;
5265 }
5266 
5267 /*******************************************************************************
5268 * Function Name : wm8994_aif1_control1_bclk_inv
5269 * Description : BCLK1 Invert
5270 * Input : uint16_t
5271 * Output : None
5272 * Return : Status [WM8994_ERROR, WM8994_OK]
5273 *******************************************************************************/
5274 int32_t wm8994_aif1_control1_bclk_inv(wm8994_ctx_t *ctx, uint16_t value)
5275 {
5276  int32_t ret;
5277  uint16_t tmp = 0;
5278 
5279  ret = wm8994_read_reg(ctx, WM8994_AIF1_CONTROL1, &tmp, 2);
5280 
5281  if(ret == 0)
5282  {
5285 
5286  ret = wm8994_write_reg(ctx, WM8994_AIF1_CONTROL1, &tmp, 2);
5287  }
5288 
5289  return ret;
5290 }
5291 
5292 /*******************************************************************************
5293 * Function Name : wm8994_aif1_control1_adc_tdm
5294 * Description : AIF1 transmit (ADC) TDM Control
5295 * Input : uint16_t
5296 * Output : None
5297 * Return : Status [WM8994_ERROR, WM8994_OK]
5298 *******************************************************************************/
5299 int32_t wm8994_aif1_control1_adc_tdm(wm8994_ctx_t *ctx, uint16_t value)
5300 {
5301  int32_t ret;
5302  uint16_t tmp = 0;
5303 
5304  ret = wm8994_read_reg(ctx, WM8994_AIF1_CONTROL1, &tmp, 2);
5305 
5306  if(ret == 0)
5307  {
5309  tmp |= value << WM8994_AIF1_CONTROL1_ADC_TDM_POSITION;
5310 
5311  ret = wm8994_write_reg(ctx, WM8994_AIF1_CONTROL1, &tmp, 2);
5312  }
5313 
5314  return ret;
5315 }
5316 
5317 /*******************************************************************************
5318 * Function Name : wm8994_aif1_control1_adcr_src
5319 * Description : AIF1 Right Digital Audio interface source
5320 * Input : uint16_t
5321 * Output : None
5322 * Return : Status [WM8994_ERROR, WM8994_OK]
5323 *******************************************************************************/
5324 int32_t wm8994_aif1_control1_adcr_src(wm8994_ctx_t *ctx, uint16_t value)
5325 {
5326  int32_t ret;
5327  uint16_t tmp = 0;
5328 
5329  ret = wm8994_read_reg(ctx, WM8994_AIF1_CONTROL1, &tmp, 2);
5330 
5331  if(ret == 0)
5332  {
5335 
5336  ret = wm8994_write_reg(ctx, WM8994_AIF1_CONTROL1, &tmp, 2);
5337  }
5338 
5339  return ret;
5340 }
5341 
5342 /*******************************************************************************
5343 * Function Name : wm8994_aif1_control1_adcl_src
5344 * Description : AIF1 Left Digital Audio interface source
5345 * Input : uint16_t
5346 * Output : None
5347 * Return : Status [WM8994_ERROR, WM8994_OK]
5348 *******************************************************************************/
5349 int32_t wm8994_aif1_control1_adcl_src(wm8994_ctx_t *ctx, uint16_t value)
5350 {
5351  int32_t ret;
5352  uint16_t tmp = 0;
5353 
5354  ret = wm8994_read_reg(ctx, WM8994_AIF1_CONTROL1, &tmp, 2);
5355 
5356  if(ret == 0)
5357  {
5360 
5361  ret = wm8994_write_reg(ctx, WM8994_AIF1_CONTROL1, &tmp, 2);
5362  }
5363 
5364  return ret;
5365 }
5366 
5367 /*******************************************************************************
5368 * Function Name : wm8994_aif1_ms_lrclk_frc
5369 * Description : Forces LRCLK1 and ADCLRCLK1 to be enabled when all AIF1 audio
5370 * channels are disabled.
5371 * Input : uint16_t
5372 * Output : None
5373 * Return : Status [WM8994_ERROR, WM8994_OK]
5374 *******************************************************************************/
5375 int32_t wm8994_aif1_ms_lrclk_frc(wm8994_ctx_t *ctx, uint16_t value)
5376 {
5377  int32_t ret;
5378  uint16_t tmp = 0;
5379 
5380  ret = wm8994_read_reg(ctx, WM8994_AIF1_MASTER_SLAVE, &tmp, 2);
5381 
5382  if(ret == 0)
5383  {
5385  tmp |= value << WM8994_AIF1_MS_LRCLK_FRC_POSITION;
5386 
5387  ret = wm8994_write_reg(ctx, WM8994_AIF1_MASTER_SLAVE, &tmp, 2);
5388  }
5389 
5390  return ret;
5391 }
5392 
5393 /*******************************************************************************
5394 * Function Name : wm8994_aif1_ms_clk_frc
5395 * Description : Forces BCLK1, LRCLK1 and ADCLRCLK1 to be enabled when all AIF1
5396 * audio channels are disabled.
5397 * Input : uint16_t
5398 * Output : None
5399 * Return : Status [WM8994_ERROR, WM8994_OK]
5400 *******************************************************************************/
5401 int32_t wm8994_aif1_ms_clk_frc(wm8994_ctx_t *ctx, uint16_t value)
5402 {
5403  int32_t ret;
5404  uint16_t tmp = 0;
5405 
5406  ret = wm8994_read_reg(ctx, WM8994_AIF1_MASTER_SLAVE, &tmp, 2);
5407 
5408  if(ret == 0)
5409  {
5411  tmp |= value << WM8994_AIF1_MS_CLK_FRC_POSITION;
5412 
5413  ret = wm8994_write_reg(ctx, WM8994_AIF1_MASTER_SLAVE, &tmp, 2);
5414  }
5415 
5416  return ret;
5417 }
5418 
5419 /*******************************************************************************
5420 * Function Name : wm8994_aif1_ms_mstr
5421 * Description : AIF1 Audio Interface Master Mode Select.
5422 * Input : uint16_t
5423 * Output : None
5424 * Return : Status [WM8994_ERROR, WM8994_OK]
5425 *******************************************************************************/
5426 int32_t wm8994_aif1_ms_mstr(wm8994_ctx_t *ctx, uint16_t value)
5427 {
5428  int32_t ret;
5429  uint16_t tmp = 0;
5430 
5431  ret = wm8994_read_reg(ctx, WM8994_AIF1_MASTER_SLAVE, &tmp, 2);
5432 
5433  if(ret == 0)
5434  {
5435  tmp &= ~WM8994_AIF1_MS_MSTR_MASK;
5436  tmp |= value << WM8994_AIF1_MS_MSTR_POSITION;
5437 
5438  ret = wm8994_write_reg(ctx, WM8994_AIF1_MASTER_SLAVE, &tmp, 2);
5439  }
5440 
5441  return ret;
5442 }
5443 
5444 /*******************************************************************************
5445 * Function Name : wm8994_aif1_adc1_left_vol_adc1l
5446 * Description : AIF1ADC1 (Left) output path (AIF1, Timeslot 0) Digital Volume.
5447 * Input : uint16_t
5448 * Output : None
5449 * Return : Status [WM8994_ERROR, WM8994_OK]
5450 *******************************************************************************/
5451 int32_t wm8994_aif1_adc1_left_vol_adc1l(wm8994_ctx_t *ctx, uint16_t value)
5452 {
5453  int32_t ret;
5454  uint16_t tmp = 0;
5455 
5456  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC1_LEFT_VOL, &tmp, 2);
5457 
5458  if(ret == 0)
5459  {
5462 
5463  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC1_LEFT_VOL, &tmp, 2);
5464  }
5465 
5466  return ret;
5467 }
5468 
5469 /*******************************************************************************
5470 * Function Name : wm8994_aif1_adc1_left_vol_adc1l_r
5471 * Description : Get AIF1ADC1 (Left) output path (AIF1, Timeslot 0) Digital Volume.
5472 * Input : uint16_t
5473 * Output : None
5474 * Return : Status [WM8994_ERROR, WM8994_OK]
5475 *******************************************************************************/
5476 int32_t wm8994_aif1_adc1_left_vol_adc1l_r(wm8994_ctx_t *ctx, uint16_t *value)
5477 {
5478  int32_t ret;
5479 
5480  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC1_LEFT_VOL, value, 2);
5481 
5482  if(ret == 0)
5483  {
5485  *value = *value >> WM8994_AIF1_ADC1_LEFT_VOL_ADC1L_POSITION;
5486  }
5487 
5488  return ret;
5489 }
5490 
5491 /*******************************************************************************
5492 * Function Name : wm8994_aif1_adc1_left_vol_vu
5493 * Description : AIF1ADC1 output path (AIF1, Timeslot 0) Volume Update.
5494 * Input : uint16_t
5495 * Output : None
5496 * Return : Status [WM8994_ERROR, WM8994_OK]
5497 *******************************************************************************/
5498 int32_t wm8994_aif1_adc1_left_vol_vu(wm8994_ctx_t *ctx, uint16_t value)
5499 {
5500  int32_t ret;
5501  uint16_t tmp = 0;
5502 
5503  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC1_LEFT_VOL, &tmp, 2);
5504 
5505  if(ret == 0)
5506  {
5508  tmp |= value << WM8994_AIF1_ADC1_LEFT_VOL_VU_POSITION;
5509 
5510  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC1_LEFT_VOL, &tmp, 2);
5511  }
5512 
5513  return ret;
5514 }
5515 
5516 /*******************************************************************************
5517 * Function Name : wm8994_aif1_adc1_right_vol_adc1r
5518 * Description : AIF1ADC1 (Right) output path (AIF1, Timeslot 0) Digital Volume.
5519 * Input : uint16_t
5520 * Output : None
5521 * Return : Status [WM8994_ERROR, WM8994_OK]
5522 *******************************************************************************/
5523 int32_t wm8994_aif1_adc1_right_vol_adc1r(wm8994_ctx_t *ctx, uint16_t value)
5524 {
5525  int32_t ret;
5526  uint16_t tmp = 0;
5527 
5528  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC1_RIGHT_VOL, &tmp, 2);
5529 
5530  if(ret == 0)
5531  {
5534 
5535  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC1_RIGHT_VOL, &tmp, 2);
5536  }
5537 
5538  return ret;
5539 }
5540 
5541 /*******************************************************************************
5542 * Function Name : wm8994_aif1_adc1_right_vol_vu
5543 * Description : AIF1ADC1 output path (AIF1, Timeslot 0) Volume Update.
5544 * Input : uint16_t
5545 * Output : None
5546 * Return : Status [WM8994_ERROR, WM8994_OK]
5547 *******************************************************************************/
5548 int32_t wm8994_aif1_adc1_right_vol_vu(wm8994_ctx_t *ctx, uint16_t value)
5549 {
5550  int32_t ret;
5551  uint16_t tmp = 0;
5552 
5553  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC1_RIGHT_VOL, &tmp, 2);
5554 
5555  if(ret == 0)
5556  {
5559 
5560  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC1_RIGHT_VOL, &tmp, 2);
5561  }
5562 
5563  return ret;
5564 }
5565 
5566 /*******************************************************************************
5567 * Function Name : wm8994_aif1_adc2_left_vol_adc2l
5568 * Description : AIF1ADC2 (Left) output path (AIF1, Timeslot 0) Digital Volume.
5569 * Input : uint16_t
5570 * Output : None
5571 * Return : Status [WM8994_ERROR, WM8994_OK]
5572 *******************************************************************************/
5573 int32_t wm8994_aif1_adc2_left_vol_adc2l(wm8994_ctx_t *ctx, uint16_t value)
5574 {
5575  int32_t ret;
5576  uint16_t tmp = 0;
5577 
5578  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC2_LEFT_VOL, &tmp, 2);
5579 
5580  if(ret == 0)
5581  {
5584 
5585  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC2_LEFT_VOL, &tmp, 2);
5586  }
5587 
5588  return ret;
5589 }
5590 
5591 /*******************************************************************************
5592 * Function Name : wm8994_aif1_adc2_left_vol_vu
5593 * Description : AIF1ADC2 output path (AIF1, Timeslot 0) Volume Update.
5594 * Input : uint16_t
5595 * Output : None
5596 * Return : Status [WM8994_ERROR, WM8994_OK]
5597 *******************************************************************************/
5598 int32_t wm8994_aif1_adc2_left_vol_vu(wm8994_ctx_t *ctx, uint16_t value)
5599 {
5600  int32_t ret;
5601  uint16_t tmp = 0;
5602 
5603  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC2_LEFT_VOL, &tmp, 2);
5604 
5605  if(ret == 0)
5606  {
5608  tmp |= value << WM8994_AIF1_ADC2_LEFT_VOL_VU_POSITION;
5609 
5610  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC2_LEFT_VOL, &tmp, 2);
5611  }
5612 
5613  return ret;
5614 }
5615 
5616 /*******************************************************************************
5617 * Function Name : wm8994_aif1_adc2_right_vol_adc2r
5618 * Description : AIF1ADC2 (Right) output path (AIF1, Timeslot 0) Digital Volume.
5619 * Input : uint16_t
5620 * Output : None
5621 * Return : Status [WM8994_ERROR, WM8994_OK]
5622 *******************************************************************************/
5623 int32_t wm8994_aif1_adc2_right_vol_adc2r(wm8994_ctx_t *ctx, uint16_t value)
5624 {
5625  int32_t ret;
5626  uint16_t tmp = 0;
5627 
5628  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC2_RIGHT_VOL, &tmp, 2);
5629 
5630  if(ret == 0)
5631  {
5634 
5635  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC2_RIGHT_VOL, &tmp, 2);
5636  }
5637 
5638  return ret;
5639 }
5640 
5641 /*******************************************************************************
5642 * Function Name : wm8994_aif1_adc2_right_vol_vu
5643 * Description : AIF1ADC2 output path (AIF1, Timeslot 0) Volume Update.
5644 * Input : uint16_t
5645 * Output : None
5646 * Return : Status [WM8994_ERROR, WM8994_OK]
5647 *******************************************************************************/
5648 int32_t wm8994_aif1_adc2_right_vol_vu(wm8994_ctx_t *ctx, uint16_t value)
5649 {
5650  int32_t ret;
5651  uint16_t tmp = 0;
5652 
5653  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC2_RIGHT_VOL, &tmp, 2);
5654 
5655  if(ret == 0)
5656  {
5659 
5660  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC2_RIGHT_VOL, &tmp, 2);
5661  }
5662 
5663  return ret;
5664 }
5665 
5666 /*******************************************************************************
5667 * Function Name : wm8994_aif1_adc1_filters_adc1r_hpf
5668 * Description : AIF1ADC1 (Right) output path (AIF1, Timeslot 0) Digital
5669 * HPF Enable
5670 * Input : uint16_t
5671 * Output : None
5672 * Return : Status [WM8994_ERROR, WM8994_OK]
5673 *******************************************************************************/
5675 {
5676  int32_t ret;
5677  uint16_t tmp = 0;
5678 
5679  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC1_FILTERS, &tmp, 2);
5680 
5681  if(ret == 0)
5682  {
5685 
5686  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC1_FILTERS, &tmp, 2);
5687  }
5688 
5689  return ret;
5690 }
5691 
5692 /*******************************************************************************
5693 * Function Name : wm8994_aif1_adc1_filters_adc1l_hpf
5694 * Description : AIF1ADC1 (Left) output path (AIF1, Timeslot 0) Digital
5695 * HPF Enable
5696 * Input : uint16_t
5697 * Output : None
5698 * Return : Status [WM8994_ERROR, WM8994_OK]
5699 *******************************************************************************/
5701 {
5702  int32_t ret;
5703  uint16_t tmp = 0;
5704 
5705  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC1_FILTERS, &tmp, 2);
5706 
5707  if(ret == 0)
5708  {
5711 
5712  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC1_FILTERS, &tmp, 2);
5713  }
5714 
5715  return ret;
5716 }
5717 
5718 /*******************************************************************************
5719 * Function Name : wm8994_aif1_adc1_filters_hpf_cut
5720 * Description : AIF1ADC1 output path (AIF1, Timeslot 0) Digital HPF
5721 * cut-off frequency (fc)
5722 * Input : uint16_t
5723 * Output : None
5724 * Return : Status [WM8994_ERROR, WM8994_OK]
5725 *******************************************************************************/
5726 int32_t wm8994_aif1_adc1_filters_hpf_cut(wm8994_ctx_t *ctx, uint16_t value)
5727 {
5728  int32_t ret;
5729  uint16_t tmp = 0;
5730 
5731  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC1_FILTERS, &tmp, 2);
5732 
5733  if(ret == 0)
5734  {
5737 
5738  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC1_FILTERS, &tmp, 2);
5739  }
5740 
5741  return ret;
5742 }
5743 
5744 /*******************************************************************************
5745 * Function Name : wm8994_aif1_adc1_filters_4fs
5746 * Description : Enable AIF1ADC ultrasonic mode (4FS) output,bypassing all AIF1
5747 * baseband output filtering
5748 * Input : uint16_t
5749 * Output : None
5750 * Return : Status [WM8994_ERROR, WM8994_OK]
5751 *******************************************************************************/
5752 int32_t wm8994_aif1_adc1_filters_4fs(wm8994_ctx_t *ctx, uint16_t value)
5753 {
5754  int32_t ret;
5755  uint16_t tmp = 0;
5756 
5757  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC1_FILTERS, &tmp, 2);
5758 
5759  if(ret == 0)
5760  {
5762  tmp |= value << WM8994_AIF1_ADC1_FILTERS_4FS_POSITION;
5763 
5764  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC1_FILTERS, &tmp, 2);
5765  }
5766 
5767  return ret;
5768 }
5769 
5770 /*******************************************************************************
5771 * Function Name : wm8994_aif1_adc2_filters_adc2r_hpf
5772 * Description : AIF1ADC2 (Right) output path (AIF1, Timeslot 1) Digital
5773 * HPF Enable
5774 * Input : uint16_t
5775 * Output : None
5776 * Return : Status [WM8994_ERROR, WM8994_OK]
5777 *******************************************************************************/
5779 {
5780  int32_t ret;
5781  uint16_t tmp = 0;
5782 
5783  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC2_FILTERS, &tmp, 2);
5784 
5785  if(ret == 0)
5786  {
5789 
5790  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC2_FILTERS, &tmp, 2);
5791  }
5792 
5793  return ret;
5794 }
5795 
5796 /*******************************************************************************
5797 * Function Name : wm8994_aif1_adc2_filters_adc2l_hpf
5798 * Description : AIF1ADC2 (Left) output path (AIF1, Timeslot 1) Digital
5799 * HPF Enable
5800 * Input : uint16_t
5801 * Output : None
5802 * Return : Status [WM8994_ERROR, WM8994_OK]
5803 *******************************************************************************/
5805 {
5806  int32_t ret;
5807  uint16_t tmp = 0;
5808 
5809  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC2_FILTERS, &tmp, 2);
5810 
5811  if(ret == 0)
5812  {
5815 
5816  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC2_FILTERS, &tmp, 2);
5817  }
5818 
5819  return ret;
5820 }
5821 
5822 /*******************************************************************************
5823 * Function Name : wm8994_aif1_adc2_filters_hpf_cut
5824 * Description : AIF1ADC2 output path (AIF1, Timeslot 0) Digital HPF
5825 * cut-off frequency (fc)
5826 * Input : uint16_t
5827 * Output : None
5828 * Return : Status [WM8994_ERROR, WM8994_OK]
5829 *******************************************************************************/
5830 int32_t wm8994_aif1_adc2_filters_hpf_cut(wm8994_ctx_t *ctx, uint16_t value)
5831 {
5832  int32_t ret;
5833  uint16_t tmp = 0;
5834 
5835  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC2_FILTERS, &tmp, 2);
5836 
5837  if(ret == 0)
5838  {
5841 
5842  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC2_FILTERS, &tmp, 2);
5843  }
5844 
5845  return ret;
5846 }
5847 
5848 /*******************************************************************************
5849 * Function Name : wm8994_aif1_adc2_filters_4fs
5850 * Description : Enable AIF1ADC ultrasonic mode (4FS) output,bypassing all AIF1
5851 * baseband output filtering
5852 * Input : uint16_t
5853 * Output : None
5854 * Return : Status [WM8994_ERROR, WM8994_OK]
5855 *******************************************************************************/
5856 int32_t wm8994_aif1_adc2_filters_4fs(wm8994_ctx_t *ctx, uint16_t value)
5857 {
5858  int32_t ret;
5859  uint16_t tmp = 0;
5860 
5861  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC2_FILTERS, &tmp, 2);
5862 
5863  if(ret == 0)
5864  {
5866  tmp |= value << WM8994_AIF1_ADC2_FILTERS_4FS_POSITION;
5867 
5868  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC2_FILTERS, &tmp, 2);
5869  }
5870 
5871  return ret;
5872 }
5873 
5874 /*******************************************************************************
5875 * Function Name : wm8994_aif1_dac1_filter1_deemp
5876 * Description : AIF1DAC1 input path (AIF1, Timeslot 0) De-Emphasis Control
5877 * Input : uint16_t
5878 * Output : None
5879 * Return : Status [WM8994_ERROR, WM8994_OK]
5880 *******************************************************************************/
5881 int32_t wm8994_aif1_dac1_filter1_deemp(wm8994_ctx_t *ctx, uint16_t value)
5882 {
5883  int32_t ret;
5884  uint16_t tmp = 0;
5885 
5886  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC1_FILTER1, &tmp, 2);
5887 
5888  if(ret == 0)
5889  {
5892 
5893  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC1_FILTER1, &tmp, 2);
5894  }
5895 
5896  return ret;
5897 }
5898 
5899 /*******************************************************************************
5900 * Function Name : wm8994_aif1_dac1_filter1_unmute_ramp
5901 * Description : AIF1DAC1 input path (AIF1, Timeslot 0) Unmute Ramp select
5902 * Input : uint16_t
5903 * Output : None
5904 * Return : Status [WM8994_ERROR, WM8994_OK]
5905 *******************************************************************************/
5907 {
5908  int32_t ret;
5909  uint16_t tmp = 0;
5910 
5911  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC1_FILTER1, &tmp, 2);
5912 
5913  if(ret == 0)
5914  {
5917 
5918  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC1_FILTER1, &tmp, 2);
5919  }
5920 
5921  return ret;
5922 }
5923 
5924 /*******************************************************************************
5925 * Function Name : wm8994_aif1_dac1_filter1_muterate
5926 * Description : AIF1DAC1 input path (AIF1, Timeslot 0) Soft Mute Ramp Rate
5927 * Input : uint16_t
5928 * Output : None
5929 * Return : Status [WM8994_ERROR, WM8994_OK]
5930 *******************************************************************************/
5932 {
5933  int32_t ret;
5934  uint16_t tmp = 0;
5935 
5936  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC1_FILTER1, &tmp, 2);
5937 
5938  if(ret == 0)
5939  {
5942 
5943  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC1_FILTER1, &tmp, 2);
5944  }
5945 
5946  return ret;
5947 }
5948 
5949 /*******************************************************************************
5950 * Function Name : wm8994_aif1_dac1_filter1_mono
5951 * Description : AIF1DAC1 input path (AIF1, Timeslot 0) Mono Mix Control
5952 * Input : uint16_t
5953 * Output : None
5954 * Return : Status [WM8994_ERROR, WM8994_OK]
5955 *******************************************************************************/
5956 int32_t wm8994_aif1_dac1_filter1_mono(wm8994_ctx_t *ctx, uint16_t value)
5957 {
5958  int32_t ret;
5959  uint16_t tmp = 0;
5960 
5961  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC1_FILTER1, &tmp, 2);
5962 
5963  if(ret == 0)
5964  {
5967 
5968  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC1_FILTER1, &tmp, 2);
5969  }
5970 
5971  return ret;
5972 }
5973 
5974 /*******************************************************************************
5975 * Function Name : wm8994_aif1_dac1_filter1_mute
5976 * Description : AIF1DAC1 input path (AIF1, Timeslot 0) Soft Mute Control
5977 * Input : uint16_t
5978 * Output : None
5979 * Return : Status [WM8994_ERROR, WM8994_OK]
5980 *******************************************************************************/
5981 int32_t wm8994_aif1_dac1_filter1_mute(wm8994_ctx_t *ctx, uint16_t value)
5982 {
5983  int32_t ret;
5984  uint16_t tmp = 0;
5985 
5986  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC1_FILTER1, &tmp, 2);
5987 
5988  if(ret == 0)
5989  {
5992 
5993  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC1_FILTER1, &tmp, 2);
5994  }
5995 
5996  return ret;
5997 }
5998 
5999 /*******************************************************************************
6000 * Function Name : wm8994_aif1_dac2_filter1_deemp
6001 * Description : AIF1DAC2 input path (AIF1, Timeslot 1) De-Emphasis Control
6002 * Input : uint16_t
6003 * Output : None
6004 * Return : Status [WM8994_ERROR, WM8994_OK]
6005 *******************************************************************************/
6006 int32_t wm8994_aif1_dac2_filter1_deemp(wm8994_ctx_t *ctx, uint16_t value)
6007 {
6008  int32_t ret;
6009  uint16_t tmp = 0;
6010 
6011  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC2_FILTER1, &tmp, 2);
6012 
6013  if(ret == 0)
6014  {
6017 
6018  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC2_FILTER1, &tmp, 2);
6019  }
6020 
6021  return ret;
6022 }
6023 
6024 /*******************************************************************************
6025 * Function Name : wm8994_aif1_dac2_filter1_unmute_ramp
6026 * Description : AIF1DAC2 input path (AIF1, Timeslot 1) Unmute Ramp select
6027 * Input : uint16_t
6028 * Output : None
6029 * Return : Status [WM8994_ERROR, WM8994_OK]
6030 *******************************************************************************/
6032 {
6033  int32_t ret;
6034  uint16_t tmp = 0;
6035 
6036  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC2_FILTER1, &tmp, 2);
6037 
6038  if(ret == 0)
6039  {
6042 
6043  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC2_FILTER1, &tmp, 2);
6044  }
6045 
6046  return ret;
6047 }
6048 
6049 /*******************************************************************************
6050 * Function Name : wm8994_aif1_dac2_filter1_muterate
6051 * Description : AIF1DAC2 input path (AIF1, Timeslot 1) Soft Mute Ramp Rate
6052 * Input : uint16_t
6053 * Output : None
6054 * Return : Status [WM8994_ERROR, WM8994_OK]
6055 *******************************************************************************/
6057 {
6058  int32_t ret;
6059  uint16_t tmp = 0;
6060 
6061  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC2_FILTER1, &tmp, 2);
6062 
6063  if(ret == 0)
6064  {
6067 
6068  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC2_FILTER1, &tmp, 2);
6069  }
6070 
6071  return ret;
6072 }
6073 
6074 /*******************************************************************************
6075 * Function Name : wm8994_aif1_dac2_filter1_mono
6076 * Description : AIF1DAC2 input path (AIF1, Timeslot 1) Mono Mix Control
6077 * Input : uint16_t
6078 * Output : None
6079 * Return : Status [WM8994_ERROR, WM8994_OK]
6080 *******************************************************************************/
6081 int32_t wm8994_aif1_dac2_filter1_mono(wm8994_ctx_t *ctx, uint16_t value)
6082 {
6083  int32_t ret;
6084  uint16_t tmp = 0;
6085 
6086  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC2_FILTER1, &tmp, 2);
6087 
6088  if(ret == 0)
6089  {
6092 
6093  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC2_FILTER1, &tmp, 2);
6094  }
6095 
6096  return ret;
6097 }
6098 
6099 /*******************************************************************************
6100 * Function Name : wm8994_aif1_dac2_filter1_mute
6101 * Description : AIF1DAC2 input path (AIF1, Timeslot 1) Soft Mute Control
6102 * Input : uint16_t
6103 * Output : None
6104 * Return : Status [WM8994_ERROR, WM8994_OK]
6105 *******************************************************************************/
6106 int32_t wm8994_aif1_dac2_filter1_mute(wm8994_ctx_t *ctx, uint16_t value)
6107 {
6108  int32_t ret;
6109  uint16_t tmp = 0;
6110 
6111  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC2_FILTER1, &tmp, 2);
6112 
6113  if(ret == 0)
6114  {
6117 
6118  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC2_FILTER1, &tmp, 2);
6119  }
6120 
6121  return ret;
6122 }
6123 
6124 /*******************************************************************************
6125 * Function Name : wm8994_aif1drc1_adc1r_drc_ena
6126 * Description : Enable DRC in AIF1ADC1 (Right) record path (AIF1, Timeslot 0)
6127 * Input : uint16_t
6128 * Output : None
6129 * Return : Status [WM8994_ERROR, WM8994_OK]
6130 *******************************************************************************/
6131 int32_t wm8994_aif1drc1_adc1r_drc_ena(wm8994_ctx_t *ctx, uint16_t value)
6132 {
6133  int32_t ret;
6134  uint16_t tmp = 0;
6135 
6136  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC1, &tmp, 2);
6137 
6138  if(ret == 0)
6139  {
6142 
6143  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC1, &tmp, 2);
6144  }
6145 
6146  return ret;
6147 }
6148 
6149 /*******************************************************************************
6150 * Function Name : wm8994_aif1drc1_adc1l_drc_ena
6151 * Description : Enable DRC in AIF1ADC1 (Leftht) record path (AIF1, Timeslot 0)
6152 * Input : uint16_t
6153 * Output : None
6154 * Return : Status [WM8994_ERROR, WM8994_OK]
6155 *******************************************************************************/
6156 int32_t wm8994_aif1drc1_adc1l_drc_ena(wm8994_ctx_t *ctx, uint16_t value)
6157 {
6158  int32_t ret;
6159  uint16_t tmp = 0;
6160 
6161  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC1, &tmp, 2);
6162 
6163  if(ret == 0)
6164  {
6167 
6168  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC1, &tmp, 2);
6169  }
6170 
6171  return ret;
6172 }
6173 
6174 /*******************************************************************************
6175 * Function Name : wm8994_aif1drc1_dac1_drc_ena
6176 * Description : Enable DRC in AIF1DAC1 playback path (AIF1, Timeslot 0)
6177 * Input : uint16_t
6178 * Output : None
6179 * Return : Status [WM8994_ERROR, WM8994_OK]
6180 *******************************************************************************/
6181 int32_t wm8994_aif1drc1_dac1_drc_ena(wm8994_ctx_t *ctx, uint16_t value)
6182 {
6183  int32_t ret;
6184  uint16_t tmp = 0;
6185 
6186  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC1, &tmp, 2);
6187 
6188  if(ret == 0)
6189  {
6191  tmp |= value << WM8994_AIF1DRC1_DAC1_DRC_ENA_POSITION;
6192 
6193  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC1, &tmp, 2);
6194  }
6195 
6196  return ret;
6197 }
6198 
6199 /*******************************************************************************
6200 * Function Name : wm8994_aif1drc1_anticlip
6201 * Description : AIF1 DRC1 Anti-clip Enable
6202 * Input : uint16_t
6203 * Output : None
6204 * Return : Status [WM8994_ERROR, WM8994_OK]
6205 *******************************************************************************/
6206 int32_t wm8994_aif1drc1_anticlip(wm8994_ctx_t *ctx, uint16_t value)
6207 {
6208  int32_t ret;
6209  uint16_t tmp = 0;
6210 
6211  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC1, &tmp, 2);
6212 
6213  if(ret == 0)
6214  {
6216  tmp |= value << WM8994_AIF1DRC1_ANTICLIP_POSITION;
6217 
6218  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC1, &tmp, 2);
6219  }
6220 
6221  return ret;
6222 }
6223 
6224 /*******************************************************************************
6225 * Function Name : wm8994_aif1drc1_qr
6226 * Description : AIF1 DRC1 Quick-release Enable
6227 * Input : uint16_t
6228 * Output : None
6229 * Return : Status [WM8994_ERROR, WM8994_OK]
6230 *******************************************************************************/
6231 int32_t wm8994_aif1drc1_qr(wm8994_ctx_t *ctx, uint16_t value)
6232 {
6233  int32_t ret;
6234  uint16_t tmp = 0;
6235 
6236  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC1, &tmp, 2);
6237 
6238  if(ret == 0)
6239  {
6240  tmp &= ~WM8994_AIF1DRC1_QR_MASK;
6241  tmp |= value << WM8994_AIF1DRC1_QR_POSITION;
6242 
6243  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC1, &tmp, 2);
6244  }
6245 
6246  return ret;
6247 }
6248 
6249 /*******************************************************************************
6250 * Function Name : wm8994_aif1drc1_knee2_op_ena
6251 * Description : AIF1 DRC1 KNEE2_OP Enable
6252 * Input : uint16_t
6253 * Output : None
6254 * Return : Status [WM8994_ERROR, WM8994_OK]
6255 *******************************************************************************/
6256 int32_t wm8994_aif1drc1_knee2_op_ena(wm8994_ctx_t *ctx, uint16_t value)
6257 {
6258  int32_t ret;
6259  uint16_t tmp = 0;
6260 
6261  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC1, &tmp, 2);
6262 
6263  if(ret == 0)
6264  {
6266  tmp |= value << WM8994_AIF1DRC1_KNEE2_OP_ENA_POSITION;
6267 
6268  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC1, &tmp, 2);
6269  }
6270 
6271  return ret;
6272 }
6273 
6274 /*******************************************************************************
6275 * Function Name : wm8994_aif1drc1_sig_det
6276 * Description : AIF1 DRC1 Signal Detect Enable
6277 * Input : uint16_t
6278 * Output : None
6279 * Return : Status [WM8994_ERROR, WM8994_OK]
6280 *******************************************************************************/
6281 int32_t wm8994_aif1drc1_sig_det(wm8994_ctx_t *ctx, uint16_t value)
6282 {
6283  int32_t ret;
6284  uint16_t tmp = 0;
6285 
6286  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC1, &tmp, 2);
6287 
6288  if(ret == 0)
6289  {
6291  tmp |= value << WM8994_AIF1DRC1_SIG_DET_POSITION;
6292 
6293  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC1, &tmp, 2);
6294  }
6295 
6296  return ret;
6297 }
6298 
6299 /*******************************************************************************
6300 * Function Name : wm8994_aif1drc1_sig_det_mode
6301 * Description : AIF1 DRC1 Signal Detect Mode
6302 * Input : uint16_t
6303 * Output : None
6304 * Return : Status [WM8994_ERROR, WM8994_OK]
6305 *******************************************************************************/
6306 int32_t wm8994_aif1drc1_sig_det_mode(wm8994_ctx_t *ctx, uint16_t value)
6307 {
6308  int32_t ret;
6309  uint16_t tmp = 0;
6310 
6311  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC1, &tmp, 2);
6312 
6313  if(ret == 0)
6314  {
6316  tmp |= value << WM8994_AIF1DRC1_SIG_DET_MODE_POSITION;
6317 
6318  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC1, &tmp, 2);
6319  }
6320 
6321  return ret;
6322 }
6323 
6324 /*******************************************************************************
6325 * Function Name : wm8994_aif1drc1_ng_ena
6326 * Description : AIF1 DRC1 Noise Gate Enable
6327 * Input : uint16_t
6328 * Output : None
6329 * Return : Status [WM8994_ERROR, WM8994_OK]
6330 *******************************************************************************/
6331 int32_t wm8994_aif1drc1_ng_ena(wm8994_ctx_t *ctx, uint16_t value)
6332 {
6333  int32_t ret;
6334  uint16_t tmp = 0;
6335 
6336  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC1, &tmp, 2);
6337 
6338  if(ret == 0)
6339  {
6341  tmp |= value << WM8994_AIF1DRC1_NG_ENA_POSITION;
6342 
6343  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC1, &tmp, 2);
6344  }
6345 
6346  return ret;
6347 }
6348 
6349 /*******************************************************************************
6350 * Function Name : wm8994_aif1drc1_sig_det_pk
6351 * Description : AIF1 DRC1 Signal Detect Peak Threshold.
6352 * Input : uint16_t
6353 * Output : None
6354 * Return : Status [WM8994_ERROR, WM8994_OK]
6355 *******************************************************************************/
6356 int32_t wm8994_aif1drc1_sig_det_pk(wm8994_ctx_t *ctx, uint16_t value)
6357 {
6358  int32_t ret;
6359  uint16_t tmp = 0;
6360 
6361  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC1, &tmp, 2);
6362 
6363  if(ret == 0)
6364  {
6366  tmp |= value << WM8994_AIF1DRC1_SIG_DET_PK_POSITION;
6367 
6368  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC1, &tmp, 2);
6369  }
6370 
6371  return ret;
6372 }
6373 
6374 /*******************************************************************************
6375 * Function Name : wm8994_aif1drc1_sig_det_rms
6376 * Description : AIF1 DRC1 Signal Detect RMS Threshold.
6377 * Input : uint16_t
6378 * Output : None
6379 * Return : Status [WM8994_ERROR, WM8994_OK]
6380 *******************************************************************************/
6381 int32_t wm8994_aif1drc1_sig_det_rms(wm8994_ctx_t *ctx, uint16_t value)
6382 {
6383  int32_t ret;
6384  uint16_t tmp = 0;
6385 
6386  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC1, &tmp, 2);
6387 
6388  if(ret == 0)
6389  {
6391  tmp |= value << WM8994_AIF1DRC1_SIG_DET_RMS_POSITION;
6392 
6393  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC1, &tmp, 2);
6394  }
6395 
6396  return ret;
6397 }
6398 
6399 /*******************************************************************************
6400 * Function Name : wm8994_aif1drc2_adc2r_drc_ena
6401 * Description : Enable DRC in AIF1ADC2 (Right) record path (AIF1, Timeslot 0)
6402 * Input : uint16_t
6403 * Output : None
6404 * Return : Status [WM8994_ERROR, WM8994_OK]
6405 *******************************************************************************/
6406 int32_t wm8994_aif1drc2_adc2r_drc_ena(wm8994_ctx_t *ctx, uint16_t value)
6407 {
6408  int32_t ret;
6409  uint16_t tmp = 0;
6410 
6411  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6412 
6413  if(ret == 0)
6414  {
6417 
6418  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6419  }
6420 
6421  return ret;
6422 }
6423 
6424 /*******************************************************************************
6425 * Function Name : wm8994_aif1drc2_adc2l_drc_ena
6426 * Description : Enable DRC in AIF1ADC2 (Leftht) record path (AIF1, Timeslot 0)
6427 * Input : uint16_t
6428 * Output : None
6429 * Return : Status [WM8994_ERROR, WM8994_OK]
6430 *******************************************************************************/
6431 int32_t wm8994_aif1drc2_adc2l_drc_ena(wm8994_ctx_t *ctx, uint16_t value)
6432 {
6433  int32_t ret;
6434  uint16_t tmp = 0;
6435 
6436  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6437 
6438  if(ret == 0)
6439  {
6442 
6443  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6444  }
6445 
6446  return ret;
6447 }
6448 
6449 /*******************************************************************************
6450 * Function Name : wm8994_aif1drc2_dac2_drc_ena
6451 * Description : Enable DRC in AIF1DAC2 playback path (AIF1, Timeslot 0)
6452 * Input : uint16_t
6453 * Output : None
6454 * Return : Status [WM8994_ERROR, WM8994_OK]
6455 *******************************************************************************/
6456 int32_t wm8994_aif1drc2_dac2_drc_ena(wm8994_ctx_t *ctx, uint16_t value)
6457 {
6458  int32_t ret;
6459  uint16_t tmp = 0;
6460 
6461  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6462 
6463  if(ret == 0)
6464  {
6466  tmp |= value << WM8994_AIF1DRC2_DAC2_DRC_ENA_POSITION;
6467 
6468  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6469  }
6470 
6471  return ret;
6472 }
6473 
6474 /*******************************************************************************
6475 * Function Name : wm8994_aif1drc2_anticlip
6476 * Description : AIF1 DRC2 Anti-clip Enable
6477 * Input : uint16_t
6478 * Output : None
6479 * Return : Status [WM8994_ERROR, WM8994_OK]
6480 *******************************************************************************/
6481 int32_t wm8994_aif1drc2_anticlip(wm8994_ctx_t *ctx, uint16_t value)
6482 {
6483  int32_t ret;
6484  uint16_t tmp = 0;
6485 
6486  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6487 
6488  if(ret == 0)
6489  {
6491  tmp |= value << WM8994_AIF1DRC2_ANTICLIP_POSITION;
6492 
6493  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6494  }
6495 
6496  return ret;
6497 }
6498 
6499 /*******************************************************************************
6500 * Function Name : wm8994_aif1drc2_qr
6501 * Description : AIF1 DRC2 Quick-release Enable
6502 * Input : uint16_t
6503 * Output : None
6504 * Return : Status [WM8994_ERROR, WM8994_OK]
6505 *******************************************************************************/
6506 int32_t wm8994_aif1drc2_qr(wm8994_ctx_t *ctx, uint16_t value)
6507 {
6508  int32_t ret;
6509  uint16_t tmp = 0;
6510 
6511  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6512 
6513  if(ret == 0)
6514  {
6515  tmp &= ~WM8994_AIF1DRC2_QR_MASK;
6516  tmp |= value << WM8994_AIF1DRC2_QR_POSITION;
6517 
6518  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6519  }
6520 
6521  return ret;
6522 }
6523 
6524 /*******************************************************************************
6525 * Function Name : wm8994_aif1drc2_knee2_op_ena
6526 * Description : AIF1 DRC2 KNEE2_OP Enable
6527 * Input : uint16_t
6528 * Output : None
6529 * Return : Status [WM8994_ERROR, WM8994_OK]
6530 *******************************************************************************/
6531 int32_t wm8994_aif1drc2_knee2_op_ena(wm8994_ctx_t *ctx, uint16_t value)
6532 {
6533  int32_t ret;
6534  uint16_t tmp = 0;
6535 
6536  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6537 
6538  if(ret == 0)
6539  {
6541  tmp |= value << WM8994_AIF1DRC2_KNEE2_OP_ENA_POSITION;
6542 
6543  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6544  }
6545 
6546  return ret;
6547 }
6548 
6549 /*******************************************************************************
6550 * Function Name : wm8994_aif1drc2_sig_det
6551 * Description : AIF1 DRC2 Signal Detect Enable
6552 * Input : uint16_t
6553 * Output : None
6554 * Return : Status [WM8994_ERROR, WM8994_OK]
6555 *******************************************************************************/
6556 int32_t wm8994_aif1drc2_sig_det(wm8994_ctx_t *ctx, uint16_t value)
6557 {
6558  int32_t ret;
6559  uint16_t tmp = 0;
6560 
6561  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6562 
6563  if(ret == 0)
6564  {
6566  tmp |= value << WM8994_AIF1DRC2_SIG_DET_POSITION;
6567 
6568  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6569  }
6570 
6571  return ret;
6572 }
6573 
6574 /*******************************************************************************
6575 * Function Name : wm8994_aif1drc2_sig_det_mode
6576 * Description : AIF1 DRC2 Signal Detect Mode
6577 * Input : uint16_t
6578 * Output : None
6579 * Return : Status [WM8994_ERROR, WM8994_OK]
6580 *******************************************************************************/
6581 int32_t wm8994_aif1drc2_sig_det_mode(wm8994_ctx_t *ctx, uint16_t value)
6582 {
6583  int32_t ret;
6584  uint16_t tmp = 0;
6585 
6586  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6587 
6588  if(ret == 0)
6589  {
6591  tmp |= value << WM8994_AIF1DRC2_SIG_DET_MODE_POSITION;
6592 
6593  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6594  }
6595 
6596  return ret;
6597 }
6598 
6599 /*******************************************************************************
6600 * Function Name : wm8994_aif1drc2_ng_ena
6601 * Description : AIF1 DRC2 Noise Gate Enable
6602 * Input : uint16_t
6603 * Output : None
6604 * Return : Status [WM8994_ERROR, WM8994_OK]
6605 *******************************************************************************/
6606 int32_t wm8994_aif1drc2_ng_ena(wm8994_ctx_t *ctx, uint16_t value)
6607 {
6608  int32_t ret;
6609  uint16_t tmp = 0;
6610 
6611  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6612 
6613  if(ret == 0)
6614  {
6616  tmp |= value << WM8994_AIF1DRC2_NG_ENA_POSITION;
6617 
6618  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6619  }
6620 
6621  return ret;
6622 }
6623 
6624 /*******************************************************************************
6625 * Function Name : wm8994_aif1drc2_sig_det_pk
6626 * Description : AIF1 DRC2 Signal Detect Peak Threshold.
6627 * Input : uint16_t
6628 * Output : None
6629 * Return : Status [WM8994_ERROR, WM8994_OK]
6630 *******************************************************************************/
6631 int32_t wm8994_aif1drc2_sig_det_pk(wm8994_ctx_t *ctx, uint16_t value)
6632 {
6633  int32_t ret;
6634  uint16_t tmp = 0;
6635 
6636  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6637 
6638  if(ret == 0)
6639  {
6641  tmp |= value << WM8994_AIF1DRC2_SIG_DET_PK_POSITION;
6642 
6643  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6644  }
6645 
6646  return ret;
6647 }
6648 
6649 /*******************************************************************************
6650 * Function Name : wm8994_aif1drc2_sig_det_rms
6651 * Description : AIF1 DRC2 Signal Detect RMS Threshold.
6652 * Input : uint16_t
6653 * Output : None
6654 * Return : Status [WM8994_ERROR, WM8994_OK]
6655 *******************************************************************************/
6656 int32_t wm8994_aif1drc2_sig_det_rms(wm8994_ctx_t *ctx, uint16_t value)
6657 {
6658  int32_t ret;
6659  uint16_t tmp = 0;
6660 
6661  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6662 
6663  if(ret == 0)
6664  {
6666  tmp |= value << WM8994_AIF1DRC2_SIG_DET_RMS_POSITION;
6667 
6668  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6669  }
6670 
6671  return ret;
6672 }
6673 
6674 /*******************************************************************************
6675 * Function Name : wm8994_dac1_mixer_vol_adcl
6676 * Description : Sidetone STL to DAC1L and DAC1R Volume
6677 * Input : uint16_t
6678 * Output : None
6679 * Return : Status [WM8994_ERROR, WM8994_OK]
6680 *******************************************************************************/
6681 int32_t wm8994_dac1_mixer_vol_adcl(wm8994_ctx_t *ctx, uint16_t value)
6682 {
6683  int32_t ret;
6684  uint16_t tmp = 0;
6685 
6686  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6687 
6688  if(ret == 0)
6689  {
6691  tmp |= value << WM8994_DAC1_MIXER_VOL_ADCL_POSITION;
6692 
6693  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6694  }
6695 
6696  return ret;
6697 }
6698 
6699 /*******************************************************************************
6700 * Function Name : wm8994_dac1_mixer_vol_adcr
6701 * Description : Sidetone STL to DAC1L and DAC1R Volume
6702 * Input : uint16_t
6703 * Output : None
6704 * Return : Status [WM8994_ERROR, WM8994_OK]
6705 *******************************************************************************/
6706 int32_t wm8994_dac1_mixer_vol_adcr(wm8994_ctx_t *ctx, uint16_t value)
6707 {
6708  int32_t ret;
6709  uint16_t tmp = 0;
6710 
6711  ret = wm8994_read_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6712 
6713  if(ret == 0)
6714  {
6716  tmp |= value << WM8994_DAC1_MIXER_VOL_ADCR_POSITION;
6717 
6718  ret = wm8994_write_reg(ctx, WM8994_AIF1_DRC2, &tmp, 2);
6719  }
6720 
6721  return ret;
6722 }
6723 
6724 /*******************************************************************************
6725 * Function Name : wm8994_aif1_dac1_lmrdac1l_to_dac1l
6726 * Description : Enable AIF1 (Timeslot 0, Left) to DAC1L
6727 * Input : uint16_t
6728 * Output : None
6729 * Return : Status [WM8994_ERROR, WM8994_OK]
6730 *******************************************************************************/
6732 {
6733  int32_t ret;
6734  uint16_t tmp = 0;
6735 
6736  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC1_LMR, &tmp, 2);
6737 
6738  if(ret == 0)
6739  {
6742 
6743  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC1_LMR, &tmp, 2);
6744  }
6745 
6746  return ret;
6747 }
6748 
6749 /*******************************************************************************
6750 * Function Name : wm8994_aif1_dac1_lmrdac2l_to_dac1l
6751 * Description : Enable AIF1 (Timeslot 1, Left) to DAC1L
6752 * Input : uint16_t
6753 * Output : None
6754 * Return : Status [WM8994_ERROR, WM8994_OK]
6755 *******************************************************************************/
6757 {
6758  int32_t ret;
6759  uint16_t tmp = 0;
6760 
6761  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC1_LMR, &tmp, 2);
6762 
6763  if(ret == 0)
6764  {
6767 
6768  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC1_LMR, &tmp, 2);
6769  }
6770 
6771  return ret;
6772 }
6773 
6774 /*******************************************************************************
6775 * Function Name : wm8994_aif1_dac1_lmrdacl_to_dac1l
6776 * Description : Enable AIF2 (Left) to DAC1L
6777 * Input : uint16_t
6778 * Output : None
6779 * Return : Status [WM8994_ERROR, WM8994_OK]
6780 *******************************************************************************/
6782 {
6783  int32_t ret;
6784  uint16_t tmp = 0;
6785 
6786  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC1_LMR, &tmp, 2);
6787 
6788  if(ret == 0)
6789  {
6792 
6793  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC1_LMR, &tmp, 2);
6794  }
6795 
6796  return ret;
6797 }
6798 
6799 /*******************************************************************************
6800 * Function Name : wm8994_aif1_dac1_lmradcl_to_dac1l
6801 * Description : Enable Sidetone STL to DAC1L
6802 * Input : uint16_t
6803 * Output : None
6804 * Return : Status [WM8994_ERROR, WM8994_OK]
6805 *******************************************************************************/
6807 {
6808  int32_t ret;
6809  uint16_t tmp = 0;
6810 
6811  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC1_LMR, &tmp, 2);
6812 
6813  if(ret == 0)
6814  {
6817 
6818  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC1_LMR, &tmp, 2);
6819  }
6820 
6821  return ret;
6822 }
6823 
6824 /*******************************************************************************
6825 * Function Name : wm8994_aif1_dac1_lmradcr_to_dac1l
6826 * Description : Enable Sidetone STR to DAC1L
6827 * Input : uint16_t
6828 * Output : None
6829 * Return : Status [WM8994_ERROR, WM8994_OK]
6830 *******************************************************************************/
6832 {
6833  int32_t ret;
6834  uint16_t tmp = 0;
6835 
6836  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC1_LMR, &tmp, 2);
6837 
6838  if(ret == 0)
6839  {
6842 
6843  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC1_LMR, &tmp, 2);
6844  }
6845 
6846  return ret;
6847 }
6848 
6849 /*******************************************************************************
6850 * Function Name : wm8994_aif1_dac1_rmrdac1r_to_dac1r
6851 * Description : Enable AIF1 (Timeslot 0, Right) to DAC1R
6852 * Input : uint16_t
6853 * Output : None
6854 * Return : Status [WM8994_ERROR, WM8994_OK]
6855 *******************************************************************************/
6857 {
6858  int32_t ret;
6859  uint16_t tmp = 0;
6860 
6861  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC1_RMR, &tmp, 2);
6862 
6863  if(ret == 0)
6864  {
6867 
6868  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC1_RMR, &tmp, 2);
6869  }
6870 
6871  return ret;
6872 }
6873 
6874 /*******************************************************************************
6875 * Function Name : wm8994_aif1_dac1_rmrdac2r_to_dac1r
6876 * Description : Enable AIF1 (Timeslot 1, Right) to DAC1R
6877 * Input : uint16_t
6878 * Output : None
6879 * Return : Status [WM8994_ERROR, WM8994_OK]
6880 *******************************************************************************/
6882 {
6883  int32_t ret;
6884  uint16_t tmp = 0;
6885 
6886  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC1_RMR, &tmp, 2);
6887 
6888  if(ret == 0)
6889  {
6892 
6893  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC1_RMR, &tmp, 2);
6894  }
6895 
6896  return ret;
6897 }
6898 
6899 /*******************************************************************************
6900 * Function Name : wm8994_aif1_dac1_rmrdacr_to_dac1r
6901 * Description : Enable AIF2 (Right) to DAC1R
6902 * Input : uint16_t
6903 * Output : None
6904 * Return : Status [WM8994_ERROR, WM8994_OK]
6905 *******************************************************************************/
6907 {
6908  int32_t ret;
6909  uint16_t tmp = 0;
6910 
6911  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC1_RMR, &tmp, 2);
6912 
6913  if(ret == 0)
6914  {
6917 
6918  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC1_RMR, &tmp, 2);
6919  }
6920 
6921  return ret;
6922 }
6923 
6924 /*******************************************************************************
6925 * Function Name : wm8994_aif1_dac1_rmradcl_to_dac1r
6926 * Description : Enable Sidetone STL to DAC1R
6927 * Input : uint16_t
6928 * Output : None
6929 * Return : Status [WM8994_ERROR, WM8994_OK]
6930 *******************************************************************************/
6932 {
6933  int32_t ret;
6934  uint16_t tmp = 0;
6935 
6936  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC1_RMR, &tmp, 2);
6937 
6938  if(ret == 0)
6939  {
6942 
6943  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC1_RMR, &tmp, 2);
6944  }
6945 
6946  return ret;
6947 }
6948 
6949 /*******************************************************************************
6950 * Function Name : wm8994_aif1_dac1_rmradcr_to_dac1r
6951 * Description : Enable Sidetone STR to DAC1R
6952 * Input : uint16_t
6953 * Output : None
6954 * Return : Status [WM8994_ERROR, WM8994_OK]
6955 *******************************************************************************/
6957 {
6958  int32_t ret;
6959  uint16_t tmp = 0;
6960 
6961  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC1_RMR, &tmp, 2);
6962 
6963  if(ret == 0)
6964  {
6967 
6968  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC1_RMR, &tmp, 2);
6969  }
6970 
6971  return ret;
6972 }
6973 
6974 /*******************************************************************************
6975 * Function Name : wm8994_aif1_dac2_lmrdac1l_to_dac2l
6976 * Description : Enable AIF1 (Timeslot 0, Left) to DAC2L
6977 * Input : uint16_t
6978 * Output : None
6979 * Return : Status [WM8994_ERROR, WM8994_OK]
6980 *******************************************************************************/
6982 {
6983  int32_t ret;
6984  uint16_t tmp = 0;
6985 
6986  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC2_LMR, &tmp, 2);
6987 
6988  if(ret == 0)
6989  {
6992 
6993  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC2_LMR, &tmp, 2);
6994  }
6995 
6996  return ret;
6997 }
6998 
6999 /*******************************************************************************
7000 * Function Name : wm8994_aif1_dac2_lmrdac2l_to_dac2l
7001 * Description : Enable AIF1 (Timeslot 1, Left) to DAC2L
7002 * Input : uint16_t
7003 * Output : None
7004 * Return : Status [WM8994_ERROR, WM8994_OK]
7005 *******************************************************************************/
7007 {
7008  int32_t ret;
7009  uint16_t tmp = 0;
7010 
7011  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC2_LMR, &tmp, 2);
7012 
7013  if(ret == 0)
7014  {
7017 
7018  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC2_LMR, &tmp, 2);
7019  }
7020 
7021  return ret;
7022 }
7023 
7024 /*******************************************************************************
7025 * Function Name : wm8994_aif1_dac2_lmrdacl_to_dac2l
7026 * Description : Enable AIF2 (Left) to DAC2L
7027 * Input : uint16_t
7028 * Output : None
7029 * Return : Status [WM8994_ERROR, WM8994_OK]
7030 *******************************************************************************/
7032 {
7033  int32_t ret;
7034  uint16_t tmp = 0;
7035 
7036  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC2_LMR, &tmp, 2);
7037 
7038  if(ret == 0)
7039  {
7042 
7043  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC2_LMR, &tmp, 2);
7044  }
7045 
7046  return ret;
7047 }
7048 
7049 /*******************************************************************************
7050 * Function Name : wm8994_aif1_dac2_lmradcl_to_dac2l
7051 * Description : Enable Sidetone STL to DAC2L
7052 * Input : uint16_t
7053 * Output : None
7054 * Return : Status [WM8994_ERROR, WM8994_OK]
7055 *******************************************************************************/
7057 {
7058  int32_t ret;
7059  uint16_t tmp = 0;
7060 
7061  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC2_LMR, &tmp, 2);
7062 
7063  if(ret == 0)
7064  {
7067 
7068  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC2_LMR, &tmp, 2);
7069  }
7070 
7071  return ret;
7072 }
7073 
7074 /*******************************************************************************
7075 * Function Name : wm8994_aif1_dac2_lmradcr_to_dac2l
7076 * Description : Enable Sidetone STR to DAC2L
7077 * Input : uint16_t
7078 * Output : None
7079 * Return : Status [WM8994_ERROR, WM8994_OK]
7080 *******************************************************************************/
7082 {
7083  int32_t ret;
7084  uint16_t tmp = 0;
7085 
7086  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC2_LMR, &tmp, 2);
7087 
7088  if(ret == 0)
7089  {
7092 
7093  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC2_LMR, &tmp, 2);
7094  }
7095 
7096  return ret;
7097 }
7098 
7099 /*******************************************************************************
7100 * Function Name : wm8994_aif1_dac2_rmrdac1r_to_dac2r
7101 * Description : Enable AIF1 (Timeslot 0, Right) to DAC2R
7102 * Input : uint16_t
7103 * Output : None
7104 * Return : Status [WM8994_ERROR, WM8994_OK]
7105 *******************************************************************************/
7107 {
7108  int32_t ret;
7109  uint16_t tmp = 0;
7110 
7111  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC2_RMR, &tmp, 2);
7112 
7113  if(ret == 0)
7114  {
7117 
7118  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC2_RMR, &tmp, 2);
7119  }
7120 
7121  return ret;
7122 }
7123 
7124 /*******************************************************************************
7125 * Function Name : wm8994_aif1_dac2_rmrdac2r_to_dac2r
7126 * Description : Enable AIF1 (Timeslot 1, Right) to DAC2R
7127 * Input : uint16_t
7128 * Output : None
7129 * Return : Status [WM8994_ERROR, WM8994_OK]
7130 *******************************************************************************/
7132 {
7133  int32_t ret;
7134  uint16_t tmp = 0;
7135 
7136  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC2_RMR, &tmp, 2);
7137 
7138  if(ret == 0)
7139  {
7142 
7143  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC2_RMR, &tmp, 2);
7144  }
7145 
7146  return ret;
7147 }
7148 
7149 /*******************************************************************************
7150 * Function Name : wm8994_aif1_dac2_rmrdacr_to_dac2r
7151 * Description : Enable AIF2 (Right) to DAC2R
7152 * Input : uint16_t
7153 * Output : None
7154 * Return : Status [WM8994_ERROR, WM8994_OK]
7155 *******************************************************************************/
7157 {
7158  int32_t ret;
7159  uint16_t tmp = 0;
7160 
7161  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC2_RMR, &tmp, 2);
7162 
7163  if(ret == 0)
7164  {
7167 
7168  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC2_RMR, &tmp, 2);
7169  }
7170 
7171  return ret;
7172 }
7173 
7174 /*******************************************************************************
7175 * Function Name : wm8994_aif1_dac2_rmradcl_to_dac2r
7176 * Description : Enable Sidetone STL to DAC2R
7177 * Input : uint16_t
7178 * Output : None
7179 * Return : Status [WM8994_ERROR, WM8994_OK]
7180 *******************************************************************************/
7182 {
7183  int32_t ret;
7184  uint16_t tmp = 0;
7185 
7186  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC2_RMR, &tmp, 2);
7187 
7188  if(ret == 0)
7189  {
7192 
7193  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC2_RMR, &tmp, 2);
7194  }
7195 
7196  return ret;
7197 }
7198 
7199 /*******************************************************************************
7200 * Function Name : wm8994_aif1_dac2_rmradcr_to_dac2r
7201 * Description : Enable Sidetone STR to DAC2R
7202 * Input : uint16_t
7203 * Output : None
7204 * Return : Status [WM8994_ERROR, WM8994_OK]
7205 *******************************************************************************/
7207 {
7208  int32_t ret;
7209  uint16_t tmp = 0;
7210 
7211  ret = wm8994_read_reg(ctx, WM8994_AIF1_DAC2_RMR, &tmp, 2);
7212 
7213  if(ret == 0)
7214  {
7217 
7218  ret = wm8994_write_reg(ctx, WM8994_AIF1_DAC2_RMR, &tmp, 2);
7219  }
7220 
7221  return ret;
7222 }
7223 
7224 /*******************************************************************************
7225 * Function Name : wm8994_adc1lmr_aif2dacl_to_aif1adc1l
7226 * Description : Enable AIF2 (Left) to AIF1 (Timeslot 0, Left) output
7227 * Input : uint16_t
7228 * Output : None
7229 * Return : Status [WM8994_ERROR, WM8994_OK]
7230 *******************************************************************************/
7232 {
7233  int32_t ret;
7234  uint16_t tmp = 0;
7235 
7236  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC1_LMR, &tmp, 2);
7237 
7238  if(ret == 0)
7239  {
7242 
7243  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC1_LMR, &tmp, 2);
7244  }
7245 
7246  return ret;
7247 }
7248 
7249 /*******************************************************************************
7250 * Function Name : wm8994_adc1lmr_adc1l_to_aif1adc1l
7251 * Description : Enable ADCL / DMIC1 (Left) to AIF1 (Timeslot 0, Left) output
7252 * Input : uint16_t
7253 * Output : None
7254 * Return : Status [WM8994_ERROR, WM8994_OK]
7255 *******************************************************************************/
7257 {
7258  int32_t ret;
7259  uint16_t tmp = 0;
7260 
7261  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC1_LMR, &tmp, 2);
7262 
7263  if(ret == 0)
7264  {
7267 
7268  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC1_LMR, &tmp, 2);
7269  }
7270 
7271  return ret;
7272 }
7273 
7274 /*******************************************************************************
7275 * Function Name : wm8994_adc1rmr_aif2dacl_to_aif1adc1r
7276 * Description : Enable AIF2 (Right) to AIF1 (Timeslot 0, Right) output
7277 * Input : uint16_t
7278 * Output : None
7279 * Return : Status [WM8994_ERROR, WM8994_OK]
7280 *******************************************************************************/
7282 {
7283  int32_t ret;
7284  uint16_t tmp = 0;
7285 
7286  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC1_RMR, &tmp, 2);
7287 
7288  if(ret == 0)
7289  {
7292 
7293  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC1_RMR, &tmp, 2);
7294  }
7295 
7296  return ret;
7297 }
7298 
7299 /*******************************************************************************
7300 * Function Name : wm8994_adc1rmr_adc1r_to_aif1adc1r
7301 * Description : Enable ADCR / DMIC1 (Right) to AIF1 (Timeslot 0, Right) output
7302 * Input : uint16_t
7303 * Output : None
7304 * Return : Status [WM8994_ERROR, WM8994_OK]
7305 *******************************************************************************/
7307 {
7308  int32_t ret;
7309  uint16_t tmp = 0;
7310 
7311  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC1_RMR, &tmp, 2);
7312 
7313  if(ret == 0)
7314  {
7317 
7318  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC1_RMR, &tmp, 2);
7319  }
7320 
7321  return ret;
7322 }
7323 
7324 /*******************************************************************************
7325 * Function Name : wm8994_adc2lmr_aif2dacl_to_aif1adc2l
7326 * Description : Enable AIF2 (Left) to AIF1 (Timeslot 1, Left) output
7327 * Input : uint16_t
7328 * Output : None
7329 * Return : Status [WM8994_ERROR, WM8994_OK]
7330 *******************************************************************************/
7332 {
7333  int32_t ret;
7334  uint16_t tmp = 0;
7335 
7336  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC2_LMR, &tmp, 2);
7337 
7338  if(ret == 0)
7339  {
7342 
7343  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC2_LMR, &tmp, 2);
7344  }
7345 
7346  return ret;
7347 }
7348 
7349 /*******************************************************************************
7350 * Function Name : wm8994_adc2lmr_adc2l_to_aif1adc2l
7351 * Description : Enable ADCL / DMIC1 (Left) to AIF1 (Timeslot 1, Left) output
7352 * Input : uint16_t
7353 * Output : None
7354 * Return : Status [WM8994_ERROR, WM8994_OK]
7355 *******************************************************************************/
7357 {
7358  int32_t ret;
7359  uint16_t tmp = 0;
7360 
7361  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC2_LMR, &tmp, 2);
7362 
7363  if(ret == 0)
7364  {
7367 
7368  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC2_LMR, &tmp, 2);
7369  }
7370 
7371  return ret;
7372 }
7373 
7374 /*******************************************************************************
7375 * Function Name : wm8994_adc2rmr_aif2dacl_to_aif1adc2r
7376 * Description : Enable AIF2 (Right) to AIF1 (Timeslot 1, Right) output
7377 * Input : uint16_t
7378 * Output : None
7379 * Return : Status [WM8994_ERROR, WM8994_OK]
7380 *******************************************************************************/
7382 {
7383  int32_t ret;
7384  uint16_t tmp = 0;
7385 
7386  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC2_RMR, &tmp, 2);
7387 
7388  if(ret == 0)
7389  {
7392 
7393  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC2_RMR, &tmp, 2);
7394  }
7395 
7396  return ret;
7397 }
7398 
7399 /*******************************************************************************
7400 * Function Name : wm8994_adc2rmr_adc2r_to_aif1adc2r
7401 * Description : Enable ADCR / DMIC1 (Right) to AIF1 (Timeslot 1, Right) output
7402 * Input : uint16_t
7403 * Output : None
7404 * Return : Status [WM8994_ERROR, WM8994_OK]
7405 *******************************************************************************/
7407 {
7408  int32_t ret;
7409  uint16_t tmp = 0;
7410 
7411  ret = wm8994_read_reg(ctx, WM8994_AIF1_ADC2_RMR, &tmp, 2);
7412 
7413  if(ret == 0)
7414  {
7417 
7418  ret = wm8994_write_reg(ctx, WM8994_AIF1_ADC2_RMR, &tmp, 2);
7419  }
7420 
7421  return ret;
7422 }
7423 
7424 /*******************************************************************************
7425 * Function Name : wm8994_dac1_left_vol_vset
7426 * Description : DAC1L Digital Volume
7427 * Input : uint16_t
7428 * Output : None
7429 * Return : Status [WM8994_ERROR, WM8994_OK]
7430 *******************************************************************************/
7431 int32_t wm8994_dac1_left_vol_vset(wm8994_ctx_t *ctx, uint16_t value)
7432 {
7433  int32_t ret;
7434  uint16_t tmp = 0;
7435 
7436  ret = wm8994_read_reg(ctx, WM8994_DAC1_LEFT_VOL, &tmp, 2);
7437 
7438  if(ret == 0)
7439  {
7441  tmp |= value << WM8994_DAC1_LEFT_VOL_VSET_POSITION;
7442 
7443  ret = wm8994_write_reg(ctx, WM8994_DAC1_LEFT_VOL, &tmp, 2);
7444  }
7445 
7446  return ret;
7447 }
7448 
7449 /*******************************************************************************
7450 * Function Name : wm8994_dac1_left_vol_vu
7451 * Description : DAC1L and DAC1R Volume Update
7452 * Input : uint16_t
7453 * Output : None
7454 * Return : Status [WM8994_ERROR, WM8994_OK]
7455 *******************************************************************************/
7456 int32_t wm8994_dac1_left_vol_vu(wm8994_ctx_t *ctx, uint16_t value)
7457 {
7458  int32_t ret;
7459  uint16_t tmp = 0;
7460 
7461  ret = wm8994_read_reg(ctx, WM8994_DAC1_LEFT_VOL, &tmp, 2);
7462 
7463  if(ret == 0)
7464  {
7466  tmp |= value << WM8994_DAC1_LEFT_VOL_VU_POSITION;
7467 
7468  ret = wm8994_write_reg(ctx, WM8994_DAC1_LEFT_VOL, &tmp, 2);
7469  }
7470 
7471  return ret;
7472 }
7473 
7474 /*******************************************************************************
7475 * Function Name : wm8994_dac1_left_vol_mute
7476 * Description : DAC1L Soft Mute Control
7477 * Input : uint16_t
7478 * Output : None
7479 * Return : Status [WM8994_ERROR, WM8994_OK]
7480 *******************************************************************************/
7481 int32_t wm8994_dac1_left_vol_mute(wm8994_ctx_t *ctx, uint16_t value)
7482 {
7483  int32_t ret;
7484  uint16_t tmp = 0;
7485 
7486  ret = wm8994_read_reg(ctx, WM8994_DAC1_LEFT_VOL, &tmp, 2);
7487 
7488  if(ret == 0)
7489  {
7491  tmp |= value << WM8994_DAC1_LEFT_VOL_MUTE_POSITION;
7492 
7493  ret = wm8994_write_reg(ctx, WM8994_DAC1_LEFT_VOL, &tmp, 2);
7494  }
7495 
7496  return ret;
7497 }
7498 
7499 /*******************************************************************************
7500 * Function Name : wm8994_dac1_right_vol_vset
7501 * Description : DAC1R Digital Volume
7502 * Input : uint16_t
7503 * Output : None
7504 * Return : Status [WM8994_ERROR, WM8994_OK]
7505 *******************************************************************************/
7506 int32_t wm8994_dac1_right_vol_vset(wm8994_ctx_t *ctx, uint16_t value)
7507 {
7508  int32_t ret;
7509  uint16_t tmp = 0;
7510 
7511  ret = wm8994_read_reg(ctx, WM8994_DAC1_RIGHT_VOL, &tmp, 2);
7512 
7513  if(ret == 0)
7514  {
7516  tmp |= value << WM8994_DAC1_RIGHT_VOL_VSET_POSITION;
7517 
7518  ret = wm8994_write_reg(ctx, WM8994_DAC1_RIGHT_VOL, &tmp, 2);
7519  }
7520 
7521  return ret;
7522 }
7523 
7524 /*******************************************************************************
7525 * Function Name : wm8994_dac1_right_vol_vu
7526 * Description : DAC1L and DAC1R Volume Update
7527 * Input : uint16_t
7528 * Output : None
7529 * Return : Status [WM8994_ERROR, WM8994_OK]
7530 *******************************************************************************/
7531 int32_t wm8994_dac1_right_vol_vu(wm8994_ctx_t *ctx, uint16_t value)
7532 {
7533  int32_t ret;
7534  uint16_t tmp = 0;
7535 
7536  ret = wm8994_read_reg(ctx, WM8994_DAC1_RIGHT_VOL, &tmp, 2);
7537 
7538  if(ret == 0)
7539  {
7541  tmp |= value << WM8994_DAC1_RIGHT_VOL_VU_POSITION;
7542 
7543  ret = wm8994_write_reg(ctx, WM8994_DAC1_RIGHT_VOL, &tmp, 2);
7544  }
7545 
7546  return ret;
7547 }
7548 
7549 /*******************************************************************************
7550 * Function Name : wm8994_dac1_right_vol_mute
7551 * Description : DAC1R Soft Mute Control
7552 * Input : uint16_t
7553 * Output : None
7554 * Return : Status [WM8994_ERROR, WM8994_OK]
7555 *******************************************************************************/
7556 int32_t wm8994_dac1_right_vol_mute(wm8994_ctx_t *ctx, uint16_t value)
7557 {
7558  int32_t ret;
7559  uint16_t tmp = 0;
7560 
7561  ret = wm8994_read_reg(ctx, WM8994_DAC1_RIGHT_VOL, &tmp, 2);
7562 
7563  if(ret == 0)
7564  {
7566  tmp |= value << WM8994_DAC1_RIGHT_VOL_MUTE_POSITION;
7567 
7568  ret = wm8994_write_reg(ctx, WM8994_DAC1_RIGHT_VOL, &tmp, 2);
7569  }
7570 
7571  return ret;
7572 }
7573 
7574 /*******************************************************************************
7575 * Function Name : wm8994_dac2_left_vol_vset
7576 * Description : DAC2L Digital Volume
7577 * Input : uint16_t
7578 * Output : None
7579 * Return : Status [WM8994_ERROR, WM8994_OK]
7580 *******************************************************************************/
7581 int32_t wm8994_dac2_left_vol_vset(wm8994_ctx_t *ctx, uint16_t value)
7582 {
7583  int32_t ret;
7584  uint16_t tmp = 0;
7585 
7586  ret = wm8994_read_reg(ctx, WM8994_DAC2_LEFT_VOL, &tmp, 2);
7587 
7588  if(ret == 0)
7589  {
7591  tmp |= value << WM8994_DAC2_LEFT_VOL_VSET_POSITION;
7592 
7593  ret = wm8994_write_reg(ctx, WM8994_DAC2_LEFT_VOL, &tmp, 2);
7594  }
7595 
7596  return ret;
7597 }
7598 
7599 /*******************************************************************************
7600 * Function Name : wm8994_dac2_left_vol_vu
7601 * Description : DAC2L and DAC2R Volume Update
7602 * Input : uint16_t
7603 * Output : None
7604 * Return : Status [WM8994_ERROR, WM8994_OK]
7605 *******************************************************************************/
7606 int32_t wm8994_dac2_left_vol_vu(wm8994_ctx_t *ctx, uint16_t value)
7607 {
7608  int32_t ret;
7609  uint16_t tmp = 0;
7610 
7611  ret = wm8994_read_reg(ctx, WM8994_DAC2_LEFT_VOL, &tmp, 2);
7612 
7613  if(ret == 0)
7614  {
7616  tmp |= value << WM8994_DAC2_LEFT_VOL_VU_POSITION;
7617 
7618  ret = wm8994_write_reg(ctx, WM8994_DAC2_LEFT_VOL, &tmp, 2);
7619  }
7620 
7621  return ret;
7622 }
7623 
7624 /*******************************************************************************
7625 * Function Name : wm8994_dac2_left_vol_mute
7626 * Description : DAC2L Soft Mute Control
7627 * Input : uint16_t
7628 * Output : None
7629 * Return : Status [WM8994_ERROR, WM8994_OK]
7630 *******************************************************************************/
7631 int32_t wm8994_dac2_left_vol_mute(wm8994_ctx_t *ctx, uint16_t value)
7632 {
7633  int32_t ret;
7634  uint16_t tmp = 0;
7635 
7636  ret = wm8994_read_reg(ctx, WM8994_DAC2_LEFT_VOL, &tmp, 2);
7637 
7638  if(ret == 0)
7639  {
7641  tmp |= value << WM8994_DAC2_LEFT_VOL_MUTE_POSITION;
7642 
7643  ret = wm8994_write_reg(ctx, WM8994_DAC2_LEFT_VOL, &tmp, 2);
7644  }
7645 
7646  return ret;
7647 }
7648 
7649 /*******************************************************************************
7650 * Function Name : wm8994_dac2_right_vol_vset
7651 * Description : DAC2R Digital Volume
7652 * Input : uint16_t
7653 * Output : None
7654 * Return : Status [WM8994_ERROR, WM8994_OK]
7655 *******************************************************************************/
7656 int32_t wm8994_dac2_right_vol_vset(wm8994_ctx_t *ctx, uint16_t value)
7657 {
7658  int32_t ret;
7659  uint16_t tmp = 0;
7660 
7661  ret = wm8994_read_reg(ctx, WM8994_DAC2_RIGHT_VOL, &tmp, 2);
7662 
7663  if(ret == 0)
7664  {
7666  tmp |= value << WM8994_DAC2_RIGHT_VOL_VSET_POSITION;
7667 
7668  ret = wm8994_write_reg(ctx, WM8994_DAC2_RIGHT_VOL, &tmp, 2);
7669  }
7670 
7671  return ret;
7672 }
7673 
7674 /*******************************************************************************
7675 * Function Name : wm8994_dac2_right_vol_vu
7676 * Description : DAC2L and DAC2R Volume Update
7677 * Input : uint16_t
7678 * Output : None
7679 * Return : Status [WM8994_ERROR, WM8994_OK]
7680 *******************************************************************************/
7681 int32_t wm8994_dac2_right_vol_vu(wm8994_ctx_t *ctx, uint16_t value)
7682 {
7683  int32_t ret;
7684  uint16_t tmp = 0;
7685 
7686  ret = wm8994_read_reg(ctx, WM8994_DAC2_RIGHT_VOL, &tmp, 2);
7687 
7688  if(ret == 0)
7689  {
7691  tmp |= value << WM8994_DAC2_RIGHT_VOL_VU_POSITION;
7692 
7693  ret = wm8994_write_reg(ctx, WM8994_DAC2_RIGHT_VOL, &tmp, 2);
7694  }
7695 
7696  return ret;
7697 }
7698 
7699 /*******************************************************************************
7700 * Function Name : wm8994_dac2_right_vol_mute
7701 * Description : DAC2R Soft Mute Control
7702 * Input : uint16_t
7703 * Output : None
7704 * Return : Status [WM8994_ERROR, WM8994_OK]
7705 *******************************************************************************/
7706 int32_t wm8994_dac2_right_vol_mute(wm8994_ctx_t *ctx, uint16_t value)
7707 {
7708  int32_t ret;
7709  uint16_t tmp = 0;
7710 
7711  ret = wm8994_read_reg(ctx, WM8994_DAC2_RIGHT_VOL, &tmp, 2);
7712 
7713  if(ret == 0)
7714  {
7716  tmp |= value << WM8994_DAC2_RIGHT_VOL_MUTE_POSITION;
7717 
7718  ret = wm8994_write_reg(ctx, WM8994_DAC2_RIGHT_VOL, &tmp, 2);
7719  }
7720 
7721  return ret;
7722 }
7723 
7724 /*******************************************************************************
7725 * Function Name : wm8994_oversampling_dac_osr128
7726 * Description : DAC Oversample Rate Select
7727 * Input : uint16_t
7728 * Output : None
7729 * Return : Status [WM8994_ERROR, WM8994_OK]
7730 *******************************************************************************/
7731 int32_t wm8994_oversampling_dac_osr128(wm8994_ctx_t *ctx, uint16_t value)
7732 {
7733  int32_t ret;
7734  uint16_t tmp = 0;
7735 
7736  ret = wm8994_read_reg(ctx, WM8994_DAC2_RIGHT_VOL, &tmp, 2);
7737 
7738  if(ret == 0)
7739  {
7742 
7743  ret = wm8994_write_reg(ctx, WM8994_DAC2_RIGHT_VOL, &tmp, 2);
7744  }
7745 
7746  return ret;
7747 }
7748 
7749 /*******************************************************************************
7750 * Function Name : wm8994_oversampling_adc_osr128
7751 * Description : ADC / Digital Microphone Oversample Rate Select
7752 * Input : uint16_t
7753 * Output : None
7754 * Return : Status [WM8994_ERROR, WM8994_OK]
7755 *******************************************************************************/
7756 int32_t wm8994_oversampling_adc_osr128(wm8994_ctx_t *ctx, uint16_t value)
7757 {
7758  int32_t ret;
7759  uint16_t tmp = 0;
7760 
7761  ret = wm8994_read_reg(ctx, WM8994_DAC2_RIGHT_VOL, &tmp, 2);
7762 
7763  if(ret == 0)
7764  {
7767 
7768  ret = wm8994_write_reg(ctx, WM8994_DAC2_RIGHT_VOL, &tmp, 2);
7769  }
7770 
7771  return ret;
7772 }
7773 
7774 /*******************************************************************************
7775 * Function Name : wm8994_gpio1_gp1_fn
7776 * Description : GPIO1 Pin Function
7777 * Input : uint16_t
7778 * Output : None
7779 * Return : Status [WM8994_ERROR, WM8994_OK]
7780 *******************************************************************************/
7781 int32_t wm8994_gpio1_gp1_fn(wm8994_ctx_t *ctx, uint16_t value)
7782 {
7783  int32_t ret;
7784  uint16_t tmp = 0;
7785 
7786  ret = wm8994_read_reg(ctx, WM8994_GPIO1, &tmp, 2);
7787 
7788  if(ret == 0)
7789  {
7790  tmp &= ~WM8994_GPIO1_GP1_FN_MASK;
7791  tmp |= value << WM8994_GPIO1_GP1_FN_POSITION;
7792 
7793  ret = wm8994_write_reg(ctx, WM8994_GPIO1, &tmp, 2);
7794  }
7795 
7796  return ret;
7797 }
7798 
7799 /*******************************************************************************
7800 * Function Name : wm8994_gpio1_gp1_lvl
7801 * Description : GPIO1 level
7802 * Input : uint16_t
7803 * Output : None
7804 * Return : Status [WM8994_ERROR, WM8994_OK]
7805 *******************************************************************************/
7806 int32_t wm8994_gpio1_gp1_lvl(wm8994_ctx_t *ctx, uint16_t value)
7807 {
7808  int32_t ret;
7809  uint16_t tmp = 0;
7810 
7811  ret = wm8994_read_reg(ctx, WM8994_GPIO1, &tmp, 2);
7812 
7813  if(ret == 0)
7814  {
7815  tmp &= ~WM8994_GPIO1_GP1_LVL_MASK;
7816  tmp |= value << WM8994_GPIO1_GP1_LVL_POSITION;
7817 
7818  ret = wm8994_write_reg(ctx, WM8994_GPIO1, &tmp, 2);
7819  }
7820 
7821  return ret;
7822 }
7823 
7824 /*******************************************************************************
7825 * Function Name : wm8994_gpio1_gp1_db
7826 * Description : GPIO1 Input De-bounce
7827 * Input : uint16_t
7828 * Output : None
7829 * Return : Status [WM8994_ERROR, WM8994_OK]
7830 *******************************************************************************/
7831 int32_t wm8994_gpio1_gp1_db(wm8994_ctx_t *ctx, uint16_t value)
7832 {
7833  int32_t ret;
7834  uint16_t tmp = 0;
7835 
7836  ret = wm8994_read_reg(ctx, WM8994_GPIO1, &tmp, 2);
7837 
7838  if(ret == 0)
7839  {
7840  tmp &= ~WM8994_GPIO1_GP1_DB_MASK;
7841  tmp |= value << WM8994_GPIO1_GP1_DB_POSITION;
7842 
7843  ret = wm8994_write_reg(ctx, WM8994_GPIO1, &tmp, 2);
7844  }
7845 
7846  return ret;
7847 }
7848 
7849 /*******************************************************************************
7850 * Function Name : wm8994_gpio1_gp1_op_cfg
7851 * Description : GPIO1 Output Configuration
7852 * Input : uint16_t
7853 * Output : None
7854 * Return : Status [WM8994_ERROR, WM8994_OK]
7855 *******************************************************************************/
7856 int32_t wm8994_gpio1_gp1_op_cfg(wm8994_ctx_t *ctx, uint16_t value)
7857 {
7858  int32_t ret;
7859  uint16_t tmp = 0;
7860 
7861  ret = wm8994_read_reg(ctx, WM8994_GPIO1, &tmp, 2);
7862 
7863  if(ret == 0)
7864  {
7866  tmp |= value << WM8994_GPIO1_GP1_OP_CFG_POSITION;
7867 
7868  ret = wm8994_write_reg(ctx, WM8994_GPIO1, &tmp, 2);
7869  }
7870 
7871  return ret;
7872 }
7873 
7874 /*******************************************************************************
7875 * Function Name : wm8994_gpio1_gp1_pol
7876 * Description : GPIO1 Polarity Select
7877 * Input : uint16_t
7878 * Output : None
7879 * Return : Status [WM8994_ERROR, WM8994_OK]
7880 *******************************************************************************/
7881 int32_t wm8994_gpio1_gp1_pol(wm8994_ctx_t *ctx, uint16_t value)
7882 {
7883  int32_t ret;
7884  uint16_t tmp = 0;
7885 
7886  ret = wm8994_read_reg(ctx, WM8994_GPIO1, &tmp, 2);
7887 
7888  if(ret == 0)
7889  {
7890  tmp &= ~WM8994_GPIO1_GP1_POL_MASK;
7891  tmp |= value << WM8994_GPIO1_GP1_POL_POSITION;
7892 
7893  ret = wm8994_write_reg(ctx, WM8994_GPIO1, &tmp, 2);
7894  }
7895 
7896  return ret;
7897 }
7898 
7899 /*******************************************************************************
7900 * Function Name : wm8994_gpio1_gp1_pd
7901 * Description : GPIO1 Pull-Down Enable
7902 * Input : uint16_t
7903 * Output : None
7904 * Return : Status [WM8994_ERROR, WM8994_OK]
7905 *******************************************************************************/
7906 int32_t wm8994_gpio1_gp1_pd(wm8994_ctx_t *ctx, uint16_t value)
7907 {
7908  int32_t ret;
7909  uint16_t tmp = 0;
7910 
7911  ret = wm8994_read_reg(ctx, WM8994_GPIO1, &tmp, 2);
7912 
7913  if(ret == 0)
7914  {
7915  tmp &= ~WM8994_GPIO1_GP1_PD_MASK;
7916  tmp |= value << WM8994_GPIO1_GP1_PD_POSITION;
7917 
7918  ret = wm8994_write_reg(ctx, WM8994_GPIO1, &tmp, 2);
7919  }
7920 
7921  return ret;
7922 }
7923 
7924 /*******************************************************************************
7925 * Function Name : wm8994_gpio1_gp1_pu
7926 * Description : GPIO1 Pull-Up Enable
7927 * Input : uint16_t
7928 * Output : None
7929 * Return : Status [WM8994_ERROR, WM8994_OK]
7930 *******************************************************************************/
7931 int32_t wm8994_gpio1_gp1_pu(wm8994_ctx_t *ctx, uint16_t value)
7932 {
7933  int32_t ret;
7934  uint16_t tmp = 0;
7935 
7936  ret = wm8994_read_reg(ctx, WM8994_GPIO1, &tmp, 2);
7937 
7938  if(ret == 0)
7939  {
7940  tmp &= ~WM8994_GPIO1_GP1_PU_MASK;
7941  tmp |= value << WM8994_GPIO1_GP1_PU_POSITION;
7942 
7943  ret = wm8994_write_reg(ctx, WM8994_GPIO1, &tmp, 2);
7944  }
7945 
7946  return ret;
7947 }
7948 
7949 /*******************************************************************************
7950 * Function Name : wm8994_gpio1_gp1_dir
7951 * Description : GPIO1 Pin Direction
7952 * Input : uint16_t
7953 * Output : None
7954 * Return : Status [WM8994_ERROR, WM8994_OK]
7955 *******************************************************************************/
7956 int32_t wm8994_gpio1_gp1_dir(wm8994_ctx_t *ctx, uint16_t value)
7957 {
7958  int32_t ret;
7959  uint16_t tmp = 0;
7960 
7961  ret = wm8994_read_reg(ctx, WM8994_GPIO1, &tmp, 2);
7962 
7963  if(ret == 0)
7964  {
7965  tmp &= ~WM8994_GPIO1_GP1_DIR_MASK;
7966  tmp |= value << WM8994_GPIO1_GP1_DIR_POSITION;
7967 
7968  ret = wm8994_write_reg(ctx, WM8994_GPIO1, &tmp, 2);
7969  }
7970 
7971  return ret;
7972 }
7973 
7974 /******************************************************************************/
7987 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
WM8994_OUTMIXER2_IN2RP_TO_MIXOUTR_POSITION
#define WM8994_OUTMIXER2_IN2RP_TO_MIXOUTR_POSITION
Definition: wm8994_reg.h:1774
wm8994_pwr_mgmt_4_aif1adc2l_ena
int32_t wm8994_pwr_mgmt_4_aif1adc2l_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1048
wm8994_aif1drc2_knee2_op_ena
int32_t wm8994_aif1drc2_knee2_op_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6531
wm8994_lli_in2l_vol
int32_t wm8994_lli_in2l_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1674
WM8994_INMIXER5_IN2LRP_MIXINL_VOL_MASK
#define WM8994_INMIXER5_IN2LRP_MIXINL_VOL_MASK
Definition: wm8994_reg.h:1632
wm8994_gpio1_gp1_op_cfg
int32_t wm8994_gpio1_gp1_op_cfg(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7856
WM8994_DAC2_LEFT_VOL_VU_POSITION
#define WM8994_DAC2_LEFT_VOL_VU_POSITION
Definition: wm8994_reg.h:3399
WM8994_INPUT_MIXER_2
#define WM8994_INPUT_MIXER_2
Definition: wm8994_reg.h:91
WM8994_AIF1_DAC1_FILTER1_DEEMP_MASK
#define WM8994_AIF1_DAC1_FILTER1_DEEMP_MASK
Definition: wm8994_reg.h:2695
wm8994_aif1_adc2_right_vol_vu
int32_t wm8994_aif1_adc2_right_vol_vu(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5648
WM8994_LO_HPOUT1L_ZC_POSITION
#define WM8994_LO_HPOUT1L_ZC_POSITION
Definition: wm8994_reg.h:1168
WM8994_LLI_IN2L_VOL_MASK
#define WM8994_LLI_IN2L_VOL_MASK
Definition: wm8994_reg.h:1026
WM8994_INMIXER5_IN1LP_MIXINL_VOL_POSITION
#define WM8994_INMIXER5_IN1LP_MIXINL_VOL_POSITION
Definition: wm8994_reg.h:1643
WM8994_LLI_IN2L_MUTE_POSITION
#define WM8994_LLI_IN2L_MUTE_POSITION
Definition: wm8994_reg.h:1047
wm8994_outmixer2_in2rn_to_mixoutr
int32_t wm8994_outmixer2_in2rn_to_mixoutr(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3623
wm8994_spkmixer_dac2r_to_spkmixr
int32_t wm8994_spkmixer_dac2r_to_spkmixr(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3948
wm8994_aif1drc1_sig_det_mode
int32_t wm8994_aif1drc1_sig_det_mode(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6306
WM8994_SPKMIXER_MIXINR_TO_SPKMIXR_MASK
#define WM8994_SPKMIXER_MIXINR_TO_SPKMIXR_MASK
Definition: wm8994_reg.h:1915
WM8994_SPK_RIGHT_VOL_SPKOUT_ZC_POSITION
#define WM8994_SPK_RIGHT_VOL_SPKOUT_ZC_POSITION
Definition: wm8994_reg.h:1433
WM8994_OUTMIXER1_MIXINL_TO_MIXOUTL_POSITION
#define WM8994_OUTMIXER1_MIXINL_TO_MIXOUTL_POSITION
Definition: wm8994_reg.h:1734
wm8994_clocking1_sysdspclk_ena
int32_t wm8994_clocking1_sysdspclk_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4908
WM8994_ANTIPOP2_STARTUP_BIAS_ENA_POSITION
#define WM8994_ANTIPOP2_STARTUP_BIAS_ENA_POSITION
Definition: wm8994_reg.h:1978
WM8994_PWR_MGMT_4_ADCL_ENA_POSITION
#define WM8994_PWR_MGMT_4_ADCL_ENA_POSITION
Definition: wm8994_reg.h:697
wm8994_aif1drc1_sig_det_rms
int32_t wm8994_aif1drc1_sig_det_rms(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6381
WM8994_ANTIPOP2_MICB2_DISCH_POSITION
#define WM8994_ANTIPOP2_MICB2_DISCH_POSITION
Definition: wm8994_reg.h:2018
wm8994_pwr_mgmt_6_aif3_tri
int32_t wm8994_pwr_mgmt_6_aif3_tri(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1474
WM8994_DAC1_RIGHT_VOL_VU_MASK
#define WM8994_DAC1_RIGHT_VOL_VU_MASK
Definition: wm8994_reg.h:3368
WM8994_SPKMIXL_ATT_SPKAB_REFSEL_MASK
#define WM8994_SPKMIXL_ATT_SPKAB_REFSEL_MASK
Definition: wm8994_reg.h:1290
wm8994_spkmixr_att_mixoutl_vol
int32_t wm8994_spkmixr_att_mixoutl_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2421
wm8994_outmixer2_mixinl_to_mixoutr
int32_t wm8994_outmixer2_mixinl_to_mixoutr(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3698
WM8994_AIF1_DAC2_FILTER1_MUTE_POSITION
#define WM8994_AIF1_DAC2_FILTER1_MUTE_POSITION
Definition: wm8994_reg.h:2786
WM8994_OUTMIXER1_IN2RN_TO_MIXOUTL_MASK
#define WM8994_OUTMIXER1_IN2RN_TO_MIXOUTL_MASK
Definition: wm8994_reg.h:1723
WM8994_PWR_MGMT_3_LINEOUT1N_ENA_MASK
#define WM8994_PWR_MGMT_3_LINEOUT1N_ENA_MASK
Definition: wm8994_reg.h:676
WM8994_INMIXER4_IN1R_TO_MIXINR_MASK
#define WM8994_INMIXER4_IN1R_TO_MIXINR_MASK
Definition: wm8994_reg.h:1602
WM8994_RLI_IN1R_ZC_POSITION
#define WM8994_RLI_IN1R_ZC_POSITION
Definition: wm8994_reg.h:1077
WM8994_ANALOG_HP_HPOUT1L_DLY_MASK
#define WM8994_ANALOG_HP_HPOUT1L_DLY_MASK
Definition: wm8994_reg.h:2200
WM8994_CLOCKING1_AIF1DSPCLK_ENA_POSITION
#define WM8994_CLOCKING1_AIF1DSPCLK_ENA_POSITION
Definition: wm8994_reg.h:2345
wm8994_lli_in1l_vol
int32_t wm8994_lli_in1l_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1574
WM8994_DC_SERVO1_DCS_TRIG_STARTUP_1_MASK
#define WM8994_DC_SERVO1_DCS_TRIG_STARTUP_1_MASK
Definition: wm8994_reg.h:2118
wm8994_pwr_mgmt_4_dmic2r_ena
int32_t wm8994_pwr_mgmt_4_dmic2r_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:923
wm8994_spkmixl_att_vol
int32_t wm8994_spkmixl_att_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2196
WM8994_SPK_LEFT_VOL_SPKOUT_VU_MASK
#define WM8994_SPK_LEFT_VOL_SPKOUT_VU_MASK
Definition: wm8994_reg.h:1402
WM8994_SPKMIXL_ATT_MIXINL_VOL_POSITION
#define WM8994_SPKMIXL_ATT_MIXINL_VOL_POSITION
Definition: wm8994_reg.h:1271
wm8994_ctx_t::handle
void * handle
Definition: wm8994_reg.h:375
WM8994_SPKMIXER_MIXOUTR_TO_SPKMIXR_MASK
#define WM8994_SPKMIXER_MIXOUTR_TO_SPKMIXR_MASK
Definition: wm8994_reg.h:1875
wm8994_read_reg
int32_t wm8994_read_reg(wm8994_ctx_t *ctx, uint16_t reg, uint16_t *data, uint16_t length)
Definition: wm8994_reg.c:46
WM8994_CLOCKING2_TOCLK_DIV_MASK
#define WM8994_CLOCKING2_TOCLK_DIV_MASK
Definition: wm8994_reg.h:2384
wm8994_pwr_mgmt_4_dmic2l_ena
int32_t wm8994_pwr_mgmt_4_dmic2l_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:948
WM8994_RLI_IN2R_VOL_MASK
#define WM8994_RLI_IN2R_VOL_MASK
Definition: wm8994_reg.h:1106
WM8994_OUTMIXER2_MIXINR_TO_MIXOUTR_POSITION
#define WM8994_OUTMIXER2_MIXINR_TO_MIXOUTR_POSITION
Definition: wm8994_reg.h:1824
wm8994_pwr_mgmt_5_aif1dac1l_ena
int32_t wm8994_pwr_mgmt_5_aif1dac1l_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1249
wm8994_aif1_adc1_filters_adc1r_hpf
int32_t wm8994_aif1_adc1_filters_adc1r_hpf(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5674
WM8994_SPK_LEFT_VOL_SPKOUT_MUTE_N_MASK
#define WM8994_SPK_LEFT_VOL_SPKOUT_MUTE_N_MASK
Definition: wm8994_reg.h:1382
WM8994_PWR_MGMT_6_AIF2_ADCDAT_SRC_MASK
#define WM8994_PWR_MGMT_6_AIF2_ADCDAT_SRC_MASK
Definition: wm8994_reg.h:926
wm8994_aif1_adc1_filters_4fs
int32_t wm8994_aif1_adc1_filters_4fs(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5752
WM8994_SPK_RIGHT_VOL
#define WM8994_SPK_RIGHT_VOL
Definition: wm8994_reg.h:88
WM8994_PWR_MGMT_3_MIXOUTL_ENA_POSITION
#define WM8994_PWR_MGMT_3_MIXOUTL_ENA_POSITION
Definition: wm8994_reg.h:597
WM8994_DAC1_LEFT_VOL_VSET_POSITION
#define WM8994_DAC1_LEFT_VOL_VSET_POSITION
Definition: wm8994_reg.h:3329
WM8994_DAC2_RIGHT_VOL
#define WM8994_DAC2_RIGHT_VOL
Definition: wm8994_reg.h:321
WM8994_AIF1DRC1_SIG_DET_PK_MASK
#define WM8994_AIF1DRC1_SIG_DET_PK_MASK
Definition: wm8994_reg.h:2885
WM8994_PWR_MGMT_5_DAC2R_ENA_POSITION
#define WM8994_PWR_MGMT_5_DAC2R_ENA_POSITION
Definition: wm8994_reg.h:827
WM8994_AIF1_DAC1_LMRADCR_TO_DAC1L_MASK
#define WM8994_AIF1_DAC1_LMRADCR_TO_DAC1L_MASK
Definition: wm8994_reg.h:3086
wm8994_dac2_right_vol_vu
int32_t wm8994_dac2_right_vol_vu(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7681
WM8994_AIF1DRC2_DAC2_DRC_ENA_POSITION
#define WM8994_AIF1DRC2_DAC2_DRC_ENA_POSITION
Definition: wm8994_reg.h:2929
WM8994_ADC1LMR_ADC1L_TO_AIF1ADC1L_POSITION
#define WM8994_ADC1LMR_ADC1L_TO_AIF1ADC1L_POSITION
Definition: wm8994_reg.h:3257
wm8994_aif1_adc1_filters_hpf_cut
int32_t wm8994_aif1_adc1_filters_hpf_cut(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5726
WM8994_ANTIPOP2_VMID_DISCH_MASK
#define WM8994_ANTIPOP2_VMID_DISCH_MASK
Definition: wm8994_reg.h:1957
WM8994_INMIXER2_IN1RN_TO_IN1R_POSITION
#define WM8994_INMIXER2_IN1RN_TO_IN1R_POSITION
Definition: wm8994_reg.h:1453
WM8994_AIF1_CONTROL1_ADCR_SRC_POSITION
#define WM8994_AIF1_CONTROL1_ADCR_SRC_POSITION
Definition: wm8994_reg.h:2470
WM8994_CLOCKING1_SYSDSPCLK_ENA_POSITION
#define WM8994_CLOCKING1_SYSDSPCLK_ENA_POSITION
Definition: wm8994_reg.h:2325
WM8994_AIF1_CLOCKING1_ENA_MASK
#define WM8994_AIF1_CLOCKING1_ENA_MASK
Definition: wm8994_reg.h:2272
wm8994_aif1_clocking1_ena
int32_t wm8994_aif1_clocking1_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4783
wm8994_aif1_dac2_rmrdac2r_to_dac2r
int32_t wm8994_aif1_dac2_rmrdac2r_to_dac2r(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7131
WM8994_PWR_MGMT_3_LINEOUT2P_ENA_MASK
#define WM8994_PWR_MGMT_3_LINEOUT2P_ENA_MASK
Definition: wm8994_reg.h:646
WM8994_ANALOG_HP_HPOUT1R_DLY_POSITION
#define WM8994_ANALOG_HP_HPOUT1R_DLY_POSITION
Definition: wm8994_reg.h:2171
WM8994_CLOCKING2
#define WM8994_CLOCKING2
Definition: wm8994_reg.h:141
WM8994_AIF1_DAC1_FILTER1_MUTERATE_MASK
#define WM8994_AIF1_DAC1_FILTER1_MUTERATE_MASK
Definition: wm8994_reg.h:2715
WM8994_AIF1DRC2_ANTICLIP_POSITION
#define WM8994_AIF1DRC2_ANTICLIP_POSITION
Definition: wm8994_reg.h:2939
wm8994_reg.h
Header of wm8994_reg.c.
WM8994_AIF1DRC2_ADC2R_DRC_ENA_MASK
#define WM8994_AIF1DRC2_ADC2R_DRC_ENA_MASK
Definition: wm8994_reg.h:2908
wm8994_aif1_dac2_lmrdac1l_to_dac2l
int32_t wm8994_aif1_dac2_lmrdac1l_to_dac2l(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6981
WM8994_SPKMIXER_MIXINR_TO_SPKMIXR_POSITION
#define WM8994_SPKMIXER_MIXINR_TO_SPKMIXR_POSITION
Definition: wm8994_reg.h:1916
WM8994_AIF1_CONTROL1_FMT_POSITION
#define WM8994_AIF1_CONTROL1_FMT_POSITION
Definition: wm8994_reg.h:2419
wm8994_adc2rmr_adc2r_to_aif1adc2r
int32_t wm8994_adc2rmr_adc2r_to_aif1adc2r(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7406
WM8994_ANALOG_HP_HPOUT1L_RMV_SHORT_MASK
#define WM8994_ANALOG_HP_HPOUT1L_RMV_SHORT_MASK
Definition: wm8994_reg.h:2220
WM8994_AIF1_ADC2_FILTERS_ADC2L_HPF_MASK
#define WM8994_AIF1_ADC2_FILTERS_ADC2L_HPF_MASK
Definition: wm8994_reg.h:2665
WM8994_WSEQ_CTRL1_ENA_POSITION
#define WM8994_WSEQ_CTRL1_ENA_POSITION
Definition: wm8994_reg.h:2263
wm8994_pwr_mgmt_2_in1l_ena
int32_t wm8994_pwr_mgmt_2_in1l_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:398
wm8994_inmixer6_in1rp_mixinr_vol
int32_t wm8994_inmixer6_in1rp_mixinr_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3273
WM8994_WRITE_SEQ_CTRL1
#define WM8994_WRITE_SEQ_CTRL1
Definition: wm8994_reg.h:132
WM8994_CLOCKING1_AIF2DSPCLK_ENA_POSITION
#define WM8994_CLOCKING1_AIF2DSPCLK_ENA_POSITION
Definition: wm8994_reg.h:2335
wm8994_aif1_clocking1_div
int32_t wm8994_aif1_clocking1_div(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4808
WM8994_AIF1_DAC1_LMRADCL_TO_DAC1L_POSITION
#define WM8994_AIF1_DAC1_LMRADCL_TO_DAC1L_POSITION
Definition: wm8994_reg.h:3077
wm8994_lo_hpout1l_vol_r
int32_t wm8994_lo_hpout1l_vol_r(wm8994_ctx_t *ctx, uint16_t *value)
Definition: wm8994_reg.c:1999
WM8994_OUTMIXER1_IN1L_TO_MIXOUTL_POSITION
#define WM8994_OUTMIXER1_IN1L_TO_MIXOUTL_POSITION
Definition: wm8994_reg.h:1694
wm8994_inmixer6_in2lrp_mixinr_vol
int32_t wm8994_inmixer6_in2lrp_mixinr_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3248
wm8994_wseq_ctrl1_ena
int32_t wm8994_wseq_ctrl1_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4758
wm8994_pwr_mgmt_5_dac1r_ena
int32_t wm8994_pwr_mgmt_5_dac1r_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1123
wm8994_dac1_right_vol_vset
int32_t wm8994_dac1_right_vol_vset(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7506
wm8994_spkmixl_att_dac1_vol
int32_t wm8994_spkmixl_att_dac1_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2221
WM8994_SPKMIXER_MIXOUTL_TO_SPKMIXL_POSITION
#define WM8994_SPKMIXER_MIXOUTL_TO_SPKMIXL_POSITION
Definition: wm8994_reg.h:1886
wm8994_clocking1_aif2dspclk_ena
int32_t wm8994_clocking1_aif2dspclk_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4933
wm8994_pwr_mgmt_3_spkrvol_ena
int32_t wm8994_pwr_mgmt_3_spkrvol_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:698
WM8994_INMIXER1_INPUTS_CLAMP_MASK
#define WM8994_INMIXER1_INPUTS_CLAMP_MASK
Definition: wm8994_reg.h:956
wm8994_aif1_dac2_filter1_mono
int32_t wm8994_aif1_dac2_filter1_mono(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6081
WM8994_OUTMIXER2_MIXINL_TO_MIXOUTR_MASK
#define WM8994_OUTMIXER2_MIXINL_TO_MIXOUTR_MASK
Definition: wm8994_reg.h:1833
WM8994_PWR_MGMT_5_DAC2R_ENA_MASK
#define WM8994_PWR_MGMT_5_DAC2R_ENA_MASK
Definition: wm8994_reg.h:826
wm8994_aif1_dac2_lmradcl_to_dac2l
int32_t wm8994_aif1_dac2_lmradcl_to_dac2l(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7056
WM8994_AIF1DRC1_KNEE2_OP_ENA_MASK
#define WM8994_AIF1DRC1_KNEE2_OP_ENA_MASK
Definition: wm8994_reg.h:2845
WM8994_OUTMIXER1_MIXINR_TO_MIXOUTL_MASK
#define WM8994_OUTMIXER1_MIXINR_TO_MIXOUTL_MASK
Definition: wm8994_reg.h:1743
wm8994_inmixer2_in2rn_to_in2r
int32_t wm8994_inmixer2_in2rn_to_in2r(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2796
WM8994_AIF1DRC1_QR_MASK
#define WM8994_AIF1DRC1_QR_MASK
Definition: wm8994_reg.h:2835
WM8994_INMIXER4_MIXOUTR_MIXINR_VOL_POSITION
#define WM8994_INMIXER4_MIXOUTR_MIXINR_VOL_POSITION
Definition: wm8994_reg.h:1583
WM8994_ANALOG_HP_HPOUT1L_DLY_POSITION
#define WM8994_ANALOG_HP_HPOUT1L_DLY_POSITION
Definition: wm8994_reg.h:2201
WM8994_LLI_IN1L_VOL_MASK
#define WM8994_LLI_IN1L_VOL_MASK
Definition: wm8994_reg.h:986
WM8994_AIF1DRC1_NG_ENA_POSITION
#define WM8994_AIF1DRC1_NG_ENA_POSITION
Definition: wm8994_reg.h:2876
WM8994_PWR_MGMT_5_AIF1DAC1L_ENA_MASK
#define WM8994_PWR_MGMT_5_AIF1DAC1L_ENA_MASK
Definition: wm8994_reg.h:856
WM8994_AIF1_ADC2_FILTERS_HPF_CUT_POSITION
#define WM8994_AIF1_ADC2_FILTERS_HPF_CUT_POSITION
Definition: wm8994_reg.h:2676
WM8994_PWR_MANAGEMENT_4
#define WM8994_PWR_MANAGEMENT_4
Definition: wm8994_reg.h:58
wm8994_pwr_mgmt_1_spkoutl_ena
int32_t wm8994_pwr_mgmt_1_spkoutl_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:298
WM8994_PWR_MGMT_1_MICB2_ENA_POSITION
#define WM8994_PWR_MGMT_1_MICB2_ENA_POSITION
Definition: wm8994_reg.h:437
WM8994_PWR_MGMT_6_AIF1_DACDAT_SRC_POSITION
#define WM8994_PWR_MGMT_6_AIF1_DACDAT_SRC_POSITION
Definition: wm8994_reg.h:907
WM8994_PWR_MGMT_4_AIF2ADCL_ENA_POSITION
#define WM8994_PWR_MGMT_4_AIF2ADCL_ENA_POSITION
Definition: wm8994_reg.h:797
WM8994_DAC2_RIGHT_VOL_MUTE_MASK
#define WM8994_DAC2_RIGHT_VOL_MUTE_MASK
Definition: wm8994_reg.h:3438
WM8994_GPIO1_GP1_PU_POSITION
#define WM8994_GPIO1_GP1_PU_POSITION
Definition: wm8994_reg.h:3529
WM8994_DC_SERVO1_DCS_ENA_CHAN_0_POSITION
#define WM8994_DC_SERVO1_DCS_ENA_CHAN_0_POSITION
Definition: wm8994_reg.h:2069
wm8994_pwr_mgmt_4_aif1adc2r_ena
int32_t wm8994_pwr_mgmt_4_aif1adc2r_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1023
wm8994_analog_hp_hpout1l_outp
int32_t wm8994_analog_hp_hpout1l_outp(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4627
wm8994_spkmixr_att_spkout_classab
int32_t wm8994_spkmixr_att_spkout_classab(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2521
WM8994_PWR_MGMT_2_IN1R_ENA_POSITION
#define WM8994_PWR_MGMT_2_IN1R_ENA_POSITION
Definition: wm8994_reg.h:497
WM8994_AIF1_ADC1_LMR
#define WM8994_AIF1_ADC1_LMR
Definition: wm8994_reg.h:309
WM8994_PWR_MGMT_5_AIF2DACR_ENA_POSITION
#define WM8994_PWR_MGMT_5_AIF2DACR_ENA_POSITION
Definition: wm8994_reg.h:887
wm8994_dac2_left_vol_vset
int32_t wm8994_dac2_left_vol_vset(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7581
WM8994_DC_SERVO1
#define WM8994_DC_SERVO1
Definition: wm8994_reg.h:122
wm8994_aif1_dac1_lmrdac2l_to_dac1l
int32_t wm8994_aif1_dac1_lmrdac2l_to_dac1l(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6756
WM8994_AIF1DRC2_NG_ENA_MASK
#define WM8994_AIF1DRC2_NG_ENA_MASK
Definition: wm8994_reg.h:2988
WM8994_AIF1_DAC2_RMRDAC1R_TO_DAC2R_POSITION
#define WM8994_AIF1_DAC2_RMRDAC1R_TO_DAC2R_POSITION
Definition: wm8994_reg.h:3197
WM8994_GPIO1_GP1_FN_MASK
#define WM8994_GPIO1_GP1_FN_MASK
Definition: wm8994_reg.h:3468
WM8994_AIF1_DAC1_RMRDACR_TO_DAC1R_POSITION
#define WM8994_AIF1_DAC1_RMRDACR_TO_DAC1R_POSITION
Definition: wm8994_reg.h:3117
WM8994_AIF1DRC1_NG_ENA_MASK
#define WM8994_AIF1DRC1_NG_ENA_MASK
Definition: wm8994_reg.h:2875
WM8994_PWR_MGMT_2_TSHUT_ENA_POSITION
#define WM8994_PWR_MGMT_2_TSHUT_ENA_POSITION
Definition: wm8994_reg.h:577
WM8994_SPKMIXL_ATT_DAC1_VOL_POSITION
#define WM8994_SPKMIXL_ATT_DAC1_VOL_POSITION
Definition: wm8994_reg.h:1241
wm8994_aif1drc1_qr
int32_t wm8994_aif1drc1_qr(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6231
WM8994_WSEQ_CTRL1_START_POSITION
#define WM8994_WSEQ_CTRL1_START_POSITION
Definition: wm8994_reg.h:2243
WM8994_INMIXER6_IN2LRP_MIXINR_VOL_MASK
#define WM8994_INMIXER6_IN2LRP_MIXINR_VOL_MASK
Definition: wm8994_reg.h:1653
WM8994_AIF1_DAC2_FILTER1_MUTE_MASK
#define WM8994_AIF1_DAC2_FILTER1_MUTE_MASK
Definition: wm8994_reg.h:2785
wm8994_inmixer2_in1ln_to_in1l
int32_t wm8994_inmixer2_in1ln_to_in1l(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2846
WM8994_PWR_MGMT_3_LINEOUT1P_ENA_POSITION
#define WM8994_PWR_MGMT_3_LINEOUT1P_ENA_POSITION
Definition: wm8994_reg.h:667
WM8994_AIF1_CONTROL1_LRCLK_INV_POSITION
#define WM8994_AIF1_CONTROL1_LRCLK_INV_POSITION
Definition: wm8994_reg.h:2440
WM8994_AIF1_DAC1_RMRDAC1R_TO_DAC1R_MASK
#define WM8994_AIF1_DAC1_RMRDAC1R_TO_DAC1R_MASK
Definition: wm8994_reg.h:3096
WM8994_CHARGE_PUMP2_CP_DISCH_POSITION
#define WM8994_CHARGE_PUMP2_CP_DISCH_POSITION
Definition: wm8994_reg.h:2039
WM8994_RLI_IN1_VU_POSITION
#define WM8994_RLI_IN1_VU_POSITION
Definition: wm8994_reg.h:1097
WM8994_ADC2RMR_ADC2R_TO_AIF1ADC2R_MASK
#define WM8994_ADC2RMR_ADC2R_TO_AIF1ADC2R_MASK
Definition: wm8994_reg.h:3318
WM8994_AIF1_ADC2_FILTERS_ADC2L_HPF_POSITION
#define WM8994_AIF1_ADC2_FILTERS_ADC2L_HPF_POSITION
Definition: wm8994_reg.h:2666
WM8994_SPKMIXER_DAC1L_TO_SPKMIXL_POSITION
#define WM8994_SPKMIXER_DAC1L_TO_SPKMIXL_POSITION
Definition: wm8994_reg.h:1866
WM8994_AIF1_ADC1_FILTERS_ADC1R_HPF_MASK
#define WM8994_AIF1_ADC1_FILTERS_ADC1R_HPF_MASK
Definition: wm8994_reg.h:2615
WM8994_ADC1RMR_ADC1R_TO_AIF1ADC1R_MASK
#define WM8994_ADC1RMR_ADC1R_TO_AIF1ADC1R_MASK
Definition: wm8994_reg.h:3277
WM8994_PWR_MGMT_2_IN2R_ENA_MASK
#define WM8994_PWR_MGMT_2_IN2R_ENA_MASK
Definition: wm8994_reg.h:506
WM8994_AIF1_DAC2_FILTER1_MONO_MASK
#define WM8994_AIF1_DAC2_FILTER1_MONO_MASK
Definition: wm8994_reg.h:2775
wm8994_rli_in1r_mute
int32_t wm8994_rli_in1r_mute(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1824
WM8994_LLI_IN1L_ZC_POSITION
#define WM8994_LLI_IN1L_ZC_POSITION
Definition: wm8994_reg.h:997
WM8994_PWR_MGMT_1_VMID_SEL_MASK
#define WM8994_PWR_MGMT_1_VMID_SEL_MASK
Definition: wm8994_reg.h:416
WM8994_AIF1_DAC2_LMR
#define WM8994_AIF1_DAC2_LMR
Definition: wm8994_reg.h:305
WM8994_PWR_MGMT_4_AIF1ADC2L_ENA_MASK
#define WM8994_PWR_MGMT_4_AIF1ADC2L_ENA_MASK
Definition: wm8994_reg.h:776
WM8994_INMIXER2_IN1RP_TO_IN1R_MASK
#define WM8994_INMIXER2_IN1RP_TO_IN1R_MASK
Definition: wm8994_reg.h:1462
WM8994_AIF1DRC1_ADC1L_DRC_ENA_POSITION
#define WM8994_AIF1DRC1_ADC1L_DRC_ENA_POSITION
Definition: wm8994_reg.h:2806
wm8994_spkmixer_dac2l_to_spkmixl
int32_t wm8994_spkmixer_dac2l_to_spkmixl(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3973
wm8994_aif1_control1_wl_r
int32_t wm8994_aif1_control1_wl_r(wm8994_ctx_t *ctx, uint16_t *value)
Definition: wm8994_reg.c:5227
wm8994_aif1_adc1_right_vol_vu
int32_t wm8994_aif1_adc1_right_vol_vu(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5548
WM8994_LLI_IN1_VU_POSITION
#define WM8994_LLI_IN1_VU_POSITION
Definition: wm8994_reg.h:1017
WM8994_WSEQ_CTRL1_ABORT_MASK
#define WM8994_WSEQ_CTRL1_ABORT_MASK
Definition: wm8994_reg.h:2252
WM8994_DAC1_LEFT_VOL_VSET_MASK
#define WM8994_DAC1_LEFT_VOL_VSET_MASK
Definition: wm8994_reg.h:3328
WM8994_DC_SERVO1_DCS_TRIG_DAC_WR_1_POSITION
#define WM8994_DC_SERVO1_DCS_TRIG_DAC_WR_1_POSITION
Definition: wm8994_reg.h:2099
WM8994_SPKMIXER_DAC1R_TO_SPKMIXR_POSITION
#define WM8994_SPKMIXER_DAC1R_TO_SPKMIXR_POSITION
Definition: wm8994_reg.h:1856
WM8994_AIF1_DAC1_RMR
#define WM8994_AIF1_DAC1_RMR
Definition: wm8994_reg.h:301
WM8994_AIF1DRC1_SIG_DET_RMS_MASK
#define WM8994_AIF1DRC1_SIG_DET_RMS_MASK
Definition: wm8994_reg.h:2895
wm8994_adc2lmr_aif2dacl_to_aif1adc2l
int32_t wm8994_adc2lmr_aif2dacl_to_aif1adc2l(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7331
WM8994_PWR_MGMT_1_MICB1_ENA_POSITION
#define WM8994_PWR_MGMT_1_MICB1_ENA_POSITION
Definition: wm8994_reg.h:427
WM8994_AIF1_DAC2_LMRDACL_TO_DAC2L_MASK
#define WM8994_AIF1_DAC2_LMRDACL_TO_DAC2L_MASK
Definition: wm8994_reg.h:3166
WM8994_AIF1DRC2_ADC2L_DRC_ENA_POSITION
#define WM8994_AIF1DRC2_ADC2L_DRC_ENA_POSITION
Definition: wm8994_reg.h:2919
WM8994_OUTMIXER2_IN2RN_TO_MIXOUTR_POSITION
#define WM8994_OUTMIXER2_IN2RN_TO_MIXOUTR_POSITION
Definition: wm8994_reg.h:1804
WM8994_INMIXER3_IN1L_TO_MIXINL_POSITION
#define WM8994_INMIXER3_IN1L_TO_MIXINL_POSITION
Definition: wm8994_reg.h:1553
WM8994_ADC1RMR_ADC1R_TO_AIF1ADC1R_POSITION
#define WM8994_ADC1RMR_ADC1R_TO_AIF1ADC1R_POSITION
Definition: wm8994_reg.h:3278
WM8994_SPKMIXL_ATT_DAC2L_VOL_POSITION
#define WM8994_SPKMIXL_ATT_DAC2L_VOL_POSITION
Definition: wm8994_reg.h:1281
WM8994_PWR_MGMT_6_AIF2_DACDAT_SRC_MASK
#define WM8994_PWR_MGMT_6_AIF2_DACDAT_SRC_MASK
Definition: wm8994_reg.h:916
WM8994_AIF1_ADC2_RIGHT_VOL_VU_POSITION
#define WM8994_AIF1_ADC2_RIGHT_VOL_VU_POSITION
Definition: wm8994_reg.h:2604
wm8994_aif1_dac2_filter1_muterate
int32_t wm8994_aif1_dac2_filter1_muterate(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6056
WM8994_ANALOG_HP_HPOUT1R_RMV_SHORT_POSITION
#define WM8994_ANALOG_HP_HPOUT1R_RMV_SHORT_POSITION
Definition: wm8994_reg.h:2191
wm8994_gpio1_gp1_db
int32_t wm8994_gpio1_gp1_db(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7831
wm8994_aif1drc2_ng_ena
int32_t wm8994_aif1drc2_ng_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6606
wm8994_adc1rmr_aif2dacl_to_aif1adc1r
int32_t wm8994_adc1rmr_aif2dacl_to_aif1adc1r(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7281
WM8994_AIF1_ADC1_RMR
#define WM8994_AIF1_ADC1_RMR
Definition: wm8994_reg.h:311
wm8994_aif1_control1_bclk_inv
int32_t wm8994_aif1_control1_bclk_inv(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5274
wm8994_aif1_dac2_rmradcl_to_dac2r
int32_t wm8994_aif1_dac2_rmradcl_to_dac2r(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7181
WM8994_GPIO1_GP1_PD_MASK
#define WM8994_GPIO1_GP1_PD_MASK
Definition: wm8994_reg.h:3518
WM8994_AIF1_DAC2_RMRDACR_TO_DAC2R_MASK
#define WM8994_AIF1_DAC2_RMRDACR_TO_DAC2R_MASK
Definition: wm8994_reg.h:3216
WM8994_AIF1_DAC2_LMRADCL_TO_DAC2L_MASK
#define WM8994_AIF1_DAC2_LMRADCL_TO_DAC2L_MASK
Definition: wm8994_reg.h:3176
WM8994_AIF1DRC1_ANTICLIP_POSITION
#define WM8994_AIF1DRC1_ANTICLIP_POSITION
Definition: wm8994_reg.h:2826
WM8994_AIF1DRC2_SIG_DET_MODE_MASK
#define WM8994_AIF1DRC2_SIG_DET_MODE_MASK
Definition: wm8994_reg.h:2978
wm8994_clocking2_opclk_div
int32_t wm8994_clocking2_opclk_div(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5008
WM8994_AIF1_ADC1_RIGHT_VOL_VU_POSITION
#define WM8994_AIF1_ADC1_RIGHT_VOL_VU_POSITION
Definition: wm8994_reg.h:2564
WM8994_INMIXER3_IN2L_MIXINL_VOL_MASK
#define WM8994_INMIXER3_IN2L_MIXINL_VOL_MASK
Definition: wm8994_reg.h:1562
WM8994_AIF1_CONTROL1_BCLK_INV_MASK
#define WM8994_AIF1_CONTROL1_BCLK_INV_MASK
Definition: wm8994_reg.h:2449
wm8994_pwr_mgmt_3_mixoutrvol_ena
int32_t wm8994_pwr_mgmt_3_mixoutrvol_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:623
WM8994_AIF1DRC1_SIG_DET_PK_POSITION
#define WM8994_AIF1DRC1_SIG_DET_PK_POSITION
Definition: wm8994_reg.h:2886
WM8994_RIGHT_OUTPUT_VOL
#define WM8994_RIGHT_OUTPUT_VOL
Definition: wm8994_reg.h:72
WM8994_RLI_IN1R_MUTE_MASK
#define WM8994_RLI_IN1R_MUTE_MASK
Definition: wm8994_reg.h:1086
WM8994_PWR_MGMT_2_IN1L_ENA_POSITION
#define WM8994_PWR_MGMT_2_IN1L_ENA_POSITION
Definition: wm8994_reg.h:517
WM8994_AIF1_ADC2_RIGHT_VOL_VU_MASK
#define WM8994_AIF1_ADC2_RIGHT_VOL_VU_MASK
Definition: wm8994_reg.h:2603
WM8994_AIF1_DRC1
#define WM8994_AIF1_DRC1
Definition: wm8994_reg.h:200
WM8994_AIF1_ADC1_FILTERS
#define WM8994_AIF1_ADC1_FILTERS
Definition: wm8994_reg.h:192
wm8994_gpio1_gp1_dir
int32_t wm8994_gpio1_gp1_dir(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7956
WM8994_SPK_RIGHT_VOL_SPKOUT_MUTE_N_MASK
#define WM8994_SPK_RIGHT_VOL_SPKOUT_MUTE_N_MASK
Definition: wm8994_reg.h:1422
WM8994_DAC1_MIXER_VOL_ADCR_MASK
#define WM8994_DAC1_MIXER_VOL_ADCR_MASK
Definition: wm8994_reg.h:3036
WM8994_CLOCKING2_DBCLK_DIV_POSITION
#define WM8994_CLOCKING2_DBCLK_DIV_POSITION
Definition: wm8994_reg.h:2375
WM8994_AIF1DRC1_ADC1R_DRC_ENA_POSITION
#define WM8994_AIF1DRC1_ADC1R_DRC_ENA_POSITION
Definition: wm8994_reg.h:2796
wm8994_aif1_dac1_lmrdac1l_to_dac1l
int32_t wm8994_aif1_dac1_lmrdac1l_to_dac1l(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6731
WM8994_AIF1_DAC1_RMRDACR_TO_DAC1R_MASK
#define WM8994_AIF1_DAC1_RMRDACR_TO_DAC1R_MASK
Definition: wm8994_reg.h:3116
WM8994_SPK_LEFT_VOL_SPKOUT_VOL_POSITION
#define WM8994_SPK_LEFT_VOL_SPKOUT_VOL_POSITION
Definition: wm8994_reg.h:1373
wm8994_inmixer3_in1l_mixinl_vol
int32_t wm8994_inmixer3_in1l_mixinl_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2972
WM8994_AIF1_DAC2_LMRDACL_TO_DAC2L_POSITION
#define WM8994_AIF1_DAC2_LMRDACL_TO_DAC2L_POSITION
Definition: wm8994_reg.h:3167
WM8994_INPUT_MIXER_1
#define WM8994_INPUT_MIXER_1
Definition: wm8994_reg.h:63
WM8994_LEFT_OUTPUT_VOL
#define WM8994_LEFT_OUTPUT_VOL
Definition: wm8994_reg.h:71
wm8994_class_w_cp_dyn_pwr
int32_t wm8994_class_w_cp_dyn_pwr(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4223
WM8994_PWR_MGMT_1_MICB2_ENA_MASK
#define WM8994_PWR_MGMT_1_MICB2_ENA_MASK
Definition: wm8994_reg.h:436
wm8994_inmixer3_in2l_mixinl_vol
int32_t wm8994_inmixer3_in2l_mixinl_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3022
WM8994_OUTMIXER1_DAC1L_TO_HPOUT1L_MASK
#define WM8994_OUTMIXER1_DAC1L_TO_HPOUT1L_MASK
Definition: wm8994_reg.h:1753
WM8994_AIF1_ADC1_FILTERS_ADC1L_HPF_POSITION
#define WM8994_AIF1_ADC1_FILTERS_ADC1L_HPF_POSITION
Definition: wm8994_reg.h:2626
WM8994_AIF1_DAC1_LMR
#define WM8994_AIF1_DAC1_LMR
Definition: wm8994_reg.h:299
WM8994_ANALOG_HP
#define WM8994_ANALOG_HP
Definition: wm8994_reg.h:128
WM8994_AIF1DRC2_SIG_DET_PK_MASK
#define WM8994_AIF1DRC2_SIG_DET_PK_MASK
Definition: wm8994_reg.h:2998
WM8994_AIF1_DAC1_LMRDACL_TO_DAC1L_MASK
#define WM8994_AIF1_DAC1_LMRDACL_TO_DAC1L_MASK
Definition: wm8994_reg.h:3066
wm8994_analog_hp_hpout1r_rmv_short
int32_t wm8994_analog_hp_hpout1r_rmv_short(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4577
WM8994_INMIXER6_IN2LRP_MIXINR_VOL_POSITION
#define WM8994_INMIXER6_IN2LRP_MIXINR_VOL_POSITION
Definition: wm8994_reg.h:1654
WM8994_PWR_MGMT_6_AIF3_TRI_POSITION
#define WM8994_PWR_MGMT_6_AIF3_TRI_POSITION
Definition: wm8994_reg.h:947
WM8994_INMIXER1_IN1LP_MIXINL_BOOST_POSITION
#define WM8994_INMIXER1_IN1LP_MIXINL_BOOST_POSITION
Definition: wm8994_reg.h:967
WM8994_AIF1DRC2_DAC2_DRC_ENA_MASK
#define WM8994_AIF1DRC2_DAC2_DRC_ENA_MASK
Definition: wm8994_reg.h:2928
WM8994_SPKMIXL_ATT_SPKAB_REFSEL_POSITION
#define WM8994_SPKMIXL_ATT_SPKAB_REFSEL_POSITION
Definition: wm8994_reg.h:1291
WM8994_AIF1_ADC1_LEFT_VOL_VU_POSITION
#define WM8994_AIF1_ADC1_LEFT_VOL_VU_POSITION
Definition: wm8994_reg.h:2544
wm8994_gpio1_gp1_pol
int32_t wm8994_gpio1_gp1_pol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7881
wm8994_spkmixl_att_spkab_refsel
int32_t wm8994_spkmixl_att_spkab_refsel(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2346
wm8994_spk_right_vol_spkout_zc
int32_t wm8994_spk_right_vol_spkout_zc(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2696
wm8994_aif1_clk_rate
int32_t wm8994_aif1_clk_rate(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5083
WM8994_AIF1_CLOCKING1_DIV_POSITION
#define WM8994_AIF1_CLOCKING1_DIV_POSITION
Definition: wm8994_reg.h:2283
wm8994_pwr_mgmt_4_dmic1l_ena
int32_t wm8994_pwr_mgmt_4_dmic1l_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:898
WM8994_CLOCKING1_TOCLK_ENA_MASK
#define WM8994_CLOCKING1_TOCLK_ENA_MASK
Definition: wm8994_reg.h:2354
wm8994_gpio1_gp1_pd
int32_t wm8994_gpio1_gp1_pd(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7906
wm8994_pwr_mgmt_2_opclk_ena
int32_t wm8994_pwr_mgmt_2_opclk_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:498
WM8994_CLOCKING1_TOCLK_ENA_POSITION
#define WM8994_CLOCKING1_TOCLK_ENA_POSITION
Definition: wm8994_reg.h:2355
WM8994_GPIO1_GP1_PU_MASK
#define WM8994_GPIO1_GP1_PU_MASK
Definition: wm8994_reg.h:3528
wm8994_pwr_mgmt_2_in2r_ena
int32_t wm8994_pwr_mgmt_2_in2r_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:373
wm8994_aif1drc2_qr
int32_t wm8994_aif1drc2_qr(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6506
wm8994_aif1_dac1_rmradcr_to_dac1r
int32_t wm8994_aif1_dac1_rmradcr_to_dac1r(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6956
WM8994_INMIXER4_IN1R_TO_MIXINR_POSITION
#define WM8994_INMIXER4_IN1R_TO_MIXINR_POSITION
Definition: wm8994_reg.h:1603
wm8994_aif1drc1_sig_det
int32_t wm8994_aif1drc1_sig_det(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6281
WM8994_PWR_MANAGEMENT_1
#define WM8994_PWR_MANAGEMENT_1
Definition: wm8994_reg.h:55
wm8994_aif1drc2_anticlip
int32_t wm8994_aif1drc2_anticlip(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6481
WM8994_AIF1_ADC2_FILTERS_ADC2R_HPF_POSITION
#define WM8994_AIF1_ADC2_FILTERS_ADC2R_HPF_POSITION
Definition: wm8994_reg.h:2656
wm8994_aif1_dac1_filter1_unmute_ramp
int32_t wm8994_aif1_dac1_filter1_unmute_ramp(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5906
WM8994_CHARGE_PUMP1
#define WM8994_CHARGE_PUMP1
Definition: wm8994_reg.h:117
wm8994_sw_reset_r
int32_t wm8994_sw_reset_r(wm8994_ctx_t *ctx, uint16_t *value)
Definition: wm8994_reg.c:111
wm8994_oversampling_dac_osr128
int32_t wm8994_oversampling_dac_osr128(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7731
WM8994_PWR_MGMT_5_AIF2DACR_ENA_MASK
#define WM8994_PWR_MGMT_5_AIF2DACR_ENA_MASK
Definition: wm8994_reg.h:886
WM8994_OUTMIXER1_IN2LP_TO_MIXOUTL_MASK
#define WM8994_OUTMIXER1_IN2LP_TO_MIXOUTL_MASK
Definition: wm8994_reg.h:1683
wm8994_dac1_right_vol_vu
int32_t wm8994_dac1_right_vol_vu(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7531
wm8994_outmixer1_in1r_to_mixoutl
int32_t wm8994_outmixer1_in1r_to_mixoutl(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3373
wm8994_dc_servo1_dcs_trig_series_1
int32_t wm8994_dc_servo1_dcs_trig_series_1(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4450
WM8994_DAC1_LEFT_VOL
#define WM8994_DAC1_LEFT_VOL
Definition: wm8994_reg.h:318
WM8994_OVERSAMPLING_ADC_OSR128_MASK
#define WM8994_OVERSAMPLING_ADC_OSR128_MASK
Definition: wm8994_reg.h:3458
wm8994_pwr_mgmt_4_aif1adc1l_ena
int32_t wm8994_pwr_mgmt_4_aif1adc1l_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:998
wm8994_aif1drc2_adc2r_drc_ena
int32_t wm8994_aif1drc2_adc2r_drc_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6406
WM8994_DC_SERVO1_DCS_TRIG_STARTUP_0_POSITION
#define WM8994_DC_SERVO1_DCS_TRIG_STARTUP_0_POSITION
Definition: wm8994_reg.h:2109
WM8994_AIF1_DAC2_RMRADCR_TO_DAC2R_MASK
#define WM8994_AIF1_DAC2_RMRADCR_TO_DAC2R_MASK
Definition: wm8994_reg.h:3236
wm8994_antipop2_vmid_disch
int32_t wm8994_antipop2_vmid_disch(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3998
wm8994_aif1drc2_sig_det_pk
int32_t wm8994_aif1drc2_sig_det_pk(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6631
WM8994_INMIXER4_IN2R_TO_MIXINR_POSITION
#define WM8994_INMIXER4_IN2R_TO_MIXINR_POSITION
Definition: wm8994_reg.h:1623
WM8994_INMIXER2_IN1RN_TO_IN1R_MASK
#define WM8994_INMIXER2_IN1RN_TO_IN1R_MASK
Definition: wm8994_reg.h:1452
wm8994_dc_servo1_dcs_trig_startup_1
int32_t wm8994_dc_servo1_dcs_trig_startup_1(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4398
wm8994_aif1_adc2_left_vol_vu
int32_t wm8994_aif1_adc2_left_vol_vu(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5598
wm8994_aif1drc1_ng_ena
int32_t wm8994_aif1drc1_ng_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6331
WM8994_ANTIPOP2_BIAS_SRC_MASK
#define WM8994_ANTIPOP2_BIAS_SRC_MASK
Definition: wm8994_reg.h:1967
wm8994_lo_hpout1l_mute_n
int32_t wm8994_lo_hpout1l_mute_n(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2021
wm8994_aif1_dac2_rmrdac1r_to_dac2r
int32_t wm8994_aif1_dac2_rmrdac1r_to_dac2r(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7106
wm8994_pwr_mgmt_6_aif1_dacdat_src
int32_t wm8994_pwr_mgmt_6_aif1_dacdat_src(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1374
wm8994_aif1_dac1_filter1_deemp
int32_t wm8994_aif1_dac1_filter1_deemp(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5881
WM8994_AIF1_ADC1_FILTERS_HPF_CUT_POSITION
#define WM8994_AIF1_ADC1_FILTERS_HPF_CUT_POSITION
Definition: wm8994_reg.h:2636
WM8994_WSEQ_CTRL1_START_INDEX_MASK
#define WM8994_WSEQ_CTRL1_START_INDEX_MASK
Definition: wm8994_reg.h:2232
WM8994_AIF1_DAC2_LMRDAC1L_TO_DAC2L_POSITION
#define WM8994_AIF1_DAC2_LMRDAC1L_TO_DAC2L_POSITION
Definition: wm8994_reg.h:3147
WM8994_RLI_IN2_VU_MASK
#define WM8994_RLI_IN2_VU_MASK
Definition: wm8994_reg.h:1136
wm8994_aif1_dac1_lmrdacl_to_dac1l
int32_t wm8994_aif1_dac1_lmrdacl_to_dac1l(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6781
WM8994_AIF1_CONTROL1_ADCR_SRC_MASK
#define WM8994_AIF1_CONTROL1_ADCR_SRC_MASK
Definition: wm8994_reg.h:2469
WM8994_PWR_MGMT_4_AIF2ADCR_ENA_MASK
#define WM8994_PWR_MGMT_4_AIF2ADCR_ENA_MASK
Definition: wm8994_reg.h:786
WM8994_PWR_MGMT_5_DAC1L_ENA_MASK
#define WM8994_PWR_MGMT_5_DAC1L_ENA_MASK
Definition: wm8994_reg.h:816
WM8994_CLASS_W_CP_DYN_PWR_MASK
#define WM8994_CLASS_W_CP_DYN_PWR_MASK
Definition: wm8994_reg.h:2048
wm8994_aif1drc2_sig_det_rms
int32_t wm8994_aif1drc2_sig_det_rms(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6656
wm8994_aif1_adc2_right_vol_adc2r
int32_t wm8994_aif1_adc2_right_vol_adc2r(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5623
WM8994_RO_HPOUT1R_VOL_MASK
#define WM8994_RO_HPOUT1R_VOL_MASK
Definition: wm8994_reg.h:1188
wm8994_dac1_left_vol_mute
int32_t wm8994_dac1_left_vol_mute(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7481
WM8994_AIF1_DAC2_LMRADCL_TO_DAC2L_POSITION
#define WM8994_AIF1_DAC2_LMRADCL_TO_DAC2L_POSITION
Definition: wm8994_reg.h:3177
wm8994_rli_in2r_vol
int32_t wm8994_rli_in2r_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1874
wm8994_dc_servo1_dcs_ena_chan_1
int32_t wm8994_dc_servo1_dcs_ena_chan_1(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4298
WM8994_PWR_MGMT_3_LINEOUT1P_ENA_MASK
#define WM8994_PWR_MGMT_3_LINEOUT1P_ENA_MASK
Definition: wm8994_reg.h:666
wm8994_pwr_mgmt_2_tshut_opdis
int32_t wm8994_pwr_mgmt_2_tshut_opdis(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:523
wm8994_inmixer2_in1lp_to_in1l
int32_t wm8994_inmixer2_in1lp_to_in1l(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2871
wm8994_adc2lmr_adc2l_to_aif1adc2l
int32_t wm8994_adc2lmr_adc2l_to_aif1adc2l(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7356
WM8994_ANALOG_HP_HPOUT1R_OUTP_MASK
#define WM8994_ANALOG_HP_HPOUT1R_OUTP_MASK
Definition: wm8994_reg.h:2180
wm8994_inmixer4_in1r_mixinr_vol
int32_t wm8994_inmixer4_in1r_mixinr_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3098
wm8994_pwr_mgmt_5_aif2dacl_ena
int32_t wm8994_pwr_mgmt_5_aif2dacl_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1349
wm8994_write_reg
int32_t wm8994_write_reg(wm8994_ctx_t *ctx, uint16_t reg, uint16_t *data, uint16_t length)
Definition: wm8994_reg.c:69
wm8994_pwr_mgmt_5_dac1l_ena
int32_t wm8994_pwr_mgmt_5_dac1l_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1148
WM8994_OUTMIXER2_IN2LN_TO_MIXOUTR_MASK
#define WM8994_OUTMIXER2_IN2LN_TO_MIXOUTR_MASK
Definition: wm8994_reg.h:1813
WM8994_OUTMIXER1_DAC1L_TO_HPOUT1L_POSITION
#define WM8994_OUTMIXER1_DAC1L_TO_HPOUT1L_POSITION
Definition: wm8994_reg.h:1754
wm8994_lli_in1l_mute
int32_t wm8994_lli_in1l_mute(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1624
WM8994_PWR_MGMT_4_AIF2ADCL_ENA_MASK
#define WM8994_PWR_MGMT_4_AIF2ADCL_ENA_MASK
Definition: wm8994_reg.h:796
WM8994_SPKMIXR_ATT_DAC1_VOL_MASK
#define WM8994_SPKMIXR_ATT_DAC1_VOL_MASK
Definition: wm8994_reg.h:1310
WM8994_AIF1DRC2_QR_POSITION
#define WM8994_AIF1DRC2_QR_POSITION
Definition: wm8994_reg.h:2949
wm8994_lli_in2_vu
int32_t wm8994_lli_in2_vu(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1749
wm8994_outmixer2_in1l_to_mixoutr
int32_t wm8994_outmixer2_in1l_to_mixoutr(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3598
wm8994_antipop2_micb1_disch
int32_t wm8994_antipop2_micb1_disch(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4123
WM8994_OUTMIXER1_MIXINR_TO_MIXOUTL_POSITION
#define WM8994_OUTMIXER1_MIXINR_TO_MIXOUTL_POSITION
Definition: wm8994_reg.h:1744
WM8994_AIF1_ADC2_FILTERS_4FS_MASK
#define WM8994_AIF1_ADC2_FILTERS_4FS_MASK
Definition: wm8994_reg.h:2685
WM8994_CLOCKING1_AIF1DSPCLK_ENA_MASK
#define WM8994_CLOCKING1_AIF1DSPCLK_ENA_MASK
Definition: wm8994_reg.h:2344
wm8994_lo_hpout1l_vol
int32_t wm8994_lo_hpout1l_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1974
WM8994_INMIXER4_MIXOUTR_MIXINR_VOL_MASK
#define WM8994_INMIXER4_MIXOUTR_MIXINR_VOL_MASK
Definition: wm8994_reg.h:1582
WM8994_DC_SERVO1_DCS_TRIG_SERIES_0_MASK
#define WM8994_DC_SERVO1_DCS_TRIG_SERIES_0_MASK
Definition: wm8994_reg.h:2128
wm8994_aif1_control1_adcr_src
int32_t wm8994_aif1_control1_adcr_src(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5324
WM8994_CLASS_W_CP_DYN_PWR_POSITION
#define WM8994_CLASS_W_CP_DYN_PWR_POSITION
Definition: wm8994_reg.h:2049
WM8994_AIF1_ADC2_FILTERS_ADC2R_HPF_MASK
#define WM8994_AIF1_ADC2_FILTERS_ADC2R_HPF_MASK
Definition: wm8994_reg.h:2655
wm8994_pwr_mgmt_1_micb2_ena
int32_t wm8994_pwr_mgmt_1_micb2_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:198
wm8994_clocking1_toclk_ena
int32_t wm8994_clocking1_toclk_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4983
WM8994_AIF1DRC1_SIG_DET_MODE_MASK
#define WM8994_AIF1DRC1_SIG_DET_MODE_MASK
Definition: wm8994_reg.h:2865
WM8994_WSEQ_CTRL1_ABORT_POSITION
#define WM8994_WSEQ_CTRL1_ABORT_POSITION
Definition: wm8994_reg.h:2253
wm8994_spk_left_vol_spkout_zc
int32_t wm8994_spk_left_vol_spkout_zc(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2596
WM8994_AIF1_ADC1_RIGHT_VOL_ADC1R_MASK
#define WM8994_AIF1_ADC1_RIGHT_VOL_ADC1R_MASK
Definition: wm8994_reg.h:2553
wm8994_aif1_adc2_left_vol_adc2l
int32_t wm8994_aif1_adc2_left_vol_adc2l(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5573
WM8994_INPUT_MIXER_6
#define WM8994_INPUT_MIXER_6
Definition: wm8994_reg.h:95
wm8994_aif1_adc1_left_vol_vu
int32_t wm8994_aif1_adc1_left_vol_vu(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5498
WM8994_AIF1_CLOCKING1_DIV_MASK
#define WM8994_AIF1_CLOCKING1_DIV_MASK
Definition: wm8994_reg.h:2282
WM8994_GPIO1_GP1_LVL_POSITION
#define WM8994_GPIO1_GP1_LVL_POSITION
Definition: wm8994_reg.h:3479
WM8994_GPIO1_GP1_POL_MASK
#define WM8994_GPIO1_GP1_POL_MASK
Definition: wm8994_reg.h:3508
WM8994_INPUT_MIXER_3
#define WM8994_INPUT_MIXER_3
Definition: wm8994_reg.h:92
WM8994_AIF1_DAC2_LMRDAC1L_TO_DAC2L_MASK
#define WM8994_AIF1_DAC2_LMRDAC1L_TO_DAC2L_MASK
Definition: wm8994_reg.h:3146
WM8994_ADC2RMR_AIF2DACL_TO_AIF1ADC2R_MASK
#define WM8994_ADC2RMR_AIF2DACL_TO_AIF1ADC2R_MASK
Definition: wm8994_reg.h:3308
WM8994_DC_SERVO1_DCS_TRIG_SERIES_1_POSITION
#define WM8994_DC_SERVO1_DCS_TRIG_SERIES_1_POSITION
Definition: wm8994_reg.h:2139
wm8994_clocking2_dbclk_div
int32_t wm8994_clocking2_dbclk_div(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5033
wm8994_dac1_mixer_vol_adcl
int32_t wm8994_dac1_mixer_vol_adcl(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6681
WM8994_AIF1_ADC2_FILTERS
#define WM8994_AIF1_ADC2_FILTERS
Definition: wm8994_reg.h:193
WM8994_PWR_MGMT_5_AIF1DAC2R_ENA_MASK
#define WM8994_PWR_MGMT_5_AIF1DAC2R_ENA_MASK
Definition: wm8994_reg.h:866
wm8994_clocking2_toclk_div
int32_t wm8994_clocking2_toclk_div(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5058
wm8994_lo_hpout1l_zc
int32_t wm8994_lo_hpout1l_zc(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2046
wm8994_aif1drc1_adc1l_drc_ena
int32_t wm8994_aif1drc1_adc1l_drc_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6156
WM8994_AIF1_DAC2_LMRADCR_TO_DAC2L_MASK
#define WM8994_AIF1_DAC2_LMRADCR_TO_DAC2L_MASK
Definition: wm8994_reg.h:3186
wm8994_adc2rmr_aif2dacl_to_aif1adc2r
int32_t wm8994_adc2rmr_aif2dacl_to_aif1adc2r(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7381
WM8994_PWR_MGMT_5_DAC1L_ENA_POSITION
#define WM8994_PWR_MGMT_5_DAC1L_ENA_POSITION
Definition: wm8994_reg.h:817
WM8994_INMIXER3_IN1L_TO_MIXINL_MASK
#define WM8994_INMIXER3_IN1L_TO_MIXINL_MASK
Definition: wm8994_reg.h:1552
wm8994_spkmixr_att_dac2r_vol
int32_t wm8994_spkmixr_att_dac2r_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2496
WM8994_PWR_MGMT_3_MIXOUTRVOL_ENA_MASK
#define WM8994_PWR_MGMT_3_MIXOUTRVOL_ENA_MASK
Definition: wm8994_reg.h:606
WM8994_SPKMIXER_MIXINL_TO_SPKMIXL_POSITION
#define WM8994_SPKMIXER_MIXINL_TO_SPKMIXL_POSITION
Definition: wm8994_reg.h:1926
WM8994_AIF1_MS_CLK_FRC_MASK
#define WM8994_AIF1_MS_CLK_FRC_MASK
Definition: wm8994_reg.h:2499
WM8994_PWR_MGMT_4_DMIC1L_ENA_MASK
#define WM8994_PWR_MGMT_4_DMIC1L_ENA_MASK
Definition: wm8994_reg.h:716
wm8994_aif1_adc1_left_vol_adc1l
int32_t wm8994_aif1_adc1_left_vol_adc1l(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5451
wm8994_spkmixr_att_in1rp_vol
int32_t wm8994_spkmixr_att_in1rp_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2446
wm8994_lli_in1l_zc
int32_t wm8994_lli_in1l_zc(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1599
WM8994_SPKMIXR_ATT_MIXOUTL_VOL_MASK
#define WM8994_SPKMIXR_ATT_MIXOUTL_VOL_MASK
Definition: wm8994_reg.h:1320
WM8994_PWR_MGMT_2_MIXINL_ENA_MASK
#define WM8994_PWR_MGMT_2_MIXINL_ENA_MASK
Definition: wm8994_reg.h:546
WM8994_AIF1_DAC2_RMRADCR_TO_DAC2R_POSITION
#define WM8994_AIF1_DAC2_RMRADCR_TO_DAC2R_POSITION
Definition: wm8994_reg.h:3237
wm8994_aif1_dac2_lmrdacl_to_dac2l
int32_t wm8994_aif1_dac2_lmrdacl_to_dac2l(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7031
WM8994_ADC1LMR_ADC1L_TO_AIF1ADC1L_MASK
#define WM8994_ADC1LMR_ADC1L_TO_AIF1ADC1L_MASK
Definition: wm8994_reg.h:3256
WM8994_AIF1DRC1_ADC1R_DRC_ENA_MASK
#define WM8994_AIF1DRC1_ADC1R_DRC_ENA_MASK
Definition: wm8994_reg.h:2795
WM8994_SPK_LEFT_VOL_SPKOUT_ZC_POSITION
#define WM8994_SPK_LEFT_VOL_SPKOUT_ZC_POSITION
Definition: wm8994_reg.h:1393
wm8994_inmixer3_in2l_to_mixinl
int32_t wm8994_inmixer3_in2l_to_mixinl(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3047
WM8994_PWR_MGMT_4_AIF1ADC1L_ENA_POSITION
#define WM8994_PWR_MGMT_4_AIF1ADC1L_ENA_POSITION
Definition: wm8994_reg.h:757
wm8994_pwr_mgmt_4_adcr_ena
int32_t wm8994_pwr_mgmt_4_adcr_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:823
WM8994_AIF1DRC2_ADC2L_DRC_ENA_MASK
#define WM8994_AIF1DRC2_ADC2L_DRC_ENA_MASK
Definition: wm8994_reg.h:2918
wm8994_outmixer1_in2rn_to_mixoutl
int32_t wm8994_outmixer1_in2rn_to_mixoutl(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3423
wm8994_dac2_right_vol_vset
int32_t wm8994_dac2_right_vol_vset(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7656
WM8994_INMIXER1_IN1RP_MIXINR_BOOST_MASK
#define WM8994_INMIXER1_IN1RP_MIXINR_BOOST_MASK
Definition: wm8994_reg.h:976
WM8994_DC_SERVO1_DCS_TRIG_SERIES_0_POSITION
#define WM8994_DC_SERVO1_DCS_TRIG_SERIES_0_POSITION
Definition: wm8994_reg.h:2129
wm8994_ctx_t::WriteReg
WM8994_Write_Func WriteReg
Definition: wm8994_reg.h:373
wm8994_lli_in1_vu
int32_t wm8994_lli_in1_vu(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1649
wm8994_outmixer2_in2ln_to_mixoutr
int32_t wm8994_outmixer2_in2ln_to_mixoutr(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3648
WM8994_OUTMIXER2_IN1R_TO_MIXOUTR_POSITION
#define WM8994_OUTMIXER2_IN1R_TO_MIXOUTR_POSITION
Definition: wm8994_reg.h:1784
wm8994_inmixer2_in2rp_to_in2r
int32_t wm8994_inmixer2_in2rp_to_in2r(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2821
wm8994_pwr_mgmt_5_aif2dacr_ena
int32_t wm8994_pwr_mgmt_5_aif2dacr_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1324
WM8994_AIF1DRC1_SIG_DET_MASK
#define WM8994_AIF1DRC1_SIG_DET_MASK
Definition: wm8994_reg.h:2855
WM8994_AIF1_DAC2_LMRDAC2L_TO_DAC2L_POSITION
#define WM8994_AIF1_DAC2_LMRDAC2L_TO_DAC2L_POSITION
Definition: wm8994_reg.h:3157
wm8994_aif1_control1_fmt
int32_t wm8994_aif1_control1_fmt(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5155
WM8994_PWR_MGMT_1_SPKOUTL_ENA_POSITION
#define WM8994_PWR_MGMT_1_SPKOUTL_ENA_POSITION
Definition: wm8994_reg.h:477
wm8994_ro_hpout1r_vu
int32_t wm8994_ro_hpout1r_vu(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2171
WM8994_PWR_MGMT_6_AIF3_ADCDAT_SRC_POSITION
#define WM8994_PWR_MGMT_6_AIF3_ADCDAT_SRC_POSITION
Definition: wm8994_reg.h:937
WM8994_RLI_IN1R_ZC_MASK
#define WM8994_RLI_IN1R_ZC_MASK
Definition: wm8994_reg.h:1076
WM8994_SW_RESET
#define WM8994_SW_RESET
Definition: wm8994_reg.h:52
WM8994_AIF1_DAC2_LMRADCR_TO_DAC2L_POSITION
#define WM8994_AIF1_DAC2_LMRADCR_TO_DAC2L_POSITION
Definition: wm8994_reg.h:3187
WM8994_GPIO1_GP1_FN_POSITION
#define WM8994_GPIO1_GP1_FN_POSITION
Definition: wm8994_reg.h:3469
WM8994_LO_HPOUT1L_ZC_MASK
#define WM8994_LO_HPOUT1L_ZC_MASK
Definition: wm8994_reg.h:1167
wm8994_dc_servo1_dcs_trig_dac_wr_1
int32_t wm8994_dc_servo1_dcs_trig_dac_wr_1(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4348
WM8994_INMIXER4_IN2R_TO_MIXINR_MASK
#define WM8994_INMIXER4_IN2R_TO_MIXINR_MASK
Definition: wm8994_reg.h:1622
WM8994_INMIXER1_IN1RP_MIXINR_BOOST_POSITION
#define WM8994_INMIXER1_IN1RP_MIXINR_BOOST_POSITION
Definition: wm8994_reg.h:977
WM8994_AIF1_DAC1_FILTER1
#define WM8994_AIF1_DAC1_FILTER1
Definition: wm8994_reg.h:194
WM8994_SPK_LEFT_VOL_SPKOUT_MUTE_N_POSITION
#define WM8994_SPK_LEFT_VOL_SPKOUT_MUTE_N_POSITION
Definition: wm8994_reg.h:1383
WM8994_DAC1_LEFT_VOL_MUTE_POSITION
#define WM8994_DAC1_LEFT_VOL_MUTE_POSITION
Definition: wm8994_reg.h:3349
wm8994_aif1_dac1_rmradcl_to_dac1r
int32_t wm8994_aif1_dac1_rmradcl_to_dac1r(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6931
WM8994_ADC1LMR_AIF2DACL_TO_AIF1ADC1L_POSITION
#define WM8994_ADC1LMR_AIF2DACL_TO_AIF1ADC1L_POSITION
Definition: wm8994_reg.h:3247
WM8994_INMIXER3_IN1L_MIXINL_VOL_MASK
#define WM8994_INMIXER3_IN1L_MIXINL_VOL_MASK
Definition: wm8994_reg.h:1542
WM8994_GPIO1_GP1_LVL_MASK
#define WM8994_GPIO1_GP1_LVL_MASK
Definition: wm8994_reg.h:3478
WM8994_INMIXER1_INPUTS_CLAMP_POSITION
#define WM8994_INMIXER1_INPUTS_CLAMP_POSITION
Definition: wm8994_reg.h:957
wm8994_pwr_mgmt_5_dac2r_ena
int32_t wm8994_pwr_mgmt_5_dac2r_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1174
WM8994_AIF1DRC1_ANTICLIP_MASK
#define WM8994_AIF1DRC1_ANTICLIP_MASK
Definition: wm8994_reg.h:2825
wm8994_dc_servo1_dcs_trig_startup_0
int32_t wm8994_dc_servo1_dcs_trig_startup_0(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4373
WM8994_OUTMIXER2_IN1L_TO_MIXOUTR_MASK
#define WM8994_OUTMIXER2_IN1L_TO_MIXOUTR_MASK
Definition: wm8994_reg.h:1793
WM8994_DC_SERVO1_DCS_TRIG_SINGLE_1_MASK
#define WM8994_DC_SERVO1_DCS_TRIG_SINGLE_1_MASK
Definition: wm8994_reg.h:2158
WM8994_PWR_MGMT_5_DAC1R_ENA_MASK
#define WM8994_PWR_MGMT_5_DAC1R_ENA_MASK
Definition: wm8994_reg.h:806
WM8994_PWR_MGMT_1_BIAS_EN_MASK
#define WM8994_PWR_MGMT_1_BIAS_EN_MASK
Definition: wm8994_reg.h:406
WM8994_PWR_MGMT_2_OPCLK_ENA_MASK
#define WM8994_PWR_MGMT_2_OPCLK_ENA_MASK
Definition: wm8994_reg.h:556
WM8994_AIF1DRC1_SIG_DET_POSITION
#define WM8994_AIF1DRC1_SIG_DET_POSITION
Definition: wm8994_reg.h:2856
WM8994_ADC1RMR_AIF2DACL_TO_AIF1ADC1R_MASK
#define WM8994_ADC1RMR_AIF2DACL_TO_AIF1ADC1R_MASK
Definition: wm8994_reg.h:3267
WM8994_RLI_IN1R_VOL_MASK
#define WM8994_RLI_IN1R_VOL_MASK
Definition: wm8994_reg.h:1066
wm8994_pwr_mgmt_1_hpout1r_ena
int32_t wm8994_pwr_mgmt_1_hpout1r_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:223
WM8994_ANTIPOP2_STARTUP_BIAS_ENA_MASK
#define WM8994_ANTIPOP2_STARTUP_BIAS_ENA_MASK
Definition: wm8994_reg.h:1977
WM8994_ANTIPOP2_VMID_RAMP_POSITION
#define WM8994_ANTIPOP2_VMID_RAMP_POSITION
Definition: wm8994_reg.h:1998
wm8994_oversampling_adc_osr128
int32_t wm8994_oversampling_adc_osr128(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7756
wm8994_pwr_mgmt_5_aif1dac2l_ena
int32_t wm8994_pwr_mgmt_5_aif1dac2l_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1299
WM8994_INMIXER3_MIXOUTL_MIXINL_VOL_POSITION
#define WM8994_INMIXER3_MIXOUTL_MIXINL_VOL_POSITION
Definition: wm8994_reg.h:1533
WM8994_GPIO1_GP1_DIR_POSITION
#define WM8994_GPIO1_GP1_DIR_POSITION
Definition: wm8994_reg.h:3539
wm8994_analog_hp_hpout1l_rmv_short
int32_t wm8994_analog_hp_hpout1l_rmv_short(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4652
WM8994_ADC1RMR_AIF2DACL_TO_AIF1ADC1R_POSITION
#define WM8994_ADC1RMR_AIF2DACL_TO_AIF1ADC1R_POSITION
Definition: wm8994_reg.h:3268
WM8994_INMIXER4_IN1R_MIXINR_VOL_POSITION
#define WM8994_INMIXER4_IN1R_MIXINR_VOL_POSITION
Definition: wm8994_reg.h:1593
WM8994_CLOCKING2_OPCLK_DIV_MASK
#define WM8994_CLOCKING2_OPCLK_DIV_MASK
Definition: wm8994_reg.h:2364
WM8994_RO_HPOUT1R_VOL_POSITION
#define WM8994_RO_HPOUT1R_VOL_POSITION
Definition: wm8994_reg.h:1189
WM8994_WSEQ_CTRL1_ENA_MASK
#define WM8994_WSEQ_CTRL1_ENA_MASK
Definition: wm8994_reg.h:2262
WM8994_AIF1_DAC2_RMR
#define WM8994_AIF1_DAC2_RMR
Definition: wm8994_reg.h:307
WM8994_DC_SERVO1_DCS_TRIG_SINGLE_0_MASK
#define WM8994_DC_SERVO1_DCS_TRIG_SINGLE_0_MASK
Definition: wm8994_reg.h:2148
WM8994_OUTMIXER1_IN1L_TO_MIXOUTL_MASK
#define WM8994_OUTMIXER1_IN1L_TO_MIXOUTL_MASK
Definition: wm8994_reg.h:1693
WM8994_AIF1_DAC1_FILTER1_MONO_MASK
#define WM8994_AIF1_DAC1_FILTER1_MONO_MASK
Definition: wm8994_reg.h:2725
WM8994_CLOCKING1_AIF2DSPCLK_ENA_MASK
#define WM8994_CLOCKING1_AIF2DSPCLK_ENA_MASK
Definition: wm8994_reg.h:2334
WM8994_RO_HPOUT1R_MUTE_N_POSITION
#define WM8994_RO_HPOUT1R_MUTE_N_POSITION
Definition: wm8994_reg.h:1199
WM8994_LLI_IN1L_ZC_MASK
#define WM8994_LLI_IN1L_ZC_MASK
Definition: wm8994_reg.h:996
WM8994_PWR_MGMT_4_DMIC1R_ENA_POSITION
#define WM8994_PWR_MGMT_4_DMIC1R_ENA_POSITION
Definition: wm8994_reg.h:707
WM8994_AIF1_DAC1_LMRDAC2L_TO_DAC1L_POSITION
#define WM8994_AIF1_DAC1_LMRDAC2L_TO_DAC1L_POSITION
Definition: wm8994_reg.h:3057
wm8994_adc1rmr_adc1r_to_aif1adc1r
int32_t wm8994_adc1rmr_adc1r_to_aif1adc1r(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7306
WM8994_ADC2LMR_ADC2L_TO_AIF1ADC2L_MASK
#define WM8994_ADC2LMR_ADC2L_TO_AIF1ADC2L_MASK
Definition: wm8994_reg.h:3297
WM8994_AIF1_DAC2_FILTER1_MUTERATE_MASK
#define WM8994_AIF1_DAC2_FILTER1_MUTERATE_MASK
Definition: wm8994_reg.h:2765
WM8994_AIF1_ADC1_LEFT_VOL
#define WM8994_AIF1_ADC1_LEFT_VOL
Definition: wm8994_reg.h:182
wm8994_spkmixer_in1lp_to_spkmixl
int32_t wm8994_spkmixer_in1lp_to_spkmixl(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3873
wm8994_pwr_mgmt_5_aif1dac2r_ena
int32_t wm8994_pwr_mgmt_5_aif1dac2r_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1274
wm8994_charge_pump2_cp_disch
int32_t wm8994_charge_pump2_cp_disch(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4198
WM8994_SPKMIXER_MIXINL_TO_SPKMIXL_MASK
#define WM8994_SPKMIXER_MIXINL_TO_SPKMIXL_MASK
Definition: wm8994_reg.h:1925
wm8994_dac1_left_vol_vset
int32_t wm8994_dac1_left_vol_vset(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7431
WM8994_AIF1DRC1_QR_POSITION
#define WM8994_AIF1DRC1_QR_POSITION
Definition: wm8994_reg.h:2836
WM8994_AIF1DRC1_DAC1_DRC_ENA_MASK
#define WM8994_AIF1DRC1_DAC1_DRC_ENA_MASK
Definition: wm8994_reg.h:2815
WM8994_RLI_IN2_VU_POSITION
#define WM8994_RLI_IN2_VU_POSITION
Definition: wm8994_reg.h:1137
WM8994_AIF1_DAC2_RMRADCL_TO_DAC2R_POSITION
#define WM8994_AIF1_DAC2_RMRADCL_TO_DAC2R_POSITION
Definition: wm8994_reg.h:3227
WM8994_OUTPUT_MIXER_2
#define WM8994_OUTPUT_MIXER_2
Definition: wm8994_reg.h:99
WM8994_DAC1_RIGHT_VOL_MUTE_POSITION
#define WM8994_DAC1_RIGHT_VOL_MUTE_POSITION
Definition: wm8994_reg.h:3379
wm8994_inmixer4_in2r_mixinr_vol
int32_t wm8994_inmixer4_in2r_mixinr_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3148
WM8994_OUTMIXER2_DAC1R_TO_HPOUT1R_MASK
#define WM8994_OUTMIXER2_DAC1R_TO_HPOUT1R_MASK
Definition: wm8994_reg.h:1843
WM8994_OUTPUT_MIXER_1
#define WM8994_OUTPUT_MIXER_1
Definition: wm8994_reg.h:98
wm8994_pwr_mgmt_2_in2l_ena
int32_t wm8994_pwr_mgmt_2_in2l_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:423
WM8994_INMIXER2_IN2LN_TO_IN2L_MASK
#define WM8994_INMIXER2_IN2LN_TO_IN2L_MASK
Definition: wm8994_reg.h:1512
wm8994_outmixer2_dac1r_to_mixoutr
int32_t wm8994_outmixer2_dac1r_to_mixoutr(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3523
WM8994_AIF1DRC2_SIG_DET_RMS_MASK
#define WM8994_AIF1DRC2_SIG_DET_RMS_MASK
Definition: wm8994_reg.h:3008
WM8994_PWR_MGMT_1_HPOUT2_ENA_POSITION
#define WM8994_PWR_MGMT_1_HPOUT2_ENA_POSITION
Definition: wm8994_reg.h:467
WM8994_AIF1_DAC2_FILTER1_MONO_POSITION
#define WM8994_AIF1_DAC2_FILTER1_MONO_POSITION
Definition: wm8994_reg.h:2776
WM8994_AIF1_DAC1_RMRADCL_TO_DAC1R_POSITION
#define WM8994_AIF1_DAC1_RMRADCL_TO_DAC1R_POSITION
Definition: wm8994_reg.h:3127
WM8994_AIF1_DAC1_LMRADCR_TO_DAC1L_POSITION
#define WM8994_AIF1_DAC1_LMRADCR_TO_DAC1L_POSITION
Definition: wm8994_reg.h:3087
WM8994_INMIXER2_IN2RP_TO_IN2R_MASK
#define WM8994_INMIXER2_IN2RP_TO_IN2R_MASK
Definition: wm8994_reg.h:1482
WM8994_DC_SERVO1_DCS_TRIG_SINGLE_0_POSITION
#define WM8994_DC_SERVO1_DCS_TRIG_SINGLE_0_POSITION
Definition: wm8994_reg.h:2149
WM8994_AIF1_DAC2_FILTER1_UNMUTE_RAMP_MASK
#define WM8994_AIF1_DAC2_FILTER1_UNMUTE_RAMP_MASK
Definition: wm8994_reg.h:2755
WM8994_INMIXER4_IN2R_MIXINR_VOL_MASK
#define WM8994_INMIXER4_IN2R_MIXINR_VOL_MASK
Definition: wm8994_reg.h:1612
wm8994_ctx_t::ReadReg
WM8994_Read_Func ReadReg
Definition: wm8994_reg.h:374
WM8994_PWR_MGMT_1_HPOUT1L_ENA_MASK
#define WM8994_PWR_MGMT_1_HPOUT1L_ENA_MASK
Definition: wm8994_reg.h:456
WM8994_ANALOG_HP_HPOUT1R_RMV_SHORT_MASK
#define WM8994_ANALOG_HP_HPOUT1R_RMV_SHORT_MASK
Definition: wm8994_reg.h:2190
wm8994_aif1drc2_dac2_drc_ena
int32_t wm8994_aif1drc2_dac2_drc_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6456
WM8994_SPKMIXER_IN1LP_TO_SPKMIXL_POSITION
#define WM8994_SPKMIXER_IN1LP_TO_SPKMIXL_POSITION
Definition: wm8994_reg.h:1906
wm8994_dac2_right_vol_mute
int32_t wm8994_dac2_right_vol_mute(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7706
WM8994_CLOCKING2_DBCLK_DIV_MASK
#define WM8994_CLOCKING2_DBCLK_DIV_MASK
Definition: wm8994_reg.h:2374
WM8994_AIF1_ADC1_FILTERS_ADC1R_HPF_POSITION
#define WM8994_AIF1_ADC1_FILTERS_ADC1R_HPF_POSITION
Definition: wm8994_reg.h:2616
WM8994_AIF1_SR_MASK
#define WM8994_AIF1_SR_MASK
Definition: wm8994_reg.h:2404
WM8994_INMIXER3_IN2L_MIXINL_VOL_POSITION
#define WM8994_INMIXER3_IN2L_MIXINL_VOL_POSITION
Definition: wm8994_reg.h:1563
wm8994_antipop2_vmid_ramp
int32_t wm8994_antipop2_vmid_ramp(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4098
WM8994_LLI_IN1L_MUTE_POSITION
#define WM8994_LLI_IN1L_MUTE_POSITION
Definition: wm8994_reg.h:1007
WM8994_PWR_MGMT_4_ADCR_ENA_MASK
#define WM8994_PWR_MGMT_4_ADCR_ENA_MASK
Definition: wm8994_reg.h:686
WM8994_INMIXER2_IN2RN_TO_IN2R_POSITION
#define WM8994_INMIXER2_IN2RN_TO_IN2R_POSITION
Definition: wm8994_reg.h:1473
wm8994_pwr_mgmt_6_aif3_adcdat_src
int32_t wm8994_pwr_mgmt_6_aif3_adcdat_src(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1449
wm8994_aif1drc1_sig_det_pk
int32_t wm8994_aif1drc1_sig_det_pk(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6356
WM8994_SPK_RIGHT_VOL_SPKOUT_VOL_MASK
#define WM8994_SPK_RIGHT_VOL_SPKOUT_VOL_MASK
Definition: wm8994_reg.h:1412
WM8994_LLI_IN2L_ZC_POSITION
#define WM8994_LLI_IN2L_ZC_POSITION
Definition: wm8994_reg.h:1037
WM8994_OUTMIXER1_IN2LP_TO_MIXOUTL_POSITION
#define WM8994_OUTMIXER1_IN2LP_TO_MIXOUTL_POSITION
Definition: wm8994_reg.h:1684
WM8994_AIF1_MS_LRCLK_FRC_MASK
#define WM8994_AIF1_MS_LRCLK_FRC_MASK
Definition: wm8994_reg.h:2489
wm8994_inmixer5_in2lrp_mixinl_vol
int32_t wm8994_inmixer5_in2lrp_mixinl_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3198
WM8994_DAC2_LEFT_VOL_VSET_MASK
#define WM8994_DAC2_LEFT_VOL_VSET_MASK
Definition: wm8994_reg.h:3388
WM8994_SPKMIXR_ATT_MIXINL_VOL_POSITION
#define WM8994_SPKMIXR_ATT_MIXINL_VOL_POSITION
Definition: wm8994_reg.h:1341
WM8994_ANTIPOP2
#define WM8994_ANTIPOP2
Definition: wm8994_reg.h:111
WM8994_SPKMIXER_DAC2R_TO_SPKMIXR_MASK
#define WM8994_SPKMIXER_DAC2R_TO_SPKMIXR_MASK
Definition: wm8994_reg.h:1935
wm8994_spkmixl_att_dac2l_vol
int32_t wm8994_spkmixl_att_dac2l_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2321
WM8994_AIF1_CLOCKING1_SRC_MASK
#define WM8994_AIF1_CLOCKING1_SRC_MASK
Definition: wm8994_reg.h:2302
WM8994_GPIO1
#define WM8994_GPIO1
Definition: wm8994_reg.h:328
wm8994_rli_in2r_mute
int32_t wm8994_rli_in2r_mute(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1924
WM8994_DAC2_LEFT_VOL
#define WM8994_DAC2_LEFT_VOL
Definition: wm8994_reg.h:320
WM8994_AIF1_DAC1_FILTER1_MUTE_POSITION
#define WM8994_AIF1_DAC1_FILTER1_MUTE_POSITION
Definition: wm8994_reg.h:2736
WM8994_INMIXER2_IN2RP_TO_IN2R_POSITION
#define WM8994_INMIXER2_IN2RP_TO_IN2R_POSITION
Definition: wm8994_reg.h:1483
wm8994_pwr_mgmt_1_hpout1l_ena
int32_t wm8994_pwr_mgmt_1_hpout1l_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:248
WM8994_AIF1DRC2_SIG_DET_PK_POSITION
#define WM8994_AIF1DRC2_SIG_DET_PK_POSITION
Definition: wm8994_reg.h:2999
wm8994_pwr_mgmt_5_aif1dac1r_ena
int32_t wm8994_pwr_mgmt_5_aif1dac1r_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1224
WM8994_GPIO1_GP1_PD_POSITION
#define WM8994_GPIO1_GP1_PD_POSITION
Definition: wm8994_reg.h:3519
WM8994_PWR_MGMT_1_BIAS_EN_POSITION
#define WM8994_PWR_MGMT_1_BIAS_EN_POSITION
Definition: wm8994_reg.h:407
WM8994_RIGHT_LINE_IN34_VOL
#define WM8994_RIGHT_LINE_IN34_VOL
Definition: wm8994_reg.h:68
WM8994_WSEQ_CTRL1_START_INDEX_POSITION
#define WM8994_WSEQ_CTRL1_START_INDEX_POSITION
Definition: wm8994_reg.h:2233
WM8994_PWR_MGMT_1_VMID_SEL_POSITION
#define WM8994_PWR_MGMT_1_VMID_SEL_POSITION
Definition: wm8994_reg.h:417
WM8994_PWR_MGMT_6_AIF3_ADCDAT_SRC_MASK
#define WM8994_PWR_MGMT_6_AIF3_ADCDAT_SRC_MASK
Definition: wm8994_reg.h:936
WM8994_AIF1_CONTROL1_WL_POSITION
#define WM8994_AIF1_CONTROL1_WL_POSITION
Definition: wm8994_reg.h:2430
WM8994_OUTMIXER1_IN2RN_TO_MIXOUTL_POSITION
#define WM8994_OUTMIXER1_IN2RN_TO_MIXOUTL_POSITION
Definition: wm8994_reg.h:1724
WM8994_SPKMIXER_DAC1R_TO_SPKMIXR_MASK
#define WM8994_SPKMIXER_DAC1R_TO_SPKMIXR_MASK
Definition: wm8994_reg.h:1855
wm8994_pwr_mgmt_4_aif2adcr_ena
int32_t wm8994_pwr_mgmt_4_aif2adcr_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1073
WM8994_DAC1_LEFT_VOL_MUTE_MASK
#define WM8994_DAC1_LEFT_VOL_MUTE_MASK
Definition: wm8994_reg.h:3348
wm8994_lo_hpout1l_vu
int32_t wm8994_lo_hpout1l_vu(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2071
WM8994_LEFT_LINE_IN12_VOL
#define WM8994_LEFT_LINE_IN12_VOL
Definition: wm8994_reg.h:65
WM8994_PWR_MGMT_4_DMIC2L_ENA_MASK
#define WM8994_PWR_MGMT_4_DMIC2L_ENA_MASK
Definition: wm8994_reg.h:736
WM8994_AIF1_ADC1_FILTERS_HPF_CUT_MASK
#define WM8994_AIF1_ADC1_FILTERS_HPF_CUT_MASK
Definition: wm8994_reg.h:2635
WM8994_PWR_MGMT_2_MIXINR_ENA_MASK
#define WM8994_PWR_MGMT_2_MIXINR_ENA_MASK
Definition: wm8994_reg.h:536
WM8994_AIF1DRC2_ANTICLIP_MASK
#define WM8994_AIF1DRC2_ANTICLIP_MASK
Definition: wm8994_reg.h:2938
wm8994_aif1_adc2_filters_4fs
int32_t wm8994_aif1_adc2_filters_4fs(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5856
WM8994_AIF1_DAC1_LMRDAC1L_TO_DAC1L_MASK
#define WM8994_AIF1_DAC1_LMRDAC1L_TO_DAC1L_MASK
Definition: wm8994_reg.h:3046
wm8994_dc_servo1_dcs_trig_single_0
int32_t wm8994_dc_servo1_dcs_trig_single_0(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4476
wm8994_analog_hp_hpout1r_outp
int32_t wm8994_analog_hp_hpout1r_outp(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4552
WM8994_PWR_MGMT_3_SPKLVOL_ENA_MASK
#define WM8994_PWR_MGMT_3_SPKLVOL_ENA_MASK
Definition: wm8994_reg.h:626
wm8994_pwr_mgmt_1_bias_en
int32_t wm8994_pwr_mgmt_1_bias_en(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:123
wm8994_aif1_dac2_lmradcr_to_dac2l
int32_t wm8994_aif1_dac2_lmradcr_to_dac2l(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7081
WM8994_CLOCKING1
#define WM8994_CLOCKING1
Definition: wm8994_reg.h:140
WM8994_CLASS_W_CP_DYN_SRC_SEL_MASK
#define WM8994_CLASS_W_CP_DYN_SRC_SEL_MASK
Definition: wm8994_reg.h:2058
WM8994_AIF1_DAC1_LMRADCL_TO_DAC1L_MASK
#define WM8994_AIF1_DAC1_LMRADCL_TO_DAC1L_MASK
Definition: wm8994_reg.h:3076
WM8994_AIF1_MS_CLK_FRC_POSITION
#define WM8994_AIF1_MS_CLK_FRC_POSITION
Definition: wm8994_reg.h:2500
wm8994_aif1_dac1_lmradcr_to_dac1l
int32_t wm8994_aif1_dac1_lmradcr_to_dac1l(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6831
WM8994_AIF1_DAC2_RMRADCL_TO_DAC2R_MASK
#define WM8994_AIF1_DAC2_RMRADCL_TO_DAC2R_MASK
Definition: wm8994_reg.h:3226
wm8994_clocking1_aif1dspclk_ena
int32_t wm8994_clocking1_aif1dspclk_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4958
WM8994_INMIXER2_IN1LP_TO_IN1L_POSITION
#define WM8994_INMIXER2_IN1LP_TO_IN1L_POSITION
Definition: wm8994_reg.h:1503
wm8994_inmixer3_in1l_to_mixinl
int32_t wm8994_inmixer3_in1l_to_mixinl(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2997
WM8994_AIF1_ADC2_LEFT_VOL_VU_POSITION
#define WM8994_AIF1_ADC2_LEFT_VOL_VU_POSITION
Definition: wm8994_reg.h:2584
WM8994_AIF1_RATE
#define WM8994_AIF1_RATE
Definition: wm8994_reg.h:142
wm8994_outmixer2_dac1r_to_hpout1r
int32_t wm8994_outmixer2_dac1r_to_hpout1r(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3723
wm8994_outmixer1_in1l_to_mixoutl
int32_t wm8994_outmixer1_in1l_to_mixoutl(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3348
wm8994_pwr_mgmt_3_spklvol_ena
int32_t wm8994_pwr_mgmt_3_spklvol_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:673
WM8994_AIF1_ADC1_FILTERS_ADC1L_HPF_MASK
#define WM8994_AIF1_ADC1_FILTERS_ADC1L_HPF_MASK
Definition: wm8994_reg.h:2625
WM8994_PWR_MGMT_2_TSHUT_OPDIS_MASK
#define WM8994_PWR_MGMT_2_TSHUT_OPDIS_MASK
Definition: wm8994_reg.h:566
wm8994_outmixer1_dac1l_to_hpout1l
int32_t wm8994_outmixer1_dac1l_to_hpout1l(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3498
wm8994_rli_in2r_zc
int32_t wm8994_rli_in2r_zc(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1899
WM8994_SPKMIXER_IN1RP_TO_SPKMIXR_POSITION
#define WM8994_SPKMIXER_IN1RP_TO_SPKMIXR_POSITION
Definition: wm8994_reg.h:1896
WM8994_PWR_MGMT_3_LINEOUT1N_ENA_POSITION
#define WM8994_PWR_MGMT_3_LINEOUT1N_ENA_POSITION
Definition: wm8994_reg.h:677
WM8994_AIF1_ADC2_LMR
#define WM8994_AIF1_ADC2_LMR
Definition: wm8994_reg.h:313
wm8994_aif1drc1_knee2_op_ena
int32_t wm8994_aif1drc1_knee2_op_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6256
WM8994_PWR_MGMT_3_LINEOUT2N_ENA_MASK
#define WM8994_PWR_MGMT_3_LINEOUT2N_ENA_MASK
Definition: wm8994_reg.h:656
wm8994_pwr_mgmt_4_dmic1r_ena
int32_t wm8994_pwr_mgmt_4_dmic1r_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:873
WM8994_ANTIPOP2_MICB1_DISCH_MASK
#define WM8994_ANTIPOP2_MICB1_DISCH_MASK
Definition: wm8994_reg.h:2007
WM8994_OVERSAMPLING_DAC_OSR128_POSITION
#define WM8994_OVERSAMPLING_DAC_OSR128_POSITION
Definition: wm8994_reg.h:3449
WM8994_LO_HPOUT1L_MUTE_N_POSITION
#define WM8994_LO_HPOUT1L_MUTE_N_POSITION
Definition: wm8994_reg.h:1158
wm8994_aif1_clocking1_src
int32_t wm8994_aif1_clocking1_src(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4858
WM8994_ANALOG_HP_HPOUT1L_OUTP_MASK
#define WM8994_ANALOG_HP_HPOUT1L_OUTP_MASK
Definition: wm8994_reg.h:2210
WM8994_OVERSAMPLING_ADC_OSR128_POSITION
#define WM8994_OVERSAMPLING_ADC_OSR128_POSITION
Definition: wm8994_reg.h:3459
WM8994_SPKMIXR_ATT_SPKOUT_CLASSAB_POSITION
#define WM8994_SPKMIXR_ATT_SPKOUT_CLASSAB_POSITION
Definition: wm8994_reg.h:1361
WM8994_AIF1_DAC1_FILTER1_UNMUTE_RAMP_POSITION
#define WM8994_AIF1_DAC1_FILTER1_UNMUTE_RAMP_POSITION
Definition: wm8994_reg.h:2706
wm8994_spkmixer_mixinl_to_spkmixl
int32_t wm8994_spkmixer_mixinl_to_spkmixl(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3923
wm8994_spkmixr_att_vol
int32_t wm8994_spkmixr_att_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2371
wm8994_inmixer2_in2ln_to_in2l
int32_t wm8994_inmixer2_in2ln_to_in2l(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2896
WM8994_RLI_IN1R_MUTE_POSITION
#define WM8994_RLI_IN1R_MUTE_POSITION
Definition: wm8994_reg.h:1087
WM8994_PWR_MGMT_4_ADCL_ENA_MASK
#define WM8994_PWR_MGMT_4_ADCL_ENA_MASK
Definition: wm8994_reg.h:696
wm8994_pwr_mgmt_3_lineout2p_ena
int32_t wm8994_pwr_mgmt_3_lineout2p_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:723
wm8994_aif1drc2_sig_det
int32_t wm8994_aif1drc2_sig_det(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6556
WM8994_INMIXER4_IN1R_MIXINR_VOL_MASK
#define WM8994_INMIXER4_IN1R_MIXINR_VOL_MASK
Definition: wm8994_reg.h:1592
WM8994_DC_SERVO1_DCS_ENA_CHAN_1_POSITION
#define WM8994_DC_SERVO1_DCS_ENA_CHAN_1_POSITION
Definition: wm8994_reg.h:2079
WM8994_AIF1_ADC2_FILTERS_4FS_POSITION
#define WM8994_AIF1_ADC2_FILTERS_4FS_POSITION
Definition: wm8994_reg.h:2686
wm8994_spk_left_vol_spkout_vu
int32_t wm8994_spk_left_vol_spkout_vu(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2621
WM8994_PWR_MGMT_1_SPKOUTR_ENA_MASK
#define WM8994_PWR_MGMT_1_SPKOUTR_ENA_MASK
Definition: wm8994_reg.h:486
WM8994_AIF1_DAC1_RMRDAC1R_TO_DAC1R_POSITION
#define WM8994_AIF1_DAC1_RMRDAC1R_TO_DAC1R_POSITION
Definition: wm8994_reg.h:3097
WM8994_AIF1_ADC2_FILTERS_HPF_CUT_MASK
#define WM8994_AIF1_ADC2_FILTERS_HPF_CUT_MASK
Definition: wm8994_reg.h:2675
WM8994_DAC1_RIGHT_VOL_VSET_POSITION
#define WM8994_DAC1_RIGHT_VOL_VSET_POSITION
Definition: wm8994_reg.h:3359
wm8994_aif1drc1_dac1_drc_ena
int32_t wm8994_aif1drc1_dac1_drc_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6181
WM8994_RLI_IN2R_VOL_POSITION
#define WM8994_RLI_IN2R_VOL_POSITION
Definition: wm8994_reg.h:1107
WM8994_SPKMIXL_ATT_MIXOUTL_VOL_POSITION
#define WM8994_SPKMIXL_ATT_MIXOUTL_VOL_POSITION
Definition: wm8994_reg.h:1251
wm8994_aif1_adc2_filters_hpf_cut
int32_t wm8994_aif1_adc2_filters_hpf_cut(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5830
wm8994_antipop2_micb2_disch
int32_t wm8994_antipop2_micb2_disch(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4148
WM8994_OUTMIXER1_IN1R_TO_MIXOUTL_POSITION
#define WM8994_OUTMIXER1_IN1R_TO_MIXOUTL_POSITION
Definition: wm8994_reg.h:1704
WM8994_DC_SERVO1_DCS_TRIG_DAC_WR_1_MASK
#define WM8994_DC_SERVO1_DCS_TRIG_DAC_WR_1_MASK
Definition: wm8994_reg.h:2098
WM8994_SPKMIXR_ATT_MIXOUTL_VOL_POSITION
#define WM8994_SPKMIXR_ATT_MIXOUTL_VOL_POSITION
Definition: wm8994_reg.h:1321
WM8994_PWR_MGMT_3_LINEOUT2P_ENA_POSITION
#define WM8994_PWR_MGMT_3_LINEOUT2P_ENA_POSITION
Definition: wm8994_reg.h:647
wm8994_rli_in1r_zc
int32_t wm8994_rli_in1r_zc(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1799
WM8994_ADC2LMR_AIF2DACL_TO_AIF1ADC2L_MASK
#define WM8994_ADC2LMR_AIF2DACL_TO_AIF1ADC2L_MASK
Definition: wm8994_reg.h:3287
WM8994_SPKMIXR_ATT_DAC2R_VOL_MASK
#define WM8994_SPKMIXR_ATT_DAC2R_VOL_MASK
Definition: wm8994_reg.h:1350
WM8994_PWR_MGMT_5_DAC2L_ENA_POSITION
#define WM8994_PWR_MGMT_5_DAC2L_ENA_POSITION
Definition: wm8994_reg.h:837
WM8994_AIF1_DAC1_RMRDAC2R_TO_DAC1R_POSITION
#define WM8994_AIF1_DAC1_RMRDAC2R_TO_DAC1R_POSITION
Definition: wm8994_reg.h:3107
WM8994_AIF1DRC2_SIG_DET_MODE_POSITION
#define WM8994_AIF1DRC2_SIG_DET_MODE_POSITION
Definition: wm8994_reg.h:2979
wm8994_aif1_adc1_right_vol_adc1r
int32_t wm8994_aif1_adc1_right_vol_adc1r(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5523
WM8994_INMIXER2_IN2RN_TO_IN2R_MASK
#define WM8994_INMIXER2_IN2RN_TO_IN2R_MASK
Definition: wm8994_reg.h:1472
wm8994_aif1_control1_adcl_src
int32_t wm8994_aif1_control1_adcl_src(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5349
WM8994_AIF1DRC2_SIG_DET_RMS_POSITION
#define WM8994_AIF1DRC2_SIG_DET_RMS_POSITION
Definition: wm8994_reg.h:3009
WM8994_PWR_MGMT_1_HPOUT2_ENA_MASK
#define WM8994_PWR_MGMT_1_HPOUT2_ENA_MASK
Definition: wm8994_reg.h:466
WM8994_PWR_MGMT_6_AIF2_ADCDAT_SRC_POSITION
#define WM8994_PWR_MGMT_6_AIF2_ADCDAT_SRC_POSITION
Definition: wm8994_reg.h:927
wm8994_charge_pump1_cp_ena
int32_t wm8994_charge_pump1_cp_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4173
WM8994_AIF1_MS_MSTR_MASK
#define WM8994_AIF1_MS_MSTR_MASK
Definition: wm8994_reg.h:2509
WM8994_SPKMIXR_ATT_VOL_MASK
#define WM8994_SPKMIXR_ATT_VOL_MASK
Definition: wm8994_reg.h:1300
wm8994_antipop2_vmid_buf_ena
int32_t wm8994_antipop2_vmid_buf_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4073
WM8994_PWR_MGMT_6_AIF1_DACDAT_SRC_MASK
#define WM8994_PWR_MGMT_6_AIF1_DACDAT_SRC_MASK
Definition: wm8994_reg.h:906
wm8994_aif1_ms_lrclk_frc
int32_t wm8994_aif1_ms_lrclk_frc(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5375
WM8994_PWR_MANAGEMENT_3
#define WM8994_PWR_MANAGEMENT_3
Definition: wm8994_reg.h:57
WM8994_PWR_MGMT_5_AIF1DAC1R_ENA_MASK
#define WM8994_PWR_MGMT_5_AIF1DAC1R_ENA_MASK
Definition: wm8994_reg.h:846
WM8994_CLOCKING2_OPCLK_DIV_POSITION
#define WM8994_CLOCKING2_OPCLK_DIV_POSITION
Definition: wm8994_reg.h:2365
WM8994_SPKMIXER_MIXOUTL_TO_SPKMIXL_MASK
#define WM8994_SPKMIXER_MIXOUTL_TO_SPKMIXL_MASK
Definition: wm8994_reg.h:1885
WM8994_OUTMIXER2_DAC1R_TO_MIXOUTR_MASK
#define WM8994_OUTMIXER2_DAC1R_TO_MIXOUTR_MASK
Definition: wm8994_reg.h:1763
WM8994_RO_HPOUT1R_MUTE_N_MASK
#define WM8994_RO_HPOUT1R_MUTE_N_MASK
Definition: wm8994_reg.h:1198
WM8994_AIF1_DAC1_LMRDACL_TO_DAC1L_POSITION
#define WM8994_AIF1_DAC1_LMRDACL_TO_DAC1L_POSITION
Definition: wm8994_reg.h:3067
WM8994_PWR_MGMT_4_AIF1ADC1L_ENA_MASK
#define WM8994_PWR_MGMT_4_AIF1ADC1L_ENA_MASK
Definition: wm8994_reg.h:756
WM8994_SPK_LEFT_VOL_SPKOUT_VOL_MASK
#define WM8994_SPK_LEFT_VOL_SPKOUT_VOL_MASK
Definition: wm8994_reg.h:1372
WM8994_DAC2_RIGHT_VOL_MUTE_POSITION
#define WM8994_DAC2_RIGHT_VOL_MUTE_POSITION
Definition: wm8994_reg.h:3439
wm8994_pwr_mgmt_3_mixoutr_ena
int32_t wm8994_pwr_mgmt_3_mixoutr_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:573
WM8994_LLI_IN1L_VOL_POSITION
#define WM8994_LLI_IN1L_VOL_POSITION
Definition: wm8994_reg.h:987
WM8994_PWR_MGMT_5_AIF1DAC2L_ENA_MASK
#define WM8994_PWR_MGMT_5_AIF1DAC2L_ENA_MASK
Definition: wm8994_reg.h:876
wm8994_spkmixer_in1rp_to_spkmixr
int32_t wm8994_spkmixer_in1rp_to_spkmixr(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3848
WM8994_INMIXER5_IN1LP_MIXINL_VOL_MASK
#define WM8994_INMIXER5_IN1LP_MIXINL_VOL_MASK
Definition: wm8994_reg.h:1642
wm8994_aif1drc1_anticlip
int32_t wm8994_aif1drc1_anticlip(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6206
WM8994_PWR_MGMT_3_SPKLVOL_ENA_POSITION
#define WM8994_PWR_MGMT_3_SPKLVOL_ENA_POSITION
Definition: wm8994_reg.h:627
wm8994_aif1_adc2_filters_adc2r_hpf
int32_t wm8994_aif1_adc2_filters_adc2r_hpf(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5778
WM8994_AIF1DRC2_QR_MASK
#define WM8994_AIF1DRC2_QR_MASK
Definition: wm8994_reg.h:2948
WM8994_RLI_IN2R_ZC_MASK
#define WM8994_RLI_IN2R_ZC_MASK
Definition: wm8994_reg.h:1116
wm8994_adc1lmr_aif2dacl_to_aif1adc1l
int32_t wm8994_adc1lmr_aif2dacl_to_aif1adc1l(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7231
wm8994_inmixer5_in1lp_mixinl_vol
int32_t wm8994_inmixer5_in1lp_mixinl_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3223
WM8994_PWR_MGMT_3_SPKRVOL_ENA_POSITION
#define WM8994_PWR_MGMT_3_SPKRVOL_ENA_POSITION
Definition: wm8994_reg.h:637
wm8994_outmixer1_in2lp_to_mixoutl
int32_t wm8994_outmixer1_in2lp_to_mixoutl(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3323
WM8994_DC_SERVO1_DCS_TRIG_DAC_WR_0_MASK
#define WM8994_DC_SERVO1_DCS_TRIG_DAC_WR_0_MASK
Definition: wm8994_reg.h:2088
WM8994_SPKMIXL_ATT_DAC2L_VOL_MASK
#define WM8994_SPKMIXL_ATT_DAC2L_VOL_MASK
Definition: wm8994_reg.h:1280
WM8994_PWR_MGMT_1_HPOUT1R_ENA_MASK
#define WM8994_PWR_MGMT_1_HPOUT1R_ENA_MASK
Definition: wm8994_reg.h:446
WM8994_AIF1_CLOCKING1_SRC_POSITION
#define WM8994_AIF1_CLOCKING1_SRC_POSITION
Definition: wm8994_reg.h:2303
WM8994_AIF1_DAC2_FILTER1_DEEMP_POSITION
#define WM8994_AIF1_DAC2_FILTER1_DEEMP_POSITION
Definition: wm8994_reg.h:2746
WM8994_ADC1LMR_AIF2DACL_TO_AIF1ADC1L_MASK
#define WM8994_ADC1LMR_AIF2DACL_TO_AIF1ADC1L_MASK
Definition: wm8994_reg.h:3246
wm8994_pwr_mgmt_1_micb1_ena
int32_t wm8994_pwr_mgmt_1_micb1_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:173
WM8994_RO_HPOUT1R_VU_POSITION
#define WM8994_RO_HPOUT1R_VU_POSITION
Definition: wm8994_reg.h:1219
WM8994_OVERSAMPLING_DAC_OSR128_MASK
#define WM8994_OVERSAMPLING_DAC_OSR128_MASK
Definition: wm8994_reg.h:3448
WM8994_INMIXER2_IN1LP_TO_IN1L_MASK
#define WM8994_INMIXER2_IN1LP_TO_IN1L_MASK
Definition: wm8994_reg.h:1502
WM8994_AIF1_CLOCKING1_INV_MASK
#define WM8994_AIF1_CLOCKING1_INV_MASK
Definition: wm8994_reg.h:2292
WM8994_PWR_MGMT_3_MIXOUTR_ENA_POSITION
#define WM8994_PWR_MGMT_3_MIXOUTR_ENA_POSITION
Definition: wm8994_reg.h:587
wm8994_gpio1_gp1_lvl
int32_t wm8994_gpio1_gp1_lvl(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7806
wm8994_antipop2_bias_src
int32_t wm8994_antipop2_bias_src(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4023
WM8994_AIF1DRC1_SIG_DET_MODE_POSITION
#define WM8994_AIF1DRC1_SIG_DET_MODE_POSITION
Definition: wm8994_reg.h:2866
wm8994_spkmixer_mixoutr_to_spkmixr
int32_t wm8994_spkmixer_mixoutr_to_spkmixr(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3798
WM8994_AIF1_DAC1_LMRDAC2L_TO_DAC1L_MASK
#define WM8994_AIF1_DAC1_LMRDAC2L_TO_DAC1L_MASK
Definition: wm8994_reg.h:3056
wm8994_aif1_dac1_rmrdac2r_to_dac1r
int32_t wm8994_aif1_dac1_rmrdac2r_to_dac1r(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6881
WM8994_PWR_MGMT_1_SPKOUTR_ENA_POSITION
#define WM8994_PWR_MGMT_1_SPKOUTR_ENA_POSITION
Definition: wm8994_reg.h:487
WM8994_SPKMIXER_DAC2L_TO_SPKMIXL_MASK
#define WM8994_SPKMIXER_DAC2L_TO_SPKMIXL_MASK
Definition: wm8994_reg.h:1945
wm8994_pwr_mgmt_2_tshut_ena
int32_t wm8994_pwr_mgmt_2_tshut_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:548
WM8994_GPIO1_GP1_POL_POSITION
#define WM8994_GPIO1_GP1_POL_POSITION
Definition: wm8994_reg.h:3509
wm8994_analog_hp_hpout1r_dly
int32_t wm8994_analog_hp_hpout1r_dly(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4527
wm8994_pwr_mgmt_4_adcl_ena
int32_t wm8994_pwr_mgmt_4_adcl_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:848
WM8994_AIF1_CLOCKING1_INV_POSITION
#define WM8994_AIF1_CLOCKING1_INV_POSITION
Definition: wm8994_reg.h:2293
WM8994_LO_HPOUT1L_MUTE_N_MASK
#define WM8994_LO_HPOUT1L_MUTE_N_MASK
Definition: wm8994_reg.h:1157
WM8994_PWR_MGMT_4_DMIC1L_ENA_POSITION
#define WM8994_PWR_MGMT_4_DMIC1L_ENA_POSITION
Definition: wm8994_reg.h:717
WM8994_LLI_IN2L_MUTE_MASK
#define WM8994_LLI_IN2L_MUTE_MASK
Definition: wm8994_reg.h:1046
wm8994_outmixer1_mixinl_to_mixoutl
int32_t wm8994_outmixer1_mixinl_to_mixoutl(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3448
wm8994_aif1drc2_adc2l_drc_ena
int32_t wm8994_aif1drc2_adc2l_drc_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6431
WM8994_INMIXER4_IN2R_MIXINR_VOL_POSITION
#define WM8994_INMIXER4_IN2R_MIXINR_VOL_POSITION
Definition: wm8994_reg.h:1613
wm8994_spkmixl_att_mixoutl_vol
int32_t wm8994_spkmixl_att_mixoutl_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2246
WM8994_AIF1DRC1_SIG_DET_RMS_POSITION
#define WM8994_AIF1DRC1_SIG_DET_RMS_POSITION
Definition: wm8994_reg.h:2896
WM8994_CLASS_W
#define WM8994_CLASS_W
Definition: wm8994_reg.h:120
WM8994_LO_HPOUT1L_VU_MASK
#define WM8994_LO_HPOUT1L_VU_MASK
Definition: wm8994_reg.h:1177
wm8994_inmixer1_inputs_clamp
int32_t wm8994_inmixer1_inputs_clamp(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1499
WM8994_PWR_MGMT_1_MICB1_ENA_MASK
#define WM8994_PWR_MGMT_1_MICB1_ENA_MASK
Definition: wm8994_reg.h:426
wm8994_aif1_dac1_filter1_muterate
int32_t wm8994_aif1_dac1_filter1_muterate(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5931
WM8994_PWR_MGMT_2_MIXINL_ENA_POSITION
#define WM8994_PWR_MGMT_2_MIXINL_ENA_POSITION
Definition: wm8994_reg.h:547
WM8994_RO_HPOUT1R_ZC_MASK
#define WM8994_RO_HPOUT1R_ZC_MASK
Definition: wm8994_reg.h:1208
WM8994_ANTIPOP2_VMID_BUF_ENA_POSITION
#define WM8994_ANTIPOP2_VMID_BUF_ENA_POSITION
Definition: wm8994_reg.h:1988
WM8994_AIF1_ADC1_LEFT_VOL_ADC1L_MASK
#define WM8994_AIF1_ADC1_LEFT_VOL_ADC1L_MASK
Definition: wm8994_reg.h:2532
WM8994_PWR_MGMT_4_AIF1ADC1R_ENA_POSITION
#define WM8994_PWR_MGMT_4_AIF1ADC1R_ENA_POSITION
Definition: wm8994_reg.h:747
WM8994_AIF1_CONTROL1_LRCLK_INV_MASK
#define WM8994_AIF1_CONTROL1_LRCLK_INV_MASK
Definition: wm8994_reg.h:2439
WM8994_RO_HPOUT1R_VU_MASK
#define WM8994_RO_HPOUT1R_VU_MASK
Definition: wm8994_reg.h:1218
WM8994_ADC2RMR_ADC2R_TO_AIF1ADC2R_POSITION
#define WM8994_ADC2RMR_ADC2R_TO_AIF1ADC2R_POSITION
Definition: wm8994_reg.h:3319
WM8994_OUTMIXER2_MIXINR_TO_MIXOUTR_MASK
#define WM8994_OUTMIXER2_MIXINR_TO_MIXOUTR_MASK
Definition: wm8994_reg.h:1823
wm8994_dac2_left_vol_vu
int32_t wm8994_dac2_left_vol_vu(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7606
WM8994_AIF1_DAC2_RMRDACR_TO_DAC2R_POSITION
#define WM8994_AIF1_DAC2_RMRDACR_TO_DAC2R_POSITION
Definition: wm8994_reg.h:3217
wm8994_pwr_mgmt_3_lineout2n_ena
int32_t wm8994_pwr_mgmt_3_lineout2n_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:748
wm8994_outmixer1_in2ln_to_mixoutl
int32_t wm8994_outmixer1_in2ln_to_mixoutl(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3398
WM8994_INMIXER2_IN1RP_TO_IN1R_POSITION
#define WM8994_INMIXER2_IN1RP_TO_IN1R_POSITION
Definition: wm8994_reg.h:1463
WM8994_INMIXER5_IN2LRP_MIXINL_VOL_POSITION
#define WM8994_INMIXER5_IN2LRP_MIXINL_VOL_POSITION
Definition: wm8994_reg.h:1633
WM8994_DAC2_RIGHT_VOL_VSET_MASK
#define WM8994_DAC2_RIGHT_VOL_VSET_MASK
Definition: wm8994_reg.h:3418
wm8994_wseq_ctrl1_start_index
int32_t wm8994_wseq_ctrl1_start_index(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4679
WM8994_AIF1_DAC2_RMRDAC1R_TO_DAC2R_MASK
#define WM8994_AIF1_DAC2_RMRDAC1R_TO_DAC2R_MASK
Definition: wm8994_reg.h:3196
WM8994_PWR_MGMT_4_AIF2ADCR_ENA_POSITION
#define WM8994_PWR_MGMT_4_AIF2ADCR_ENA_POSITION
Definition: wm8994_reg.h:787
WM8994_SPK_RIGHT_VOL_SPKOUT_VOL_POSITION
#define WM8994_SPK_RIGHT_VOL_SPKOUT_VOL_POSITION
Definition: wm8994_reg.h:1413
WM8994_DAC1_MIXER_VOL_ADCL_POSITION
#define WM8994_DAC1_MIXER_VOL_ADCL_POSITION
Definition: wm8994_reg.h:3027
WM8994_AIF1_ADC1_RIGHT_VOL_ADC1R_POSITION
#define WM8994_AIF1_ADC1_RIGHT_VOL_ADC1R_POSITION
Definition: wm8994_reg.h:2554
wm8994_register_set
int32_t wm8994_register_set(wm8994_ctx_t *ctx, uint16_t reg, uint16_t value)
Definition: wm8994_reg.c:86
wm8994_aif1_sr
int32_t wm8994_aif1_sr(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5108
wm8994_aif1_control1_fmt_r
int32_t wm8994_aif1_control1_fmt_r(wm8994_ctx_t *ctx, uint16_t *value)
Definition: wm8994_reg.c:5180
WM8994_AIF1_ADC1_RIGHT_VOL_VU_MASK
#define WM8994_AIF1_ADC1_RIGHT_VOL_VU_MASK
Definition: wm8994_reg.h:2563
WM8994_SPK_RIGHT_VOL_SPKOUT_VU_MASK
#define WM8994_SPK_RIGHT_VOL_SPKOUT_VU_MASK
Definition: wm8994_reg.h:1442
wm8994_dac1_left_vol_vu
int32_t wm8994_dac1_left_vol_vu(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7456
wm8994_ro_hpout1r_vol
int32_t wm8994_ro_hpout1r_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2096
WM8994_SPKMIXL_ATT_MIXINL_VOL_MASK
#define WM8994_SPKMIXL_ATT_MIXINL_VOL_MASK
Definition: wm8994_reg.h:1270
WM8994_SPKMIXR_ATT_MIXINL_VOL_MASK
#define WM8994_SPKMIXR_ATT_MIXINL_VOL_MASK
Definition: wm8994_reg.h:1340
WM8994_PWR_MGMT_2_MIXINR_ENA_POSITION
#define WM8994_PWR_MGMT_2_MIXINR_ENA_POSITION
Definition: wm8994_reg.h:537
WM8994_AIF1DRC1_KNEE2_OP_ENA_POSITION
#define WM8994_AIF1DRC1_KNEE2_OP_ENA_POSITION
Definition: wm8994_reg.h:2846
WM8994_LLI_IN2_VU_MASK
#define WM8994_LLI_IN2_VU_MASK
Definition: wm8994_reg.h:1056
wm8994_aif1_dac2_filter1_mute
int32_t wm8994_aif1_dac2_filter1_mute(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6106
wm8994_aif1_dac2_rmrdacr_to_dac2r
int32_t wm8994_aif1_dac2_rmrdacr_to_dac2r(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7156
WM8994_ANTIPOP2_VMID_BUF_ENA_MASK
#define WM8994_ANTIPOP2_VMID_BUF_ENA_MASK
Definition: wm8994_reg.h:1987
wm8994_inmixer2_in1rp_to_in1r
int32_t wm8994_inmixer2_in1rp_to_in1r(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2771
WM8994_SPKMIXL_ATT_IN1LP_VOL_MASK
#define WM8994_SPKMIXL_ATT_IN1LP_VOL_MASK
Definition: wm8994_reg.h:1260
WM8994_SPKMIXER_MIXOUTR_TO_SPKMIXR_POSITION
#define WM8994_SPKMIXER_MIXOUTR_TO_SPKMIXR_POSITION
Definition: wm8994_reg.h:1876
wm8994_antipop2_startup_bias_ena
int32_t wm8994_antipop2_startup_bias_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4048
WM8994_PWR_MANAGEMENT_6
#define WM8994_PWR_MANAGEMENT_6
Definition: wm8994_reg.h:60
wm8994_ro_hpout1r_zc
int32_t wm8994_ro_hpout1r_zc(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2146
wm8994_pwr_mgmt_3_mixoutl_ena
int32_t wm8994_pwr_mgmt_3_mixoutl_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:598
WM8994_OUTMIXER2_IN2LN_TO_MIXOUTR_POSITION
#define WM8994_OUTMIXER2_IN2LN_TO_MIXOUTR_POSITION
Definition: wm8994_reg.h:1814
WM8994_OUTMIXER2_IN2RP_TO_MIXOUTR_MASK
#define WM8994_OUTMIXER2_IN2RP_TO_MIXOUTR_MASK
Definition: wm8994_reg.h:1773
WM8994_AIF1_MS_LRCLK_FRC_POSITION
#define WM8994_AIF1_MS_LRCLK_FRC_POSITION
Definition: wm8994_reg.h:2490
WM8994_RLI_IN1_VU_MASK
#define WM8994_RLI_IN1_VU_MASK
Definition: wm8994_reg.h:1096
wm8994_aif1_adc1_filters_adc1l_hpf
int32_t wm8994_aif1_adc1_filters_adc1l_hpf(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5700
WM8994_AIF1_DAC1_RMRADCR_TO_DAC1R_MASK
#define WM8994_AIF1_DAC1_RMRADCR_TO_DAC1R_MASK
Definition: wm8994_reg.h:3136
wm8994_outmixer2_in2rp_to_mixoutr
int32_t wm8994_outmixer2_in2rp_to_mixoutr(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3548
WM8994_AIF1_MS_MSTR_POSITION
#define WM8994_AIF1_MS_MSTR_POSITION
Definition: wm8994_reg.h:2510
wm8994_dc_servo1_dcs_trig_dac_wr_0
int32_t wm8994_dc_servo1_dcs_trig_dac_wr_0(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4323
WM8994_SPK_RIGHT_VOL_SPKOUT_MUTE_N_POSITION
#define WM8994_SPK_RIGHT_VOL_SPKOUT_MUTE_N_POSITION
Definition: wm8994_reg.h:1423
wm8994_spkmixr_att_dac1_vol
int32_t wm8994_spkmixr_att_dac1_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2396
wm8994_pwr_mgmt_3_mixoutlvol_ena
int32_t wm8994_pwr_mgmt_3_mixoutlvol_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:648
wm8994_pwr_mgmt_2_mixinr_ena
int32_t wm8994_pwr_mgmt_2_mixinr_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:448
WM8994_SPKMIXR_ATT_SPKOUT_CLASSAB_MASK
#define WM8994_SPKMIXR_ATT_SPKOUT_CLASSAB_MASK
Definition: wm8994_reg.h:1360
WM8994_AIF1_CLK_RATE_MASK
#define WM8994_AIF1_CLK_RATE_MASK
Definition: wm8994_reg.h:2394
WM8994_SPKMIXER_DAC2R_TO_SPKMIXR_POSITION
#define WM8994_SPKMIXER_DAC2R_TO_SPKMIXR_POSITION
Definition: wm8994_reg.h:1936
wm8994_aif1drc2_sig_det_mode
int32_t wm8994_aif1drc2_sig_det_mode(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6581
WM8994_ANTIPOP2_VMID_RAMP_MASK
#define WM8994_ANTIPOP2_VMID_RAMP_MASK
Definition: wm8994_reg.h:1997
wm8994_dc_servo1_dcs_trig_series_0
int32_t wm8994_dc_servo1_dcs_trig_series_0(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4424
wm8994_aif1_dac1_lmradcl_to_dac1l
int32_t wm8994_aif1_dac1_lmradcl_to_dac1l(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6806
wm8994_pwr_mgmt_1_vmid_sel
int32_t wm8994_pwr_mgmt_1_vmid_sel(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:148
WM8994_ANALOG_HP_HPOUT1L_OUTP_POSITION
#define WM8994_ANALOG_HP_HPOUT1L_OUTP_POSITION
Definition: wm8994_reg.h:2211
wm8994_outmixer2_in1r_to_mixoutr
int32_t wm8994_outmixer2_in1r_to_mixoutr(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3573
wm8994_rli_in1r_vol
int32_t wm8994_rli_in1r_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1774
WM8994_AIF1_CONTROL1_BCLK_INV_POSITION
#define WM8994_AIF1_CONTROL1_BCLK_INV_POSITION
Definition: wm8994_reg.h:2450
wm8994_pwr_mgmt_1_hpout2_ena
int32_t wm8994_pwr_mgmt_1_hpout2_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:273
WM8994_INMIXER3_IN2L_TO_MIXINL_MASK
#define WM8994_INMIXER3_IN2L_TO_MIXINL_MASK
Definition: wm8994_reg.h:1572
wm8994_spk_right_vol_spkout_vu
int32_t wm8994_spk_right_vol_spkout_vu(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2721
WM8994_PWR_MGMT_3_SPKRVOL_ENA_MASK
#define WM8994_PWR_MGMT_3_SPKRVOL_ENA_MASK
Definition: wm8994_reg.h:636
WM8994_AIF1_ADC1_FILTERS_4FS_POSITION
#define WM8994_AIF1_ADC1_FILTERS_4FS_POSITION
Definition: wm8994_reg.h:2646
WM8994_INPUT_MIXER_4
#define WM8994_INPUT_MIXER_4
Definition: wm8994_reg.h:93
WM8994_CHARGE_PUMP1_CP_ENA_POSITION
#define WM8994_CHARGE_PUMP1_CP_ENA_POSITION
Definition: wm8994_reg.h:2029
WM8994_AIF1_CONTROL1_ADC_TDM_POSITION
#define WM8994_AIF1_CONTROL1_ADC_TDM_POSITION
Definition: wm8994_reg.h:2460
WM8994_PWR_MGMT_2_IN1L_ENA_MASK
#define WM8994_PWR_MGMT_2_IN1L_ENA_MASK
Definition: wm8994_reg.h:516
WM8994_LLI_IN1L_MUTE_MASK
#define WM8994_LLI_IN1L_MUTE_MASK
Definition: wm8994_reg.h:1006
wm8994_aif1_control1_wl
int32_t wm8994_aif1_control1_wl(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5202
WM8994_AIF1DRC1_DAC1_DRC_ENA_POSITION
#define WM8994_AIF1DRC1_DAC1_DRC_ENA_POSITION
Definition: wm8994_reg.h:2816
WM8994_AIF1_ADC1_LEFT_VOL_ADC1L_POSITION
#define WM8994_AIF1_ADC1_LEFT_VOL_ADC1L_POSITION
Definition: wm8994_reg.h:2533
wm8994_outmixer1_mixinr_to_mixoutl
int32_t wm8994_outmixer1_mixinr_to_mixoutl(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3473
WM8994_AIF1_ADC1_FILTERS_4FS_MASK
#define WM8994_AIF1_ADC1_FILTERS_4FS_MASK
Definition: wm8994_reg.h:2645
WM8994_PWR_MGMT_3_MIXOUTLVOL_ENA_MASK
#define WM8994_PWR_MGMT_3_MIXOUTLVOL_ENA_MASK
Definition: wm8994_reg.h:616
WM8994_PWR_MGMT_6_AIF3_TRI_MASK
#define WM8994_PWR_MGMT_6_AIF3_TRI_MASK
Definition: wm8994_reg.h:946
WM8994_PWR_MGMT_5_AIF1DAC2L_ENA_POSITION
#define WM8994_PWR_MGMT_5_AIF1DAC2L_ENA_POSITION
Definition: wm8994_reg.h:877
WM8994_AIF1_CONTROL1_ADC_TDM_MASK
#define WM8994_AIF1_CONTROL1_ADC_TDM_MASK
Definition: wm8994_reg.h:2459
wm8994_wseq_ctrl1_abort
int32_t wm8994_wseq_ctrl1_abort(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4733
wm8994_aif1_dac1_filter1_mono
int32_t wm8994_aif1_dac1_filter1_mono(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5956
WM8994_OUTMIXER1_IN1R_TO_MIXOUTL_MASK
#define WM8994_OUTMIXER1_IN1R_TO_MIXOUTL_MASK
Definition: wm8994_reg.h:1703
wm8994_dc_servo1_dcs_trig_single_1
int32_t wm8994_dc_servo1_dcs_trig_single_1(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4502
wm8994_ro_hpout1r_mute_n
int32_t wm8994_ro_hpout1r_mute_n(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2121
WM8994_GPIO1_GP1_DB_POSITION
#define WM8994_GPIO1_GP1_DB_POSITION
Definition: wm8994_reg.h:3489
WM8994_INMIXER6_IN1RP_MIXINR_VOL_POSITION
#define WM8994_INMIXER6_IN1RP_MIXINR_VOL_POSITION
Definition: wm8994_reg.h:1664
wm8994_class_w_cp_dyn_src_sel
int32_t wm8994_class_w_cp_dyn_src_sel(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4248
WM8994_ADC2LMR_AIF2DACL_TO_AIF1ADC2L_POSITION
#define WM8994_ADC2LMR_AIF2DACL_TO_AIF1ADC2L_POSITION
Definition: wm8994_reg.h:3288
WM8994_PWR_MGMT_3_MIXOUTRVOL_ENA_POSITION
#define WM8994_PWR_MGMT_3_MIXOUTRVOL_ENA_POSITION
Definition: wm8994_reg.h:607
WM8994_DC_SERVO1_DCS_TRIG_SINGLE_1_POSITION
#define WM8994_DC_SERVO1_DCS_TRIG_SINGLE_1_POSITION
Definition: wm8994_reg.h:2159
WM8994_SPK_RIGHT_VOL_SPKOUT_ZC_MASK
#define WM8994_SPK_RIGHT_VOL_SPKOUT_ZC_MASK
Definition: wm8994_reg.h:1432
WM8994_AIF1DRC2_KNEE2_OP_ENA_POSITION
#define WM8994_AIF1DRC2_KNEE2_OP_ENA_POSITION
Definition: wm8994_reg.h:2959
WM8994_DC_SERVO1_DCS_TRIG_SERIES_1_MASK
#define WM8994_DC_SERVO1_DCS_TRIG_SERIES_1_MASK
Definition: wm8994_reg.h:2138
WM8994_LO_HPOUT1L_VU_POSITION
#define WM8994_LO_HPOUT1L_VU_POSITION
Definition: wm8994_reg.h:1178
WM8994_PWR_MANAGEMENT_2
#define WM8994_PWR_MANAGEMENT_2
Definition: wm8994_reg.h:56
WM8994_SPKMIXR_ATT_IN1RP_VOL_MASK
#define WM8994_SPKMIXR_ATT_IN1RP_VOL_MASK
Definition: wm8994_reg.h:1330
WM8994_AIF1_DAC2_FILTER1_DEEMP_MASK
#define WM8994_AIF1_DAC2_FILTER1_DEEMP_MASK
Definition: wm8994_reg.h:2745
WM8994_CLASS_W_CP_DYN_SRC_SEL_POSITION
#define WM8994_CLASS_W_CP_DYN_SRC_SEL_POSITION
Definition: wm8994_reg.h:2059
wm8994_pwr_mgmt_6_aif2_dacdat_src
int32_t wm8994_pwr_mgmt_6_aif2_dacdat_src(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1399
WM8994_AIF1DRC2_NG_ENA_POSITION
#define WM8994_AIF1DRC2_NG_ENA_POSITION
Definition: wm8994_reg.h:2989
WM8994_AIF1_CLOCKING1_ENA_POSITION
#define WM8994_AIF1_CLOCKING1_ENA_POSITION
Definition: wm8994_reg.h:2273
WM8994_LLI_IN1_VU_MASK
#define WM8994_LLI_IN1_VU_MASK
Definition: wm8994_reg.h:1016
WM8994_DC_SERVO1_DCS_TRIG_STARTUP_0_MASK
#define WM8994_DC_SERVO1_DCS_TRIG_STARTUP_0_MASK
Definition: wm8994_reg.h:2108
WM8994_PWR_MGMT_4_DMIC1R_ENA_MASK
#define WM8994_PWR_MGMT_4_DMIC1R_ENA_MASK
Definition: wm8994_reg.h:706
WM8994_PWR_MGMT_2_IN1R_ENA_MASK
#define WM8994_PWR_MGMT_2_IN1R_ENA_MASK
Definition: wm8994_reg.h:496
WM8994_SPKMIXL_ATT_DAC1_VOL_MASK
#define WM8994_SPKMIXL_ATT_DAC1_VOL_MASK
Definition: wm8994_reg.h:1240
WM8994_SPK_RIGHT_VOL_SPKOUT_VU_POSITION
#define WM8994_SPK_RIGHT_VOL_SPKOUT_VU_POSITION
Definition: wm8994_reg.h:1443
WM8994_SPKMIXER_IN1LP_TO_SPKMIXL_MASK
#define WM8994_SPKMIXER_IN1LP_TO_SPKMIXL_MASK
Definition: wm8994_reg.h:1905
WM8994_INMIXER6_IN1RP_MIXINR_VOL_MASK
#define WM8994_INMIXER6_IN1RP_MIXINR_VOL_MASK
Definition: wm8994_reg.h:1663
WM8994_GPIO1_GP1_DB_MASK
#define WM8994_GPIO1_GP1_DB_MASK
Definition: wm8994_reg.h:3488
WM8994_PWR_MGMT_4_DMIC2R_ENA_MASK
#define WM8994_PWR_MGMT_4_DMIC2R_ENA_MASK
Definition: wm8994_reg.h:726
WM8994_CLOCKING1_SYSCLK_SRC_MASK
#define WM8994_CLOCKING1_SYSCLK_SRC_MASK
Definition: wm8994_reg.h:2314
WM8994_INMIXER2_IN2LN_TO_IN2L_POSITION
#define WM8994_INMIXER2_IN2LN_TO_IN2L_POSITION
Definition: wm8994_reg.h:1513
wm8994_pwr_mgmt_3_lineout1n_ena
int32_t wm8994_pwr_mgmt_3_lineout1n_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:798
WM8994_INMIXER3_MIXOUTL_MIXINL_VOL_MASK
#define WM8994_INMIXER3_MIXOUTL_MIXINL_VOL_MASK
Definition: wm8994_reg.h:1532
wm8994_aif1_ms_mstr
int32_t wm8994_aif1_ms_mstr(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5426
WM8994_OUTMIXER2_IN2RN_TO_MIXOUTR_MASK
#define WM8994_OUTMIXER2_IN2RN_TO_MIXOUTR_MASK
Definition: wm8994_reg.h:1803
WM8994_RLI_IN2R_ZC_POSITION
#define WM8994_RLI_IN2R_ZC_POSITION
Definition: wm8994_reg.h:1117
WM8994_PWR_MGMT_4_ADCR_ENA_POSITION
#define WM8994_PWR_MGMT_4_ADCR_ENA_POSITION
Definition: wm8994_reg.h:687
WM8994_OUTMIXER2_DAC1R_TO_MIXOUTR_POSITION
#define WM8994_OUTMIXER2_DAC1R_TO_MIXOUTR_POSITION
Definition: wm8994_reg.h:1764
WM8994_AIF1DRC2_SIG_DET_POSITION
#define WM8994_AIF1DRC2_SIG_DET_POSITION
Definition: wm8994_reg.h:2969
WM8994_AIF1_ADC2_RMR
#define WM8994_AIF1_ADC2_RMR
Definition: wm8994_reg.h:315
wm8994_spkmixer_dac1l_to_spkmixl
int32_t wm8994_spkmixer_dac1l_to_spkmixl(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3773
wm8994_outmixer2_mixinr_to_mixoutr
int32_t wm8994_outmixer2_mixinr_to_mixoutr(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3673
WM8994_CLOCKING1_SYSDSPCLK_ENA_MASK
#define WM8994_CLOCKING1_SYSDSPCLK_ENA_MASK
Definition: wm8994_reg.h:2324
WM8994_SPKMIXR_ATT
#define WM8994_SPKMIXR_ATT
Definition: wm8994_reg.h:83
wm8994_aif1_adc2_filters_adc2l_hpf
int32_t wm8994_aif1_adc2_filters_adc2l_hpf(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5804
WM8994_SPKMIXL_ATT_IN1LP_VOL_POSITION
#define WM8994_SPKMIXL_ATT_IN1LP_VOL_POSITION
Definition: wm8994_reg.h:1261
WM8994_PWR_MGMT_4_AIF1ADC2R_ENA_MASK
#define WM8994_PWR_MGMT_4_AIF1ADC2R_ENA_MASK
Definition: wm8994_reg.h:766
WM8994_OUTMIXER1_DAC1L_TO_MIXOUTL_POSITION
#define WM8994_OUTMIXER1_DAC1L_TO_MIXOUTL_POSITION
Definition: wm8994_reg.h:1674
wm8994_adc1lmr_adc1l_to_aif1adc1l
int32_t wm8994_adc1lmr_adc1l_to_aif1adc1l(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7256
WM8994_PWR_MGMT_5_DAC2L_ENA_MASK
#define WM8994_PWR_MGMT_5_DAC2L_ENA_MASK
Definition: wm8994_reg.h:836
WM8994_OUTMIXER2_MIXINL_TO_MIXOUTR_POSITION
#define WM8994_OUTMIXER2_MIXINL_TO_MIXOUTR_POSITION
Definition: wm8994_reg.h:1834
wm8994_pwr_mgmt_2_mixinl_ena
int32_t wm8994_pwr_mgmt_2_mixinl_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:473
wm8994_aif1_dac2_lmrdac2l_to_dac2l
int32_t wm8994_aif1_dac2_lmrdac2l_to_dac2l(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7006
wm8994_spkmixer_dac1r_to_spkmixr
int32_t wm8994_spkmixer_dac1r_to_spkmixr(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3748
WM8994_SPKMIXR_ATT_IN1RP_VOL_POSITION
#define WM8994_SPKMIXR_ATT_IN1RP_VOL_POSITION
Definition: wm8994_reg.h:1331
WM8994_GPIO1_GP1_OP_CFG_POSITION
#define WM8994_GPIO1_GP1_OP_CFG_POSITION
Definition: wm8994_reg.h:3499
WM8994_INPUT_MIXER_5
#define WM8994_INPUT_MIXER_5
Definition: wm8994_reg.h:94
wm8994_ctx_t
Definition: wm8994_reg.h:371
WM8994_ANALOG_HP_HPOUT1L_RMV_SHORT_POSITION
#define WM8994_ANALOG_HP_HPOUT1L_RMV_SHORT_POSITION
Definition: wm8994_reg.h:2221
WM8994_AIF1_DAC1_FILTER1_MONO_POSITION
#define WM8994_AIF1_DAC1_FILTER1_MONO_POSITION
Definition: wm8994_reg.h:2726
wm8994_aif1_ms_clk_frc
int32_t wm8994_aif1_ms_clk_frc(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5401
wm8994_lli_in2l_zc
int32_t wm8994_lli_in2l_zc(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1699
WM8994_PWR_MGMT_4_AIF1ADC2R_ENA_POSITION
#define WM8994_PWR_MGMT_4_AIF1ADC2R_ENA_POSITION
Definition: wm8994_reg.h:767
WM8994_SPK_LEFT_VOL
#define WM8994_SPK_LEFT_VOL
Definition: wm8994_reg.h:87
WM8994_PWR_MGMT_3_MIXOUTR_ENA_MASK
#define WM8994_PWR_MGMT_3_MIXOUTR_ENA_MASK
Definition: wm8994_reg.h:586
WM8994_AIF1_CLOCKING1
#define WM8994_AIF1_CLOCKING1
Definition: wm8994_reg.h:136
WM8994_WSEQ_CTRL1_START_MASK
#define WM8994_WSEQ_CTRL1_START_MASK
Definition: wm8994_reg.h:2242
wm8994_inmixer4_in2r_to_mixinr
int32_t wm8994_inmixer4_in2r_to_mixinr(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3173
WM8994_OUTMIXER1_IN2LN_TO_MIXOUTL_POSITION
#define WM8994_OUTMIXER1_IN2LN_TO_MIXOUTL_POSITION
Definition: wm8994_reg.h:1714
WM8994_SPK_LEFT_VOL_SPKOUT_ZC_MASK
#define WM8994_SPK_LEFT_VOL_SPKOUT_ZC_MASK
Definition: wm8994_reg.h:1392
WM8994_PWR_MGMT_5_DAC1R_ENA_POSITION
#define WM8994_PWR_MGMT_5_DAC1R_ENA_POSITION
Definition: wm8994_reg.h:807
WM8994_AIF1_CONTROL1_ADCL_SRC_POSITION
#define WM8994_AIF1_CONTROL1_ADCL_SRC_POSITION
Definition: wm8994_reg.h:2480
WM8994_AIF1_DRC2
#define WM8994_AIF1_DRC2
Definition: wm8994_reg.h:206
WM8994_AIF1_CONTROL1
#define WM8994_AIF1_CONTROL1
Definition: wm8994_reg.h:162
wm8994_aif1_control1_lrclk_inv
int32_t wm8994_aif1_control1_lrclk_inv(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5249
WM8994_LLI_IN2L_VOL_POSITION
#define WM8994_LLI_IN2L_VOL_POSITION
Definition: wm8994_reg.h:1027
WM8994_PWR_MGMT_2_OPCLK_ENA_POSITION
#define WM8994_PWR_MGMT_2_OPCLK_ENA_POSITION
Definition: wm8994_reg.h:557
wm8994_analog_hp_hpout1l_dly
int32_t wm8994_analog_hp_hpout1l_dly(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4602
wm8994_wseq_ctrl1_start
int32_t wm8994_wseq_ctrl1_start(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4707
wm8994_gpio1_gp1_pu
int32_t wm8994_gpio1_gp1_pu(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7931
WM8994_AIF1_ADC2_LEFT_VOL_ADC2L_POSITION
#define WM8994_AIF1_ADC2_LEFT_VOL_ADC2L_POSITION
Definition: wm8994_reg.h:2574
WM8994_DAC1_LEFT_VOL_VU_MASK
#define WM8994_DAC1_LEFT_VOL_VU_MASK
Definition: wm8994_reg.h:3338
WM8994_AIF1_ADC2_LEFT_VOL_ADC2L_MASK
#define WM8994_AIF1_ADC2_LEFT_VOL_ADC2L_MASK
Definition: wm8994_reg.h:2573
WM8994_PWR_MGMT_1_HPOUT1R_ENA_POSITION
#define WM8994_PWR_MGMT_1_HPOUT1R_ENA_POSITION
Definition: wm8994_reg.h:447
WM8994_SPKMIXR_ATT_VOL_POSITION
#define WM8994_SPKMIXR_ATT_VOL_POSITION
Definition: wm8994_reg.h:1301
WM8994_DAC2_LEFT_VOL_VSET_POSITION
#define WM8994_DAC2_LEFT_VOL_VSET_POSITION
Definition: wm8994_reg.h:3389
WM8994_AIF1_DAC1_LMRDAC1L_TO_DAC1L_POSITION
#define WM8994_AIF1_DAC1_LMRDAC1L_TO_DAC1L_POSITION
Definition: wm8994_reg.h:3047
WM8994_AIF1_MASTER_SLAVE
#define WM8994_AIF1_MASTER_SLAVE
Definition: wm8994_reg.h:164
wm8994_aif1_dac2_rmradcr_to_dac2r
int32_t wm8994_aif1_dac2_rmradcr_to_dac2r(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7206
WM8994_AIF1_DAC1_FILTER1_MUTERATE_POSITION
#define WM8994_AIF1_DAC1_FILTER1_MUTERATE_POSITION
Definition: wm8994_reg.h:2716
WM8994_SPKMIXR_ATT_DAC2R_VOL_POSITION
#define WM8994_SPKMIXR_ATT_DAC2R_VOL_POSITION
Definition: wm8994_reg.h:1351
wm8994_aif1_dac1_rmrdac1r_to_dac1r
int32_t wm8994_aif1_dac1_rmrdac1r_to_dac1r(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6856
wm8994_pwr_mgmt_5_dac2l_ena
int32_t wm8994_pwr_mgmt_5_dac2l_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1199
WM8994_SPKMIXL_ATT_VOL_MASK
#define WM8994_SPKMIXL_ATT_VOL_MASK
Definition: wm8994_reg.h:1230
WM8994_DAC1_LEFT_VOL_VU_POSITION
#define WM8994_DAC1_LEFT_VOL_VU_POSITION
Definition: wm8994_reg.h:3339
wm8994_aif1_dac2_filter1_unmute_ramp
int32_t wm8994_aif1_dac2_filter1_unmute_ramp(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6031
wm8994_pwr_mgmt_3_lineout1p_ena
int32_t wm8994_pwr_mgmt_3_lineout1p_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:773
wm8994_spkmixl_att_in1lp_vol
int32_t wm8994_spkmixl_att_in1lp_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2271
WM8994_AIF1_ADC2_RIGHT_VOL
#define WM8994_AIF1_ADC2_RIGHT_VOL
Definition: wm8994_reg.h:187
WM8994_ANTIPOP2_MICB2_DISCH_MASK
#define WM8994_ANTIPOP2_MICB2_DISCH_MASK
Definition: wm8994_reg.h:2017
WM8994_DAC2_RIGHT_VOL_VSET_POSITION
#define WM8994_DAC2_RIGHT_VOL_VSET_POSITION
Definition: wm8994_reg.h:3419
wm8994_gpio1_gp1_fn
int32_t wm8994_gpio1_gp1_fn(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7781
WM8994_DAC1_MIXER_VOL_ADCR_POSITION
#define WM8994_DAC1_MIXER_VOL_ADCR_POSITION
Definition: wm8994_reg.h:3037
WM8994_ADC2RMR_AIF2DACL_TO_AIF1ADC2R_POSITION
#define WM8994_ADC2RMR_AIF2DACL_TO_AIF1ADC2R_POSITION
Definition: wm8994_reg.h:3309
wm8994_sw_reset_w
int32_t wm8994_sw_reset_w(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:99
WM8994_PWR_MGMT_4_AIF1ADC2L_ENA_POSITION
#define WM8994_PWR_MGMT_4_AIF1ADC2L_ENA_POSITION
Definition: wm8994_reg.h:777
WM8994_SPKMIXER_IN1RP_TO_SPKMIXR_MASK
#define WM8994_SPKMIXER_IN1RP_TO_SPKMIXR_MASK
Definition: wm8994_reg.h:1895
WM8994_AIF1_SR_POSITION
#define WM8994_AIF1_SR_POSITION
Definition: wm8994_reg.h:2405
WM8994_OUTMIXER1_IN2LN_TO_MIXOUTL_MASK
#define WM8994_OUTMIXER1_IN2LN_TO_MIXOUTL_MASK
Definition: wm8994_reg.h:1713
WM8994_PWR_MGMT_3_MIXOUTLVOL_ENA_POSITION
#define WM8994_PWR_MGMT_3_MIXOUTLVOL_ENA_POSITION
Definition: wm8994_reg.h:617
wm8994_dac1_right_vol_mute
int32_t wm8994_dac1_right_vol_mute(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7556
WM8994_SPKMIXL_ATT
#define WM8994_SPKMIXL_ATT
Definition: wm8994_reg.h:82
wm8994_pwr_mgmt_6_aif2_adcdat_src
int32_t wm8994_pwr_mgmt_6_aif2_adcdat_src(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1424
wm8994_aif1_control1_adc_tdm
int32_t wm8994_aif1_control1_adc_tdm(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5299
WM8994_AIF1_DAC1_RMRADCL_TO_DAC1R_MASK
#define WM8994_AIF1_DAC1_RMRADCL_TO_DAC1R_MASK
Definition: wm8994_reg.h:3126
wm8994_inmixer1_in1rp_mixinr_boost
int32_t wm8994_inmixer1_in1rp_mixinr_boost(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1549
WM8994_PWR_MGMT_2_TSHUT_ENA_MASK
#define WM8994_PWR_MGMT_2_TSHUT_ENA_MASK
Definition: wm8994_reg.h:576
WM8994_SPKMIXL_ATT_VOL_POSITION
#define WM8994_SPKMIXL_ATT_VOL_POSITION
Definition: wm8994_reg.h:1231
WM8994_INMIXER3_IN2L_TO_MIXINL_POSITION
#define WM8994_INMIXER3_IN2L_TO_MIXINL_POSITION
Definition: wm8994_reg.h:1573
WM8994_AIF1_DAC1_RMRADCR_TO_DAC1R_POSITION
#define WM8994_AIF1_DAC1_RMRADCR_TO_DAC1R_POSITION
Definition: wm8994_reg.h:3137
WM8994_AIF1_DAC1_FILTER1_UNMUTE_RAMP_MASK
#define WM8994_AIF1_DAC1_FILTER1_UNMUTE_RAMP_MASK
Definition: wm8994_reg.h:2705
wm8994_aif1_clocking1_inv
int32_t wm8994_aif1_clocking1_inv(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4833
WM8994_CLOCKING1_SYSCLK_SRC_POSITION
#define WM8994_CLOCKING1_SYSCLK_SRC_POSITION
Definition: wm8994_reg.h:2315
WM8994_AIF1_CONTROL1_WL_MASK
#define WM8994_AIF1_CONTROL1_WL_MASK
Definition: wm8994_reg.h:2429
WM8994_AIF1_DAC1_FILTER1_DEEMP_POSITION
#define WM8994_AIF1_DAC1_FILTER1_DEEMP_POSITION
Definition: wm8994_reg.h:2696
WM8994_AIF1DRC2_SIG_DET_MASK
#define WM8994_AIF1DRC2_SIG_DET_MASK
Definition: wm8994_reg.h:2968
wm8994_outmixer1_dac1l_to_mixoutl
int32_t wm8994_outmixer1_dac1l_to_mixoutl(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3298
WM8994_PWR_MGMT_2_IN2L_ENA_POSITION
#define WM8994_PWR_MGMT_2_IN2L_ENA_POSITION
Definition: wm8994_reg.h:527
WM8994_DC_SERVO1_DCS_TRIG_DAC_WR_0_POSITION
#define WM8994_DC_SERVO1_DCS_TRIG_DAC_WR_0_POSITION
Definition: wm8994_reg.h:2089
wm8994_spk_left_vol_spkout_vol
int32_t wm8994_spk_left_vol_spkout_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2546
WM8994_INMIXER1_IN1LP_MIXINL_BOOST_MASK
#define WM8994_INMIXER1_IN1LP_MIXINL_BOOST_MASK
Definition: wm8994_reg.h:966
wm8994_pwr_mgmt_4_aif2adcl_ena
int32_t wm8994_pwr_mgmt_4_aif2adcl_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1098
WM8994_PWR_MGMT_2_IN2R_ENA_POSITION
#define WM8994_PWR_MGMT_2_IN2R_ENA_POSITION
Definition: wm8994_reg.h:507
WM8994_SPKMIXER_DAC1L_TO_SPKMIXL_MASK
#define WM8994_SPKMIXER_DAC1L_TO_SPKMIXL_MASK
Definition: wm8994_reg.h:1865
WM8994_PWR_MGMT_2_TSHUT_OPDIS_POSITION
#define WM8994_PWR_MGMT_2_TSHUT_OPDIS_POSITION
Definition: wm8994_reg.h:567
WM8994_AIF1_ADC2_RIGHT_VOL_ADC2R_MASK
#define WM8994_AIF1_ADC2_RIGHT_VOL_ADC2R_MASK
Definition: wm8994_reg.h:2593
wm8994_spkmixl_att_mixinl_vol
int32_t wm8994_spkmixl_att_mixinl_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2296
WM8994_INMIXER2_IN1LN_TO_IN1L_MASK
#define WM8994_INMIXER2_IN1LN_TO_IN1L_MASK
Definition: wm8994_reg.h:1492
WM8994_DAC1_RIGHT_VOL
#define WM8994_DAC1_RIGHT_VOL
Definition: wm8994_reg.h:319
WM8994_DC_SERVO1_DCS_ENA_CHAN_0_MASK
#define WM8994_DC_SERVO1_DCS_ENA_CHAN_0_MASK
Definition: wm8994_reg.h:2068
WM8994_GPIO1_GP1_DIR_MASK
#define WM8994_GPIO1_GP1_DIR_MASK
Definition: wm8994_reg.h:3538
WM8994_PWR_MGMT_4_DMIC2L_ENA_POSITION
#define WM8994_PWR_MGMT_4_DMIC2L_ENA_POSITION
Definition: wm8994_reg.h:737
WM8994_AIF1_DAC2_FILTER1
#define WM8994_AIF1_DAC2_FILTER1
Definition: wm8994_reg.h:196
wm8994_aif1_dac1_rmrdacr_to_dac1r
int32_t wm8994_aif1_dac1_rmrdacr_to_dac1r(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6906
WM8994_RIGHT_LINE_IN12_VOL
#define WM8994_RIGHT_LINE_IN12_VOL
Definition: wm8994_reg.h:67
wm8994_lli_in2l_mute
int32_t wm8994_lli_in2l_mute(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1724
WM8994_SPK_LEFT_VOL_SPKOUT_VU_POSITION
#define WM8994_SPK_LEFT_VOL_SPKOUT_VU_POSITION
Definition: wm8994_reg.h:1403
wm8994_dac2_left_vol_mute
int32_t wm8994_dac2_left_vol_mute(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:7631
WM8994_PWR_MGMT_5_AIF1DAC2R_ENA_POSITION
#define WM8994_PWR_MGMT_5_AIF1DAC2R_ENA_POSITION
Definition: wm8994_reg.h:867
WM8994_GPIO1_GP1_OP_CFG_MASK
#define WM8994_GPIO1_GP1_OP_CFG_MASK
Definition: wm8994_reg.h:3498
WM8994_DC_SERVO1_DCS_ENA_CHAN_1_MASK
#define WM8994_DC_SERVO1_DCS_ENA_CHAN_1_MASK
Definition: wm8994_reg.h:2078
WM8994_DAC1_RIGHT_VOL_VU_POSITION
#define WM8994_DAC1_RIGHT_VOL_VU_POSITION
Definition: wm8994_reg.h:3369
wm8994_rli_in1_vu
int32_t wm8994_rli_in1_vu(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1849
wm8994_spkmixer_mixinr_to_spkmixr
int32_t wm8994_spkmixer_mixinr_to_spkmixr(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3898
WM8994_DAC2_RIGHT_VOL_VU_MASK
#define WM8994_DAC2_RIGHT_VOL_VU_MASK
Definition: wm8994_reg.h:3428
wm8994_aif1_dac2_filter1_deemp
int32_t wm8994_aif1_dac2_filter1_deemp(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6006
WM8994_AIF1DRC2_ADC2R_DRC_ENA_POSITION
#define WM8994_AIF1DRC2_ADC2R_DRC_ENA_POSITION
Definition: wm8994_reg.h:2909
WM8994_PWR_MGMT_4_AIF1ADC1R_ENA_MASK
#define WM8994_PWR_MGMT_4_AIF1ADC1R_ENA_MASK
Definition: wm8994_reg.h:746
WM8994_SPKMIXL_ATT_MIXOUTL_VOL_MASK
#define WM8994_SPKMIXL_ATT_MIXOUTL_VOL_MASK
Definition: wm8994_reg.h:1250
WM8994_RO_HPOUT1R_ZC_POSITION
#define WM8994_RO_HPOUT1R_ZC_POSITION
Definition: wm8994_reg.h:1209
wm8994_spk_right_vol_spkout_mute_n
int32_t wm8994_spk_right_vol_spkout_mute_n(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2671
WM8994_LEFT_LINE_IN34_VOL
#define WM8994_LEFT_LINE_IN34_VOL
Definition: wm8994_reg.h:66
WM8994_PWR_MGMT_2_IN2L_ENA_MASK
#define WM8994_PWR_MGMT_2_IN2L_ENA_MASK
Definition: wm8994_reg.h:526
WM8994_AIF1_DAC2_RMRDAC2R_TO_DAC2R_MASK
#define WM8994_AIF1_DAC2_RMRDAC2R_TO_DAC2R_MASK
Definition: wm8994_reg.h:3206
WM8994_PWR_MGMT_1_SPKOUTL_ENA_MASK
#define WM8994_PWR_MGMT_1_SPKOUTL_ENA_MASK
Definition: wm8994_reg.h:476
WM8994_PWR_MANAGEMENT_5
#define WM8994_PWR_MANAGEMENT_5
Definition: wm8994_reg.h:59
WM8994_AIF1DRC1_ADC1L_DRC_ENA_MASK
#define WM8994_AIF1DRC1_ADC1L_DRC_ENA_MASK
Definition: wm8994_reg.h:2805
WM8994_PWR_MGMT_5_AIF2DACL_ENA_MASK
#define WM8994_PWR_MGMT_5_AIF2DACL_ENA_MASK
Definition: wm8994_reg.h:896
wm8994_spkmixer_mixoutl_to_spkmixl
int32_t wm8994_spkmixer_mixoutl_to_spkmixl(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3823
WM8994_AIF1_ADC2_RIGHT_VOL_ADC2R_POSITION
#define WM8994_AIF1_ADC2_RIGHT_VOL_ADC2R_POSITION
Definition: wm8994_reg.h:2594
WM8994_OUTMIXER2_IN1R_TO_MIXOUTR_MASK
#define WM8994_OUTMIXER2_IN1R_TO_MIXOUTR_MASK
Definition: wm8994_reg.h:1783
WM8994_AIF1_CLK_RATE_POSITION
#define WM8994_AIF1_CLK_RATE_POSITION
Definition: wm8994_reg.h:2395
wm8994_clocking1_sysclk_src
int32_t wm8994_clocking1_sysclk_src(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4883
wm8994_pwr_mgmt_2_in1r_ena
int32_t wm8994_pwr_mgmt_2_in1r_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:348
WM8994_LO_HPOUT1L_VOL_MASK
#define WM8994_LO_HPOUT1L_VOL_MASK
Definition: wm8994_reg.h:1146
wm8994_spk_left_vol_spkout_mute_n
int32_t wm8994_spk_left_vol_spkout_mute_n(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2571
WM8994_ANTIPOP2_VMID_DISCH_POSITION
#define WM8994_ANTIPOP2_VMID_DISCH_POSITION
Definition: wm8994_reg.h:1958
WM8994_OUTMIXER1_MIXINL_TO_MIXOUTL_MASK
#define WM8994_OUTMIXER1_MIXINL_TO_MIXOUTL_MASK
Definition: wm8994_reg.h:1733
WM8994_SPKMIXR_ATT_DAC1_VOL_POSITION
#define WM8994_SPKMIXR_ATT_DAC1_VOL_POSITION
Definition: wm8994_reg.h:1311
WM8994_CHARGE_PUMP2_CP_DISCH_MASK
#define WM8994_CHARGE_PUMP2_CP_DISCH_MASK
Definition: wm8994_reg.h:2038
WM8994_AIF1DRC2_KNEE2_OP_ENA_MASK
#define WM8994_AIF1DRC2_KNEE2_OP_ENA_MASK
Definition: wm8994_reg.h:2958
wm8994_dc_servo1_dcs_ena_chan_0
int32_t wm8994_dc_servo1_dcs_ena_chan_0(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:4273
WM8994_CLOCKING2_TOCLK_DIV_POSITION
#define WM8994_CLOCKING2_TOCLK_DIV_POSITION
Definition: wm8994_reg.h:2385
WM8994_DAC2_LEFT_VOL_MUTE_MASK
#define WM8994_DAC2_LEFT_VOL_MUTE_MASK
Definition: wm8994_reg.h:3408
wm8994_dac1_mixer_vol_adcr
int32_t wm8994_dac1_mixer_vol_adcr(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6706
WM8994_OUTMIXER2_IN1L_TO_MIXOUTR_POSITION
#define WM8994_OUTMIXER2_IN1L_TO_MIXOUTR_POSITION
Definition: wm8994_reg.h:1794
wm8994_rli_in2_vu
int32_t wm8994_rli_in2_vu(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1949
WM8994_PWR_MGMT_5_AIF2DACL_ENA_POSITION
#define WM8994_PWR_MGMT_5_AIF2DACL_ENA_POSITION
Definition: wm8994_reg.h:897
WM8994_AIF1_ADC1_RIGHT_VOL
#define WM8994_AIF1_ADC1_RIGHT_VOL
Definition: wm8994_reg.h:183
WM8994_INMIXER2_IN1LN_TO_IN1L_POSITION
#define WM8994_INMIXER2_IN1LN_TO_IN1L_POSITION
Definition: wm8994_reg.h:1493
wm8994_aif1_adc1_left_vol_adc1l_r
int32_t wm8994_aif1_adc1_left_vol_adc1l_r(wm8994_ctx_t *ctx, uint16_t *value)
Definition: wm8994_reg.c:5476
WM8994_LO_HPOUT1L_VOL_POSITION
#define WM8994_LO_HPOUT1L_VOL_POSITION
Definition: wm8994_reg.h:1147
WM8994_PWR_MGMT_5_AIF1DAC1L_ENA_POSITION
#define WM8994_PWR_MGMT_5_AIF1DAC1L_ENA_POSITION
Definition: wm8994_reg.h:857
WM8994_CHARGE_PUMP2
#define WM8994_CHARGE_PUMP2
Definition: wm8994_reg.h:118
WM8994_DAC1_RIGHT_VOL_VSET_MASK
#define WM8994_DAC1_RIGHT_VOL_VSET_MASK
Definition: wm8994_reg.h:3358
WM8994_CHARGE_PUMP1_CP_ENA_MASK
#define WM8994_CHARGE_PUMP1_CP_ENA_MASK
Definition: wm8994_reg.h:2028
WM8994_SPKMIXER_DAC2L_TO_SPKMIXL_POSITION
#define WM8994_SPKMIXER_DAC2L_TO_SPKMIXL_POSITION
Definition: wm8994_reg.h:1946
WM8994_PWR_MGMT_3_LINEOUT2N_ENA_POSITION
#define WM8994_PWR_MGMT_3_LINEOUT2N_ENA_POSITION
Definition: wm8994_reg.h:657
wm8994_pwr_mgmt_4_aif1adc1r_ena
int32_t wm8994_pwr_mgmt_4_aif1adc1r_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:973
wm8994_inmixer4_mixoutr_mixinr_vol
int32_t wm8994_inmixer4_mixoutr_mixinr_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3072
WM8994_AIF1_DAC2_RMRDAC2R_TO_DAC2R_POSITION
#define WM8994_AIF1_DAC2_RMRDAC2R_TO_DAC2R_POSITION
Definition: wm8994_reg.h:3207
WM8994_INMIXER2_IN2LP_TO_IN2L_POSITION
#define WM8994_INMIXER2_IN2LP_TO_IN2L_POSITION
Definition: wm8994_reg.h:1523
WM8994_DAC2_RIGHT_VOL_VU_POSITION
#define WM8994_DAC2_RIGHT_VOL_VU_POSITION
Definition: wm8994_reg.h:3429
WM8994_ANALOG_HP_HPOUT1R_DLY_MASK
#define WM8994_ANALOG_HP_HPOUT1R_DLY_MASK
Definition: wm8994_reg.h:2170
WM8994_PWR_MGMT_3_MIXOUTL_ENA_MASK
#define WM8994_PWR_MGMT_3_MIXOUTL_ENA_MASK
Definition: wm8994_reg.h:596
WM8994_AIF1_DAC2_FILTER1_MUTERATE_POSITION
#define WM8994_AIF1_DAC2_FILTER1_MUTERATE_POSITION
Definition: wm8994_reg.h:2766
wm8994_inmixer4_in1r_to_mixinr
int32_t wm8994_inmixer4_in1r_to_mixinr(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:3123
WM8994_RLI_IN1R_VOL_POSITION
#define WM8994_RLI_IN1R_VOL_POSITION
Definition: wm8994_reg.h:1067
WM8994_ADC2LMR_ADC2L_TO_AIF1ADC2L_POSITION
#define WM8994_ADC2LMR_ADC2L_TO_AIF1ADC2L_POSITION
Definition: wm8994_reg.h:3298
WM8994_AIF1_ADC2_LEFT_VOL_VU_MASK
#define WM8994_AIF1_ADC2_LEFT_VOL_VU_MASK
Definition: wm8994_reg.h:2583
WM8994_PWR_MGMT_6_AIF2_DACDAT_SRC_POSITION
#define WM8994_PWR_MGMT_6_AIF2_DACDAT_SRC_POSITION
Definition: wm8994_reg.h:917
WM8994_PWR_MGMT_1_HPOUT1L_ENA_POSITION
#define WM8994_PWR_MGMT_1_HPOUT1L_ENA_POSITION
Definition: wm8994_reg.h:457
WM8994_ANTIPOP2_BIAS_SRC_POSITION
#define WM8994_ANTIPOP2_BIAS_SRC_POSITION
Definition: wm8994_reg.h:1968
wm8994_aif1drc1_adc1r_drc_ena
int32_t wm8994_aif1drc1_adc1r_drc_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:6131
WM8994_AIF1_DAC1_FILTER1_MUTE_MASK
#define WM8994_AIF1_DAC1_FILTER1_MUTE_MASK
Definition: wm8994_reg.h:2735
wm8994_aif1_dac1_filter1_mute
int32_t wm8994_aif1_dac1_filter1_mute(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:5981
wm8994_aif1_sr_r
int32_t wm8994_aif1_sr_r(wm8994_ctx_t *ctx, uint16_t *value)
Definition: wm8994_reg.c:5133
wm8994_spk_right_vol_spkout_vol
int32_t wm8994_spk_right_vol_spkout_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2646
WM8994_PWR_MGMT_5_AIF1DAC1R_ENA_POSITION
#define WM8994_PWR_MGMT_5_AIF1DAC1R_ENA_POSITION
Definition: wm8994_reg.h:847
WM8994_LLI_IN2L_ZC_MASK
#define WM8994_LLI_IN2L_ZC_MASK
Definition: wm8994_reg.h:1036
WM8994_DAC2_LEFT_VOL_VU_MASK
#define WM8994_DAC2_LEFT_VOL_VU_MASK
Definition: wm8994_reg.h:3398
wm8994_inmixer1_in1lp_mixinl_boost
int32_t wm8994_inmixer1_in1lp_mixinl_boost(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:1524
WM8994_DAC1_RIGHT_VOL_MUTE_MASK
#define WM8994_DAC1_RIGHT_VOL_MUTE_MASK
Definition: wm8994_reg.h:3378
wm8994_inmixer2_in1rn_to_in1r
int32_t wm8994_inmixer2_in1rn_to_in1r(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2746
WM8994_AIF1_DAC2_FILTER1_UNMUTE_RAMP_POSITION
#define WM8994_AIF1_DAC2_FILTER1_UNMUTE_RAMP_POSITION
Definition: wm8994_reg.h:2756
WM8994_AIF1_ADC1_LEFT_VOL_VU_MASK
#define WM8994_AIF1_ADC1_LEFT_VOL_VU_MASK
Definition: wm8994_reg.h:2543
WM8994_ANTIPOP2_MICB1_DISCH_POSITION
#define WM8994_ANTIPOP2_MICB1_DISCH_POSITION
Definition: wm8994_reg.h:2008
WM8994_AIF1_DAC2_LMRDAC2L_TO_DAC2L_MASK
#define WM8994_AIF1_DAC2_LMRDAC2L_TO_DAC2L_MASK
Definition: wm8994_reg.h:3156
wm8994_inmixer2_in2lp_to_in2l
int32_t wm8994_inmixer2_in2lp_to_in2l(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2921
WM8994_AIF1_ADC2_LEFT_VOL
#define WM8994_AIF1_ADC2_LEFT_VOL
Definition: wm8994_reg.h:186
WM8994_RLI_IN2R_MUTE_MASK
#define WM8994_RLI_IN2R_MUTE_MASK
Definition: wm8994_reg.h:1126
WM8994_DAC1_MIXER_VOL_ADCL_MASK
#define WM8994_DAC1_MIXER_VOL_ADCL_MASK
Definition: wm8994_reg.h:3026
wm8994_pwr_mgmt_1_spkoutr_ena
int32_t wm8994_pwr_mgmt_1_spkoutr_ena(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:323
wm8994_inmixer3_mixoutl_mixinl_vol
int32_t wm8994_inmixer3_mixoutl_mixinl_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2946
WM8994_ANALOG_HP_HPOUT1R_OUTP_POSITION
#define WM8994_ANALOG_HP_HPOUT1R_OUTP_POSITION
Definition: wm8994_reg.h:2181
WM8994_PWR_MGMT_4_DMIC2R_ENA_POSITION
#define WM8994_PWR_MGMT_4_DMIC2R_ENA_POSITION
Definition: wm8994_reg.h:727
WM8994_RLI_IN2R_MUTE_POSITION
#define WM8994_RLI_IN2R_MUTE_POSITION
Definition: wm8994_reg.h:1127
WM8994_LLI_IN2_VU_POSITION
#define WM8994_LLI_IN2_VU_POSITION
Definition: wm8994_reg.h:1057
WM8994_OUTMIXER2_DAC1R_TO_HPOUT1R_POSITION
#define WM8994_OUTMIXER2_DAC1R_TO_HPOUT1R_POSITION
Definition: wm8994_reg.h:1844
WM8994_DC_SERVO1_DCS_TRIG_STARTUP_1_POSITION
#define WM8994_DC_SERVO1_DCS_TRIG_STARTUP_1_POSITION
Definition: wm8994_reg.h:2119
WM8994_INMIXER3_IN1L_MIXINL_VOL_POSITION
#define WM8994_INMIXER3_IN1L_MIXINL_VOL_POSITION
Definition: wm8994_reg.h:1543
WM8994_AIF1_CONTROL1_FMT_MASK
#define WM8994_AIF1_CONTROL1_FMT_MASK
Definition: wm8994_reg.h:2418
WM8994_AIF1_DAC1_RMRDAC2R_TO_DAC1R_MASK
#define WM8994_AIF1_DAC1_RMRDAC2R_TO_DAC1R_MASK
Definition: wm8994_reg.h:3106
WM8994_DAC2_LEFT_VOL_MUTE_POSITION
#define WM8994_DAC2_LEFT_VOL_MUTE_POSITION
Definition: wm8994_reg.h:3409
WM8994_OUTMIXER1_DAC1L_TO_MIXOUTL_MASK
#define WM8994_OUTMIXER1_DAC1L_TO_MIXOUTL_MASK
Definition: wm8994_reg.h:1673
wm8994_spkmixr_att_mixinl_vol
int32_t wm8994_spkmixr_att_mixinl_vol(wm8994_ctx_t *ctx, uint16_t value)
Definition: wm8994_reg.c:2471


picovoice_driver
Author(s):
autogenerated on Fri Apr 1 2022 02:14:55