Developer World
Spresense SDK Library v3.2.0-ebc0364
audio.h
1/****************************************************************************
2 * arch/arm/include/cxd56xx/audio.h
3 *
4 * Licensed to the Apache Software Foundation (ASF) under one or more
5 * contributor license agreements. See the NOTICE file distributed with
6 * this work for additional information regarding copyright ownership. The
7 * ASF licenses this file to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance with the
9 * License. You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
15 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
16 * License for the specific language governing permissions and limitations
17 * under the License.
18 *
19 ****************************************************************************/
25/* audioutils Audio Utility */
26
27#ifndef __ARCH_ARM_INCLUDE_CXD56XX_AUDIO_H
28#define __ARCH_ARM_INCLUDE_CXD56XX_AUDIO_H
29
30/* API Documents created with Doxygen */
31
41/****************************************************************************
42 * Included Files
43 ****************************************************************************/
44
45#include <nuttx/config.h>
46#include <stdio.h>
47#include <stdint.h>
48#include <stdbool.h>
49
50#include "arch/chip/cxd56_audio_lower.h"
51
52/****************************************************************************
53 * Pre-processor Prototypes
54 ****************************************************************************/
55
58#define CXD56AUD_SET_SYSVOLUME (0x01)
59#define CXD56AUD_SET_AUDIOPATH (0x02)
60#define CXD56AUD_SET_I2SMODE (0x03)
61#define CXD56AUD_GET_SYSPARAM (0x04)
62#define CXD56AUD_SET_SAMPLERATE (0x05)
63#define CXD56AUD_SET_BWCH (0x06)
64
67#define CXD56_AUDIO_MIC_CH_MAX 8
68
71#define CXD56_AUDIO_DNC_FW_SIZE 512
72#define CXD56_AUDIO_DNC_CFG_SIZE 128
73
76#define CXD56_AUDIO_DEQ_BAND_NUM 6
77
80#define CXD56_AUDIO_ECODE uint16_t
81
82#define CXD56_AUDIO_ECODE_OK 0x0000
83#define CXD56_AUDIO_ECODE_POW 0x1000
84#define CXD56_AUDIO_ECODE_FIL 0x2000
85#define CXD56_AUDIO_ECODE_MIC 0x3000
86#define CXD56_AUDIO_ECODE_VOL 0x4000
87#define CXD56_AUDIO_ECODE_DIG 0x5000
88#define CXD56_AUDIO_ECODE_BEP 0x6000
89#define CXD56_AUDIO_ECODE_INT 0x7000
90#define CXD56_AUDIO_ECODE_DMA 0x8000
91#define CXD56_AUDIO_ECODE_ANA 0x9000
92#define CXD56_AUDIO_ECODE_REG 0xA000
93#define CXD56_AUDIO_ECODE_CFG 0xB000
94
95/* Error code of power */
96
97#define CXD56_AUDIO_ECODE_POW_STATE (CXD56_AUDIO_ECODE_POW | 0x01)
98
99/* Error code of filter */
100
101#define CXD56_AUDIO_ECODE_FIL_DNC_BIN (CXD56_AUDIO_ECODE_FIL | 0x01)
102
103/* Error code of mic */
104
105#define CXD56_AUDIO_ECODE_MIC_NO_ANA (CXD56_AUDIO_ECODE_MIC | 0x01)
106#define CXD56_AUDIO_ECODE_MIC_ARG_NULL (CXD56_AUDIO_ECODE_MIC | 0x02)
107
108/* Error code of volume */
109
110#define CXD56_AUDIO_ECODE_VOL_ID (CXD56_AUDIO_ECODE_VOL | 0x01)
111#define CXD56_AUDIO_ECODE_VOL_MAX (CXD56_AUDIO_ECODE_VOL | 0x02)
112#define CXD56_AUDIO_ECODE_VOL_MIN (CXD56_AUDIO_ECODE_VOL | 0x03)
113
114/* Error code of digital */
115
116/* Error code of beep */
117
118#define CXD56_AUDIO_ECODE_BEP_FREQ_MAX (CXD56_AUDIO_ECODE_BEP | 0x01)
119#define CXD56_AUDIO_ECODE_BEP_FREQ_MIN (CXD56_AUDIO_ECODE_BEP | 0x02)
120#define CXD56_AUDIO_ECODE_BEP_VOL_MAX (CXD56_AUDIO_ECODE_BEP | 0x03)
121#define CXD56_AUDIO_ECODE_BEP_VOL_MIN (CXD56_AUDIO_ECODE_BEP | 0x04)
122
123/* Error code of interrupt */
124
125/* Error code of dma */
126
127#define CXD56_AUDIO_ECODE_DMA_ARG_NULL (CXD56_AUDIO_ECODE_DMA | 0x01)
128#define CXD56_AUDIO_ECODE_DMA_PATH_INV (CXD56_AUDIO_ECODE_DMA | 0x02)
129#define CXD56_AUDIO_ECODE_DMA_PATH_COMB (CXD56_AUDIO_ECODE_DMA | 0x03)
130#define CXD56_AUDIO_ECODE_DMA_PATH_DUP (CXD56_AUDIO_ECODE_DMA | 0x04)
131#define CXD56_AUDIO_ECODE_DMA_PATH_MAX (CXD56_AUDIO_ECODE_DMA | 0x05)
132#define CXD56_AUDIO_ECODE_DMA_HANDLE_NULL (CXD56_AUDIO_ECODE_DMA | 0x06)
133#define CXD56_AUDIO_ECODE_DMA_HANDLE_INV (CXD56_AUDIO_ECODE_DMA | 0x07)
134#define CXD56_AUDIO_ECODE_DMA_CH_NO_ENABLE (CXD56_AUDIO_ECODE_DMA | 0x08)
135#define CXD56_AUDIO_ECODE_DMA_CH1_4_INV (CXD56_AUDIO_ECODE_DMA | 0x09)
136#define CXD56_AUDIO_ECODE_DMA_CH5_8_INV (CXD56_AUDIO_ECODE_DMA | 0x0a)
137#define CXD56_AUDIO_ECODE_DMA_SMP_TIMEOUT (CXD56_AUDIO_ECODE_DMA | 0x0b)
138#define CXD56_AUDIO_ECODE_DMA_BUSY (CXD56_AUDIO_ECODE_DMA | 0x0c)
139
140#define CXD56_AUDIO_ECODE_DMA_CMPLT (CXD56_AUDIO_ECODE_DMA | 0x11)
141#define CXD56_AUDIO_ECODE_DMA_TRANS (CXD56_AUDIO_ECODE_DMA | 0x12)
142#define CXD56_AUDIO_ECODE_DMA_CMB (CXD56_AUDIO_ECODE_DMA | 0x13)
143
144/* Error code of analog */
145
146#define CXD56_AUDIO_ECODE_ANA_DISABLE (CXD56_AUDIO_ECODE_ANA | 0x01)
147#define CXD56_AUDIO_ECODE_ANA_PWON (CXD56_AUDIO_ECODE_ANA | 0x02)
148#define CXD56_AUDIO_ECODE_ANA_PWOFF (CXD56_AUDIO_ECODE_ANA | 0x03)
149#define CXD56_AUDIO_ECODE_ANA_CLK_EN (CXD56_AUDIO_ECODE_ANA | 0x04)
150#define CXD56_AUDIO_ECODE_ANA_CHKID (CXD56_AUDIO_ECODE_ANA | 0x05)
151#define CXD56_AUDIO_ECODE_ANA_SERIAL (CXD56_AUDIO_ECODE_ANA | 0x06)
152#define CXD56_AUDIO_ECODE_ANA_PWON_MBIAS (CXD56_AUDIO_ECODE_ANA | 0x07)
153#define CXD56_AUDIO_ECODE_ANA_PWON_INPUT (CXD56_AUDIO_ECODE_ANA | 0x08)
154#define CXD56_AUDIO_ECODE_ANA_SET_SMASTER (CXD56_AUDIO_ECODE_ANA | 0x09)
155#define CXD56_AUDIO_ECODE_ANA_PWON_OUTPUT (CXD56_AUDIO_ECODE_ANA | 0x0A)
156#define CXD56_AUDIO_ECODE_ANA_PWOFF_INPUT (CXD56_AUDIO_ECODE_ANA | 0x0B)
157#define CXD56_AUDIO_ECODE_ANA_PWOFF_OUTPUT (CXD56_AUDIO_ECODE_ANA | 0x0C)
158#define CXD56_AUDIO_ECODE_ANA_ENABLE_OUTPUT (CXD56_AUDIO_ECODE_ANA | 0x0D)
159#define CXD56_AUDIO_ECODE_ANA_DISABLE_OUTPUT (CXD56_AUDIO_ECODE_ANA | 0x0E)
160#define CXD56_AUDIO_ECODE_ANA_SET_MICGAIN (CXD56_AUDIO_ECODE_ANA | 0x0F)
161#define CXD56_AUDIO_ECODE_ANA_NOTIFY_MICBOOT (CXD56_AUDIO_ECODE_ANA | 0x10)
162
163/* Error code of register */
164
165#define CXD56_AUDIO_ECODE_REG_AC (CXD56_AUDIO_ECODE_REG | 0x100)
166#define CXD56_AUDIO_ECODE_REG_BCA (CXD56_AUDIO_ECODE_REG | 0x200)
167
168#define CXD56_AUDIO_ECODE_REG_AC_REVID (CXD56_AUDIO_ECODE_REG_AC | 0x01)
169#define CXD56_AUDIO_ECODE_REG_AC_DEVID (CXD56_AUDIO_ECODE_REG_AC | 0x02)
170#define CXD56_AUDIO_ECODE_REG_AC_MICMODE (CXD56_AUDIO_ECODE_REG_AC | 0x03)
171#define CXD56_AUDIO_ECODE_REG_AC_ALCTGT (CXD56_AUDIO_ECODE_REG_AC | 0x04)
172#define CXD56_AUDIO_ECODE_REG_AC_ALCKNEE (CXD56_AUDIO_ECODE_REG_AC | 0x05)
173#define CXD56_AUDIO_ECODE_REG_AC_SPCLIMT (CXD56_AUDIO_ECODE_REG_AC | 0x06)
174#define CXD56_AUDIO_ECODE_REG_AC_CLKMODE (CXD56_AUDIO_ECODE_REG_AC | 0x07)
175#define CXD56_AUDIO_ECODE_REG_AC_SEL_INV (CXD56_AUDIO_ECODE_REG_AC | 0x08)
176#define CXD56_AUDIO_ECODE_REG_AC_CSTE_VOL (CXD56_AUDIO_ECODE_REG_AC | 0x09)
177
178/****************************************************************************
179 * Public Types
180 ****************************************************************************/
181
182/* NuttX based Audio Driver Vendor Specific ioctl command arguments */
183
185{
186 unsigned int cmd;
187 union
188 {
189 unsigned long arg;
190 unsigned short argh[2];
191 };
192};
193
195{
196 bool en;
197 uint32_t freq;
198 uint32_t vol;
199};
200
201/* Error code of config */
202
203#define CXD56_AUDIO_ECODE_CFG_CLK_MODE (CXD56_AUDIO_ECODE_CFG | 0x01)
204
205enum cxd56_audio_state_e
206{
207 /* Power OFF state */
208
209 CXD56_AUDIO_POWER_STATE_OFF = 0,
210
211 /* Power ON state */
212
213 CXD56_AUDIO_POWER_STATE_ON
214};
215
216typedef enum cxd56_audio_state_e cxd56_audio_state_t;
217
219{
223
227};
228
229typedef enum cxd56_audio_i2s_src_byp_e cxd56_audio_i2s_src_byp_t;
230
232{
236
240
245
246typedef enum cxd56_audio_volid_e cxd56_audio_volid_t;
247
251{
255
260
261typedef enum cxd56_audio_dnc_id_e cxd56_audio_dnc_id_t;
262
266{
270
274
278
282
286};
287
288typedef enum cxd56_audio_dma_path_e cxd56_audio_dma_path_t;
289
293{
297
301
305
309
313
317
321
325
330
331typedef enum cxd56_audio_signal_e cxd56_audio_signal_t;
332
336{
340
344
348
352
357
358typedef enum cxd56_audio_dma_e cxd56_audio_dma_t;
359
363{
364 CXD56_AUDIO_OUTDEV_OFF = 0,
365 CXD56_AUDIO_OUTDEV_SP,
366 CXD56_AUDIO_OUTDEV_I2S
367};
368
369typedef enum cxd56_audio_outdev_e cxd56_audio_outdev_t;
370
371enum cxd56_audio_clkmode_e
372{
373 CXD56_AUDIO_CLKMODE_NORMAL = 0,
374 CXD56_AUDIO_CLKMODE_HIRES,
375};
376
377typedef enum cxd56_audio_clkmode_e cxd56_audio_clkmode_t;
378
379enum cxd56_audio_dmafmt_e
380{
381 CXD56_AUDIO_DMA_FMT_LR = 0,
382 CXD56_AUDIO_DMA_FMT_RL,
383};
384
385typedef enum cxd56_audio_dmafmt_e cxd56_audio_dmafmt_t;
386
387enum cxd56_audio_samp_fmt_e
388{
389 CXD56_AUDIO_SAMP_FMT_24 = 0,
390 CXD56_AUDIO_SAMP_FMT_16
391};
392
393typedef enum cxd56_audio_samp_fmt_e cxd56_audio_samp_fmt_t;
394
395enum cxd56_audio_dsr_rate_e
396{
397 CXD56_AUDIO_DSR_1STEP = 0x0,
398 CXD56_AUDIO_DSR_2STEP,
399 CXD56_AUDIO_DSR_4STEP,
400 CXD56_AUDIO_DSR_6STEP,
401 CXD56_AUDIO_DSR_8STEP,
402 CXD56_AUDIO_DSR_11STEP,
403 CXD56_AUDIO_DSR_12STEP,
404 CXD56_AUDIO_DSR_16STEP,
405};
406
407typedef enum cxd56_audio_dsr_rate_e cxd56_audio_dsr_rate_t;
408
409enum cxd56_audio_dma_state_e
410{
411 CXD56_AUDIO_DMA_STATE_REDY = 0x0,
412 CXD56_AUDIO_DMA_STATE_RUN,
413};
414
415typedef enum cxd56_audio_dma_state_e cxd56_audio_dma_state_t;
416
417enum cxd56_audio_micdev_e
418{
419 CXD56_AUDIO_MIC_DEV_NONE = 0,
420 CXD56_AUDIO_MIC_DEV_ANALOG,
421 CXD56_AUDIO_MIC_DEV_DIGITAL,
422 CXD56_AUDIO_MIC_DEV_ANADIG
423};
424
425typedef enum cxd56_audio_micdev_e cxd56_audio_micdev_t;
426
427enum cxd56_audio_sp_drv_e
428{
429 CXD56_AUDIO_SP_DRV_LINEOUT = 0,
430 CXD56_AUDIO_SP_DRV_1DRIVER,
431 CXD56_AUDIO_SP_DRV_2DRIVER,
432 CXD56_AUDIO_SP_DRV_4DRIVER
433};
434
435typedef enum cxd56_audio_sp_drv_e cxd56_audio_sp_drv_t;
436
438{
439 uint32_t data_rate;
440 cxd56_audio_i2s_src_byp_t bypass_mode;
441};
442
444
446{
447 int32_t gain[CXD56_AUDIO_MIC_CH_MAX];
448};
449
451
453{
454 uint32_t firm[CXD56_AUDIO_DNC_FW_SIZE];
455 uint32_t config[CXD56_AUDIO_DNC_CFG_SIZE];
456};
457
459
461{
465
469
473
477
481
485};
486
488
490{
491 uint32_t b0;
492 uint32_t b1;
493 uint32_t b2;
494 uint32_t a0;
495 uint32_t a1;
496};
497
499
501{
503};
504
506
508{
509 uint8_t start;
510 uint8_t err_setting;
511 uint8_t buf_state;
512};
514
517typedef void (* cxd56_audio_dma_cb_t)(cxd56_audio_dma_t handle,
518 uint32_t code);
519
520/****************************************************************************
521 * Public Data
522 ****************************************************************************/
523
524/****************************************************************************
525 * Inline Functions
526 ****************************************************************************/
527
528#ifdef __cplusplus
529#define EXTERN extern "C"
530extern "C"
531{
532#else
533#define EXTERN extern
534#endif
535
536/****************************************************************************
537 * Public Function Prototypes
538 ****************************************************************************/
539
543struct audio_lowerhalf_s *cxd56_aud_miclower(void);
544struct audio_lowerhalf_s *cxd56_aud_spk0out(void);
545struct audio_lowerhalf_s *cxd56_aud_spk1out(void);
546struct audio_lowerhalf_s *cxd56_aud_i2sin(void);
547
555
563
573CXD56_AUDIO_ECODE cxd56_audio_en_cstereo(bool sign_inv, int16_t vol);
574
582
590
598
608CXD56_AUDIO_ECODE cxd56_audio_en_dnc(cxd56_audio_dnc_id_t id,
610
619CXD56_AUDIO_ECODE cxd56_audio_dis_dnc(cxd56_audio_dnc_id_t id);
620
630
638
646
654
662
670
680
690CXD56_AUDIO_ECODE cxd56_audio_set_vol(cxd56_audio_volid_t id, int16_t vol);
691
701
711
722 bool wait);
723
734 bool wait);
735
745
755
763
771
781
793
804 cxd56_audio_dma_t *handle);
805
815
827
839 cxd56_audio_samp_fmt_t fmt,
840 uint8_t *ch_num);
841
853
861
869
879
889
899
911 uint32_t addr,
912 uint32_t sample);
913
922CXD56_AUDIO_ECODE cxd56_audio_stop_dma(cxd56_audio_dma_t handle);
923
932CXD56_AUDIO_ECODE cxd56_audio_set_clkmode(cxd56_audio_clkmode_t mode);
933
940cxd56_audio_clkmode_t cxd56_audio_get_clkmode(void);
941
948cxd56_audio_dmafmt_t cxd56_audio_get_dmafmt(void);
949
956cxd56_audio_micdev_t cxd56_audio_get_micdev(void);
957
966CXD56_AUDIO_ECODE cxd56_audio_en_digsft(cxd56_audio_dsr_rate_t rate);
967
975
983
991
998cxd56_audio_state_t cxd56_audio_get_status(void);
999
1008CXD56_AUDIO_ECODE cxd56_audio_set_spdriver(cxd56_audio_sp_drv_t sp_driver);
1009
1016cxd56_audio_sp_drv_t cxd56_audio_get_spdriver(void);
1017
1027
1035
1036/* Tone generator
1037 *
1038 * Setup tone generator
1039 */
1040
1041bool board_audio_tone_generator(bool en, int16_t vol, uint16_t freq);
1042
1043#ifdef __cplusplus
1044}
1045#endif /* __cplusplus */
1046
1047#endif /* __ARCH_ARM_INCLUDE_CXD56XX_AUDIO_H */
CXD56_AUDIO_ECODE cxd56_audio_dis_dmaint(void)
Disable dma interrupt.
cxd56_audio_volid_e
Definition: audio.h:232
CXD56_AUDIO_ECODE cxd56_audio_set_dmacb(cxd56_audio_dma_t handle, cxd56_audio_dma_cb_t cb)
Initialize dma transfer function.
CXD56_AUDIO_ECODE cxd56_audio_get_dmahandle(cxd56_audio_dma_path_t path, cxd56_audio_dma_t *handle)
Get dma handle.
CXD56_AUDIO_ECODE cxd56_audio_set_datapath(cxd56_audio_signal_t sig, cxd56_audio_sel_t sel)
Set internal data path.
CXD56_AUDIO_ECODE cxd56_audio_en_output(void)
Enable BaseBand driver output.
#define CXD56_AUDIO_DEQ_BAND_NUM
Definition: audio.h:76
cxd56_audio_state_t cxd56_audio_get_status(void)
Get audio driver status.
uint32_t cxd56_audio_get_micmap(void)
Get Mic mapping.
cxd56_audio_dmafmt_t cxd56_audio_get_dmafmt(void)
Get data format type of dma.
cxd56_audio_dnc_id_e
Definition: audio.h:251
CXD56_AUDIO_ECODE cxd56_audio_clear_dmaerrint(cxd56_audio_dma_t handle)
Clear dma error interrupt state.
CXD56_AUDIO_ECODE cxd56_audio_unmask_dmaerrint(cxd56_audio_dma_t handle)
Unmask dma error interrupt.
cxd56_audio_clkmode_t cxd56_audio_get_clkmode(void)
Get audio clock mode.
CXD56_AUDIO_ECODE cxd56_audio_dis_i2s_io(void)
Disable I2S I/O.
CXD56_AUDIO_ECODE cxd56_audio_en_i2s_io(void)
Enable I2S I/O.
CXD56_AUDIO_ECODE cxd56_audio_en_dnc(cxd56_audio_dnc_id_t id, cxd56_audio_dnc_bin_t *bin)
Enable DNC.
CXD56_AUDIO_ECODE cxd56_audio_mask_dmaerrint(cxd56_audio_dma_t handle)
Mask dma error interrupt.
CXD56_AUDIO_ECODE cxd56_audio_poweroff(void)
Power off BaseBand driver.
CXD56_AUDIO_ECODE cxd56_audio_dis_deq(void)
Disable DEQ.
CXD56_AUDIO_ECODE cxd56_audio_play_beep(void)
Play beep.
CXD56_AUDIO_ECODE cxd56_audio_set_clkmode(cxd56_audio_clkmode_t mode)
Set audio clock mode.
CXD56_AUDIO_ECODE cxd56_audio_set_micmap(uint32_t map)
Set Mic mapping.
cxd56_audio_sp_drv_t cxd56_audio_get_spdriver(void)
Get audio speaker driver mode.
CXD56_AUDIO_ECODE cxd56_audio_stop_dma(cxd56_audio_dma_t handle)
Stop dma transfer.
CXD56_AUDIO_ECODE cxd56_audio_set_vol(cxd56_audio_volid_t id, int16_t vol)
Set volume.
CXD56_AUDIO_ECODE cxd56_audio_free_dmahandle(cxd56_audio_dma_t handle)
Free dma handle.
CXD56_AUDIO_ECODE cxd56_audio_unmute_vol_fade(cxd56_audio_volid_t id, bool wait)
unmute volume with fade-in
CXD56_AUDIO_ECODE cxd56_audio_en_dmaint(void)
Enable dma interrupt.
CXD56_AUDIO_ECODE cxd56_audio_start_dma(cxd56_audio_dma_t handle, uint32_t addr, uint32_t sample)
Start dma transfer.
CXD56_AUDIO_ECODE cxd56_audio_set_spout(bool sp_out_en)
Set speaker output status.
CXD56_AUDIO_ECODE cxd56_audio_en_cstereo(bool sign_inv, int16_t vol)
Enable clear stereo.
#define CXD56_AUDIO_MIC_CH_MAX
Definition: audio.h:67
void(* cxd56_audio_dma_cb_t)(cxd56_audio_dma_t handle, uint32_t code)
Definition: audio.h:517
CXD56_AUDIO_ECODE cxd56_audio_poweron_dnc(void)
Power on DNC.
CXD56_AUDIO_ECODE cxd56_audio_mute_vol_fade(cxd56_audio_volid_t id, bool wait)
mute volume with fade-out
cxd56_audio_signal_e
Definition: audio.h:293
CXD56_AUDIO_ECODE cxd56_audio_unmute_vol(cxd56_audio_volid_t id)
Unmute volume.
CXD56_AUDIO_ECODE cxd56_audio_en_input(void)
Enable BaseBand driver input.
cxd56_audio_outdev_e
Definition: audio.h:363
CXD56_AUDIO_ECODE cxd56_audio_dis_input(void)
Disable BaseBand driver input.
CXD56_AUDIO_ECODE cxd56_audio_set_spdriver(cxd56_audio_sp_drv_t sp_driver)
Set audio speaker driver mode.
CXD56_AUDIO_ECODE cxd56_audio_set_beep_freq(uint16_t freq)
Set beep frequency parameter.
CXD56_AUDIO_ECODE cxd56_audio_set_beep_vol(int16_t vol)
Set beep volume parameter.
CXD56_AUDIO_ECODE cxd56_audio_en_digsft(cxd56_audio_dsr_rate_t rate)
Enable digital soft ramp rate control.
CXD56_AUDIO_ECODE cxd56_audio_init_dma(cxd56_audio_dma_t handle, cxd56_audio_samp_fmt_t fmt, uint8_t *ch_num)
Initialize dma transfer function.
CXD56_AUDIO_ECODE cxd56_audio_dis_output(void)
Disable BaseBand driver output.
cxd56_audio_dma_path_e
Definition: audio.h:266
CXD56_AUDIO_ECODE cxd56_audio_mute_vol(cxd56_audio_volid_t id)
Mute volume.
CXD56_AUDIO_ECODE cxd56_audio_dis_digsft(void)
Disable digital soft ramp rate control.
cxd56_audio_micdev_t cxd56_audio_get_micdev(void)
Get mic device type.
int cxd56_audsystem_initialize(FAR cxd56_audio_lower_t *low)
#define CXD56_AUDIO_DNC_FW_SIZE
Definition: audio.h:71
#define CXD56_AUDIO_ECODE
Definition: audio.h:80
CXD56_AUDIO_ECODE cxd56_audio_set_micgain(cxd56_audio_mic_gain_t *gain)
Set MIC gain.
cxd56_audio_i2s_src_byp_e
Definition: audio.h:219
CXD56_AUDIO_ECODE cxd56_audio_dis_cstereo(void)
Disable clear stereo.
cxd56_audio_dma_e
Definition: audio.h:336
CXD56_AUDIO_ECODE cxd56_audio_set_deq(bool en, cxd56_audio_deq_coef_t *deq)
Set DEQ table.
CXD56_AUDIO_ECODE cxd56_audio_en_deq(cxd56_audio_deq_coef_t *coef)
Disable DEQ.
CXD56_AUDIO_ECODE cxd56_audio_dis_dnc(cxd56_audio_dnc_id_t id)
Disable DNC.
CXD56_AUDIO_ECODE cxd56_audio_poweroff_dnc(void)
Power off DNC.
CXD56_AUDIO_ECODE cxd56_audio_poweron(void)
Power on Audio driver.
CXD56_AUDIO_ECODE cxd56_audio_stop_beep(void)
Stop beep.
@ CXD56_AUDIO_VOLID_MIXER_OUT
Definition: audio.h:243
@ CXD56_AUDIO_VOLID_MIXER_IN2
Definition: audio.h:239
@ CXD56_AUDIO_VOLID_MIXER_IN1
Definition: audio.h:235
@ CXD56_AUDIO_DNC_ID_FB
Definition: audio.h:254
@ CXD56_AUDIO_DNC_ID_FF
Definition: audio.h:258
@ CXD56_AUDIO_SIG_I2S1
Definition: audio.h:316
@ CXD56_AUDIO_SIG_BUSIF2
Definition: audio.h:324
@ CXD56_AUDIO_SIG_I2S0
Definition: audio.h:312
@ CXD56_AUDIO_SIG_MIC2
Definition: audio.h:300
@ CXD56_AUDIO_SIG_MIC3
Definition: audio.h:304
@ CXD56_AUDIO_SIG_BUSIF1
Definition: audio.h:320
@ CXD56_AUDIO_SIG_MIC4
Definition: audio.h:308
@ CXD56_AUDIO_SIG_MIC1
Definition: audio.h:296
@ CXD56_AUDIO_SIG_MIX
Definition: audio.h:328
@ CXD56_AUDIO_DMA_PATH_MIC_TO_MEM
Definition: audio.h:269
@ CXD56_AUDIO_DMA_PATH_I2S0_TO_MEM
Definition: audio.h:273
@ CXD56_AUDIO_DMA_PATH_MEM_TO_BUSIF2
Definition: audio.h:285
@ CXD56_AUDIO_DMA_PATH_I2S1_TO_MEM
Definition: audio.h:277
@ CXD56_AUDIO_DMA_PATH_MEM_TO_BUSIF1
Definition: audio.h:281
@ CXD56_AUDIO_I2S_BYP_ENABLE
Definition: audio.h:226
@ CXD56_AUDIO_I2S_BYP_DISABLE
Definition: audio.h:222
@ CXD56_AUDIO_DMAC_I2S1_UP
Definition: audio.h:351
@ CXD56_AUDIO_DMAC_I2S1_DOWN
Definition: audio.h:355
@ CXD56_AUDIO_DMAC_I2S0_UP
Definition: audio.h:343
@ CXD56_AUDIO_DMAC_I2S0_DOWN
Definition: audio.h:347
@ CXD56_AUDIO_DMAC_MIC
Definition: audio.h:339
Definition: audio.h:195
Definition: audio.h:490
Definition: audio.h:501
Definition: audio.h:508
Definition: audio.h:453
Definition: audio.h:438
Definition: audio.h:185
Definition: cxd56_audio_lower.h:36
Definition: audio.h:446
Definition: audio.h:461
bool cod_insel3
Definition: audio.h:476
bool au_dat_sel1
Definition: audio.h:464
bool src1in_sel
Definition: audio.h:480
bool cod_insel2
Definition: audio.h:472
bool src2in_sel
Definition: audio.h:484
bool au_dat_sel2
Definition: audio.h:468