Classes | |
struct | _wm8960_audio_format |
wm8960 audio format More... | |
struct | _wm8960_handle |
wm8960 codec handler More... | |
struct | wm8960_config |
Initialize structure of WM8960. More... | |
#define FSL_WM8960_DRIVER_VERSION (MAKE_VERSION(2, 1, 1)) |
CLOCK driver version 2.1.1.
Definition at line 26 of file fsl_wm8960.h.
#define WM8960_3D 0x10 |
Definition at line 49 of file fsl_wm8960.h.
#define WM8960_ADDCTL1 0x17 |
Definition at line 56 of file fsl_wm8960.h.
#define WM8960_ADDCTL2 0x18 |
Definition at line 57 of file fsl_wm8960.h.
#define WM8960_ADDCTL3 0x1b |
Definition at line 60 of file fsl_wm8960.h.
#define WM8960_ADDCTL4 0x30 |
Definition at line 79 of file fsl_wm8960.h.
#define WM8960_ALC1 0x11 |
Definition at line 50 of file fsl_wm8960.h.
#define WM8960_ALC2 0x12 |
Definition at line 51 of file fsl_wm8960.h.
#define WM8960_ALC3 0x13 |
Definition at line 52 of file fsl_wm8960.h.
#define WM8960_APOP1 0x1c |
Definition at line 61 of file fsl_wm8960.h.
#define WM8960_APOP2 0x1d |
Definition at line 62 of file fsl_wm8960.h.
#define WM8960_BYPASS1 0x2d |
Definition at line 76 of file fsl_wm8960.h.
#define WM8960_BYPASS2 0x2e |
Definition at line 77 of file fsl_wm8960.h.
#define WM8960_CACHEREGNUM 56 |
Cache register number.
Definition at line 89 of file fsl_wm8960.h.
#define WM8960_CLASSD1 0x31 |
Definition at line 80 of file fsl_wm8960.h.
#define WM8960_CLASSD3 0x33 |
Definition at line 82 of file fsl_wm8960.h.
#define WM8960_CLOCK1 0x4 |
Definition at line 39 of file fsl_wm8960.h.
#define WM8960_CLOCK2 0x8 |
Definition at line 43 of file fsl_wm8960.h.
#define WM8960_DACCTL1 0x5 |
Definition at line 40 of file fsl_wm8960.h.
#define WM8960_DACCTL2 0x6 |
Definition at line 41 of file fsl_wm8960.h.
#define WM8960_I2C_ADDR 0x1A |
WM8960 I2C address.
Definition at line 196 of file fsl_wm8960.h.
#define WM8960_I2C_BAUDRATE (100000U) |
WM8960 I2C baudrate.
Definition at line 198 of file fsl_wm8960.h.
#define WM8960_I2C_HANDLER_SIZE CODEC_I2C_MASTER_HANDLER_SIZE |
wm8960 handle size
Definition at line 31 of file fsl_wm8960.h.
#define WM8960_IFACE1 0x7 |
Definition at line 42 of file fsl_wm8960.h.
#define WM8960_IFACE1_ADCCH_NORMAL 0x00 |
Definition at line 142 of file fsl_wm8960.h.
#define WM8960_IFACE1_ADCCH_SWAP 0x01 |
Definition at line 143 of file fsl_wm8960.h.
#define WM8960_IFACE1_ALRSWAP | ( | x | ) | ((x << WM8960_IFACE1_ALRSWAP_SHIFT) & WM8960_IFACE1_ALRSWAP_MASK) |
Definition at line 144 of file fsl_wm8960.h.
#define WM8960_IFACE1_ALRSWAP_MASK 0x100 |
WM8960_IFACE1 ALRSWAP bit.
Definition at line 140 of file fsl_wm8960.h.
#define WM8960_IFACE1_ALRSWAP_SHIFT 0x08 |
Definition at line 141 of file fsl_wm8960.h.
#define WM8960_IFACE1_BCLK_INVERT 0x01 |
Definition at line 136 of file fsl_wm8960.h.
#define WM8960_IFACE1_BCLK_NONINVERT 0x00 |
Definition at line 135 of file fsl_wm8960.h.
#define WM8960_IFACE1_BCLKINV | ( | x | ) | ((x << WM8960_IFACE1_BCLKINV_SHIFT) & WM8960_IFACE1_BCLKINV_MASK) |
Definition at line 137 of file fsl_wm8960.h.
#define WM8960_IFACE1_BCLKINV_MASK 0x80 |
WM8960_IFACE1 BCLKINV bit.
Definition at line 133 of file fsl_wm8960.h.
#define WM8960_IFACE1_BCLKINV_SHIFT 0x07 |
Definition at line 134 of file fsl_wm8960.h.
#define WM8960_IFACE1_DACCH_NORMAL 0x00 |
Definition at line 121 of file fsl_wm8960.h.
#define WM8960_IFACE1_DACCH_SWAP 0x01 |
Definition at line 122 of file fsl_wm8960.h.
#define WM8960_IFACE1_DLRSWAP | ( | x | ) | ((x << WM8960_IFACE1_DLRSWAP_SHIFT) & WM8960_IFACE1_DLRSWAP_MASK) |
Definition at line 123 of file fsl_wm8960.h.
#define WM8960_IFACE1_DLRSWAP_MASK 0x20 |
WM8960_IFACE1 DLRSWAP bit.
Definition at line 119 of file fsl_wm8960.h.
#define WM8960_IFACE1_DLRSWAP_SHIFT 0x05 |
Definition at line 120 of file fsl_wm8960.h.
#define WM8960_IFACE1_DSP_MODEA 0x00 |
Definition at line 114 of file fsl_wm8960.h.
#define WM8960_IFACE1_DSP_MODEB 0x01 |
Definition at line 115 of file fsl_wm8960.h.
#define WM8960_IFACE1_FORMAT | ( | x | ) | ((x << WM8960_IFACE1_FORMAT_SHIFT) & WM8960_IFACE1_FORMAT_MASK) |
Definition at line 98 of file fsl_wm8960.h.
#define WM8960_IFACE1_FORMAT_DSP 0x03 |
Definition at line 97 of file fsl_wm8960.h.
#define WM8960_IFACE1_FORMAT_I2S 0x02 |
Definition at line 96 of file fsl_wm8960.h.
#define WM8960_IFACE1_FORMAT_LJ 0x01 |
Definition at line 95 of file fsl_wm8960.h.
#define WM8960_IFACE1_FORMAT_MASK 0x03 |
WM8960_IFACE1 FORMAT bits.
Definition at line 92 of file fsl_wm8960.h.
#define WM8960_IFACE1_FORMAT_RJ 0x00 |
Definition at line 94 of file fsl_wm8960.h.
#define WM8960_IFACE1_FORMAT_SHIFT 0x00 |
Definition at line 93 of file fsl_wm8960.h.
#define WM8960_IFACE1_LRCLK_INVERT_POL 0x01 |
Definition at line 113 of file fsl_wm8960.h.
#define WM8960_IFACE1_LRCLK_NORMAL_POL 0x00 |
Definition at line 112 of file fsl_wm8960.h.
#define WM8960_IFACE1_LRP | ( | x | ) | ((x << WM8960_IFACE1_LRP_SHIFT) & WM8960_IFACE1_LRP_MASK) |
Definition at line 116 of file fsl_wm8960.h.
#define WM8960_IFACE1_LRP_MASK 0x10 |
WM8960_IFACE1 LRP bit.
Definition at line 110 of file fsl_wm8960.h.
#define WM8960_IFACE1_LRP_SHIFT 0x04 |
Definition at line 111 of file fsl_wm8960.h.
#define WM8960_IFACE1_MASTER 0x01 |
Definition at line 129 of file fsl_wm8960.h.
#define WM8960_IFACE1_MS | ( | x | ) | ((x << WM8960_IFACE1_MS_SHIFT) & WM8960_IFACE1_MS_MASK) |
Definition at line 130 of file fsl_wm8960.h.
#define WM8960_IFACE1_MS_MASK 0x40 |
WM8960_IFACE1 MS bit.
Definition at line 126 of file fsl_wm8960.h.
#define WM8960_IFACE1_MS_SHIFT 0x06 |
Definition at line 127 of file fsl_wm8960.h.
#define WM8960_IFACE1_SLAVE 0x00 |
Definition at line 128 of file fsl_wm8960.h.
#define WM8960_IFACE1_WL | ( | x | ) | ((x << WM8960_IFACE1_WL_SHIFT) & WM8960_IFACE1_WL_MASK) |
Definition at line 107 of file fsl_wm8960.h.
#define WM8960_IFACE1_WL_16BITS 0x00 |
Definition at line 103 of file fsl_wm8960.h.
#define WM8960_IFACE1_WL_20BITS 0x01 |
Definition at line 104 of file fsl_wm8960.h.
#define WM8960_IFACE1_WL_24BITS 0x02 |
Definition at line 105 of file fsl_wm8960.h.
#define WM8960_IFACE1_WL_32BITS 0x03 |
Definition at line 106 of file fsl_wm8960.h.
#define WM8960_IFACE1_WL_MASK 0x0C |
WM8960_IFACE1 WL bits.
Definition at line 101 of file fsl_wm8960.h.
#define WM8960_IFACE1_WL_SHIFT 0x02 |
Definition at line 102 of file fsl_wm8960.h.
#define WM8960_IFACE2 0x9 |
Definition at line 44 of file fsl_wm8960.h.
#define WM8960_INBMIX1 0x2b |
Definition at line 74 of file fsl_wm8960.h.
#define WM8960_INBMIX2 0x2c |
Definition at line 75 of file fsl_wm8960.h.
#define WM8960_LADC 0x15 |
Definition at line 54 of file fsl_wm8960.h.
#define WM8960_LDAC 0xa |
Definition at line 45 of file fsl_wm8960.h.
#define WM8960_LINPATH 0x20 |
Definition at line 64 of file fsl_wm8960.h.
#define WM8960_LINVOL 0x0 |
Define the register address of WM8960.
Definition at line 35 of file fsl_wm8960.h.
#define WM8960_LOUT1 0x2 |
Definition at line 37 of file fsl_wm8960.h.
#define WM8960_LOUT2 0x28 |
Definition at line 71 of file fsl_wm8960.h.
#define WM8960_LOUTMIX 0x22 |
Definition at line 66 of file fsl_wm8960.h.
#define WM8960_MONO 0x2a |
Definition at line 73 of file fsl_wm8960.h.
#define WM8960_MONOMIX1 0x26 |
Definition at line 69 of file fsl_wm8960.h.
#define WM8960_MONOMIX2 0x27 |
Definition at line 70 of file fsl_wm8960.h.
#define WM8960_NOISEG 0x14 |
Definition at line 53 of file fsl_wm8960.h.
#define WM8960_PLL1 0x34 |
Definition at line 83 of file fsl_wm8960.h.
#define WM8960_PLL2 0x35 |
Definition at line 84 of file fsl_wm8960.h.
#define WM8960_PLL3 0x36 |
Definition at line 85 of file fsl_wm8960.h.
#define WM8960_PLL4 0x37 |
Definition at line 86 of file fsl_wm8960.h.
#define WM8960_POWER1 0x19 |
Definition at line 58 of file fsl_wm8960.h.
#define WM8960_POWER1_ADCL_MASK 0x08 |
Definition at line 156 of file fsl_wm8960.h.
#define WM8960_POWER1_ADCL_SHIFT 0x03 |
Definition at line 157 of file fsl_wm8960.h.
#define WM8960_POWER1_ADCR_MASK 0x0 |
Definition at line 159 of file fsl_wm8960.h.
#define WM8960_POWER1_ADCR_SHIFT 0x02 |
Definition at line 160 of file fsl_wm8960.h.
#define WM8960_POWER1_AINL_MASK 0x20 |
Definition at line 150 of file fsl_wm8960.h.
#define WM8960_POWER1_AINL_SHIFT 0x05 |
Definition at line 151 of file fsl_wm8960.h.
#define WM8960_POWER1_AINR_MASK 0x10 |
Definition at line 153 of file fsl_wm8960.h.
#define WM8960_POWER1_AINR_SHIFT 0x04 |
Definition at line 154 of file fsl_wm8960.h.
#define WM8960_POWER1_DIGENB_MASK 0x01 |
Definition at line 165 of file fsl_wm8960.h.
#define WM8960_POWER1_DIGENB_SHIFT 0x00 |
Definition at line 166 of file fsl_wm8960.h.
#define WM8960_POWER1_MICB_MASK 0x02 |
Definition at line 162 of file fsl_wm8960.h.
#define WM8960_POWER1_MICB_SHIFT 0x01 |
Definition at line 163 of file fsl_wm8960.h.
#define WM8960_POWER1_VREF_MASK 0x40 |
WM8960_POWER1.
Definition at line 147 of file fsl_wm8960.h.
#define WM8960_POWER1_VREF_SHIFT 0x06 |
Definition at line 148 of file fsl_wm8960.h.
#define WM8960_POWER2 0x1a |
Definition at line 59 of file fsl_wm8960.h.
#define WM8960_POWER2_DACL_MASK 0x100 |
WM8960_POWER2.
Definition at line 169 of file fsl_wm8960.h.
#define WM8960_POWER2_DACL_SHIFT 0x08 |
Definition at line 170 of file fsl_wm8960.h.
#define WM8960_POWER2_DACR_MASK 0x80 |
Definition at line 172 of file fsl_wm8960.h.
#define WM8960_POWER2_DACR_SHIFT 0x07 |
Definition at line 173 of file fsl_wm8960.h.
#define WM8960_POWER2_LOUT1_MASK 0x40 |
Definition at line 175 of file fsl_wm8960.h.
#define WM8960_POWER2_LOUT1_SHIFT 0x06 |
Definition at line 176 of file fsl_wm8960.h.
#define WM8960_POWER2_ROUT1_MASK 0x20 |
Definition at line 178 of file fsl_wm8960.h.
#define WM8960_POWER2_ROUT1_SHIFT 0x05 |
Definition at line 179 of file fsl_wm8960.h.
#define WM8960_POWER2_SPKL_MASK 0x10 |
Definition at line 181 of file fsl_wm8960.h.
#define WM8960_POWER2_SPKL_SHIFT 0x04 |
Definition at line 182 of file fsl_wm8960.h.
#define WM8960_POWER2_SPKR_MASK 0x08 |
Definition at line 184 of file fsl_wm8960.h.
#define WM8960_POWER2_SPKR_SHIFT 0x03 |
Definition at line 185 of file fsl_wm8960.h.
#define WM8960_POWER3 0x2f |
Definition at line 78 of file fsl_wm8960.h.
#define WM8960_POWER3_LMIC_MASK 0x20 |
Definition at line 187 of file fsl_wm8960.h.
#define WM8960_POWER3_LMIC_SHIFT 0x05 |
Definition at line 188 of file fsl_wm8960.h.
#define WM8960_POWER3_LOMIX_MASK 0x08 |
Definition at line 191 of file fsl_wm8960.h.
#define WM8960_POWER3_LOMIX_SHIFT 0x03 |
Definition at line 192 of file fsl_wm8960.h.
#define WM8960_POWER3_RMIC_MASK 0x10 |
Definition at line 189 of file fsl_wm8960.h.
#define WM8960_POWER3_RMIC_SHIFT 0x04 |
Definition at line 190 of file fsl_wm8960.h.
#define WM8960_POWER3_ROMIX_MASK 0x04 |
Definition at line 193 of file fsl_wm8960.h.
#define WM8960_POWER3_ROMIX_SHIFT 0x02 |
Definition at line 194 of file fsl_wm8960.h.
#define WM8960_RADC 0x16 |
Definition at line 55 of file fsl_wm8960.h.
#define WM8960_RDAC 0xb |
Definition at line 46 of file fsl_wm8960.h.
#define WM8960_RESET 0xf |
Definition at line 48 of file fsl_wm8960.h.
#define WM8960_RINPATH 0x21 |
Definition at line 65 of file fsl_wm8960.h.
#define WM8960_RINVOL 0x1 |
Definition at line 36 of file fsl_wm8960.h.
#define WM8960_ROUT1 0x3 |
Definition at line 38 of file fsl_wm8960.h.
#define WM8960_ROUT2 0x29 |
Definition at line 72 of file fsl_wm8960.h.
#define WM8960_ROUTMIX 0x25 |
Definition at line 68 of file fsl_wm8960.h.
typedef struct _wm8960_audio_format wm8960_audio_format_t |
wm8960 audio format
typedef struct wm8960_config wm8960_config_t |
Initialize structure of WM8960.
typedef struct _wm8960_handle wm8960_handle_t |
wm8960 codec handler
typedef enum _wm8960_input wm8960_input_t |
wm8960 input source
typedef enum _wm8960_module wm8960_module_t |
Modules in WM8960 board.
typedef enum _wm8960_play_source wm8960_play_source_t |
wm8960 play source
typedef enum _wm8960_protocol wm8960_protocol_t |
The audio data transfer protocol choice. WM8960 only supports I2S format and PCM format.
typedef enum _wm8960_route wm8960_route_t |
WM8960 data route. Only provide some typical data route, not all route listed. Note: Users cannot combine any routes, once a new route is set, the previous one would be replaced.
audio bit width
Enumerator | |
---|---|
kWM8960_AudioBitWidth16bit | audio bit width 16 |
kWM8960_AudioBitWidth20bit | audio bit width 20 |
kWM8960_AudioBitWidth24bit | audio bit width 24 |
kWM8960_AudioBitWidth32bit | audio bit width 32 |
Definition at line 287 of file fsl_wm8960.h.
enum _wm8960_input |
wm8960 input source
Definition at line 259 of file fsl_wm8960.h.
enum _wm8960_module |
Modules in WM8960 board.
Definition at line 201 of file fsl_wm8960.h.
enum _wm8960_play_channel |
wm8960 play channel
Definition at line 216 of file fsl_wm8960.h.
enum _wm8960_play_source |
wm8960 play source
Enumerator | |
---|---|
kWM8960_PlaySourcePGA | wm8960 play source PGA |
kWM8960_PlaySourceInput | wm8960 play source Input |
kWM8960_PlaySourceDAC | wm8960 play source DAC |
Definition at line 225 of file fsl_wm8960.h.
enum _wm8960_protocol |
The audio data transfer protocol choice. WM8960 only supports I2S format and PCM format.
Enumerator | |
---|---|
kWM8960_BusI2S | I2S type |
kWM8960_BusLeftJustified | Left justified mode |
kWM8960_BusRightJustified | Right justified mode |
kWM8960_BusPCMA | PCM A mode |
kWM8960_BusPCMB | PCM B mode |
Definition at line 249 of file fsl_wm8960.h.
enum _wm8960_route |
WM8960 data route. Only provide some typical data route, not all route listed. Note: Users cannot combine any routes, once a new route is set, the previous one would be replaced.
Definition at line 237 of file fsl_wm8960.h.
enum _wm8960_sample_rate |
audio sample rate definition
Definition at line 270 of file fsl_wm8960.h.
status_t WM8960_ConfigDataFormat | ( | wm8960_handle_t * | handle, |
uint32_t | sysclk, | ||
uint32_t | sample_rate, | ||
uint32_t | bits | ||
) |
Configure the data format of audio data.
This function would configure the registers about the sample rate, bit depths.
handle | WM8960 handle structure pointer. |
sysclk | system clock of the codec which can be generated by MCLK or PLL output. |
sample_rate | Sample rate of audio file running in WM8960. WM8960 now supports 8k, 11.025k, 12k, 16k, 22.05k, 24k, 32k, 44.1k, 48k and 96k sample rate. |
bits | Bit depth of audio file (WM8960 only supports 16bit, 20bit, 24bit and 32 bit in HW). |
Definition at line 533 of file fsl_wm8960.c.
status_t WM8960_Deinit | ( | wm8960_handle_t * | handle | ) |
Deinit the WM8960 codec.
This function close all modules in WM8960 to save power.
handle | WM8960 handle structure pointer. |
Definition at line 116 of file fsl_wm8960.c.
uint32_t WM8960_GetVolume | ( | wm8960_handle_t * | handle, |
wm8960_module_t | module | ||
) |
Get the volume of different modules in WM8960.
This function gets the volume of WM8960 modules. Uses need to appoint the module. The function assume that left channel and right channel has the same volume.
handle | WM8960 handle structure. |
module | Module to set volume, it can be ADC, DAC, Headphone and so on. |
Definition at line 432 of file fsl_wm8960.c.
status_t WM8960_Init | ( | wm8960_handle_t * | handle, |
const wm8960_config_t * | wm8960Config | ||
) |
WM8960 initialize function.
The second parameter is NULL to WM8960 in this version. If users want to change the settings, they have to use wm8960_write_reg() or wm8960_modify_reg() to set the register value of WM8960. Note: If the codec_config is NULL, it would initialize WM8960 using default settings. The default setting: codec_config->route = kWM8960_RoutePlaybackandRecord codec_config->bus = kWM8960_BusI2S codec_config->master = slave
handle | WM8960 handle structure. |
wm8960Config | WM8960 configuration structure. |
Definition at line 38 of file fsl_wm8960.c.
status_t WM8960_ModifyReg | ( | wm8960_handle_t * | handle, |
uint8_t | reg, | ||
uint16_t | mask, | ||
uint16_t | val | ||
) |
Modify some bits in the register using I2C.
handle | WM8960 handle structure. |
reg | The register address in WM8960. |
mask | The mask code for the bits want to write. The bit you want to write should be 0. |
val | Value needs to write into the register. |
Definition at line 630 of file fsl_wm8960.c.
status_t WM8960_ReadReg | ( | uint8_t | reg, |
uint16_t * | val | ||
) |
Read register from WM8960 using I2C.
reg | The register address in WM8960. |
val | Value written to. |
Definition at line 618 of file fsl_wm8960.c.
status_t WM8960_SetDataRoute | ( | wm8960_handle_t * | handle, |
wm8960_route_t | route | ||
) |
Set audio data route in WM8960.
This function would set the data route according to route. The route cannot be combined, as all route would enable different modules. Note: If a new route is set, the previous route would not work.
handle | WM8960 handle structure. |
route | Audio data route in WM8960. |
Definition at line 201 of file fsl_wm8960.c.
status_t WM8960_SetJackDetect | ( | wm8960_handle_t * | handle, |
bool | isEnabled | ||
) |
Enable/disable jack detect feature.
handle | WM8960 handle structure. |
isEnabled | Enable or disable moudles. |
Definition at line 584 of file fsl_wm8960.c.
status_t WM8960_SetLeftInput | ( | wm8960_handle_t * | handle, |
wm8960_input_t | input | ||
) |
Set left audio input source in WM8960.
handle | WM8960 handle structure. |
input | Audio input source. |
Definition at line 269 of file fsl_wm8960.c.
void WM8960_SetMasterSlave | ( | wm8960_handle_t * | handle, |
bool | master | ||
) |
Set WM8960 as master or slave.
handle | WM8960 handle structure. |
master | 1 represent master, 0 represent slave. |
Definition at line 128 of file fsl_wm8960.c.
status_t WM8960_SetModule | ( | wm8960_handle_t * | handle, |
wm8960_module_t | module, | ||
bool | isEnabled | ||
) |
Enable/disable expected devices.
handle | WM8960 handle structure. |
module | Module expected to enable. |
isEnabled | Enable or disable moudles. |
Definition at line 140 of file fsl_wm8960.c.
status_t WM8960_SetMute | ( | wm8960_handle_t * | handle, |
wm8960_module_t | module, | ||
bool | isEnabled | ||
) |
Mute modules in WM8960.
handle | WM8960 handle structure. |
module | Modules need to be mute. |
isEnabled | Mute or unmute, 1 represent mute. |
Definition at line 460 of file fsl_wm8960.c.
status_t WM8960_SetPlay | ( | wm8960_handle_t * | handle, |
uint32_t | playSource | ||
) |
SET the WM8960 play source.
handle | WM8960 handle structure. |
playSource | play source , can be a value combine of kWM8960_ModuleHeadphoneSourcePGA, kWM8960_ModuleHeadphoneSourceDAC, kWM8960_ModulePlaySourceInput, kWM8960_ModulePlayMonoRight, kWM8960_ModulePlayMonoLeft. |
Definition at line 649 of file fsl_wm8960.c.
status_t WM8960_SetProtocol | ( | wm8960_handle_t * | handle, |
wm8960_protocol_t | protocol | ||
) |
Set the audio transfer protocol.
WM8960 only supports I2S, left justified, right justified, PCM A, PCM B format.
handle | WM8960 handle structure. |
protocol | Audio data transfer protocol. |
Definition at line 373 of file fsl_wm8960.c.
status_t WM8960_SetRightInput | ( | wm8960_handle_t * | handle, |
wm8960_input_t | input | ||
) |
Set right audio input source in WM8960.
handle | WM8960 handle structure. |
input | Audio input source. |
Definition at line 321 of file fsl_wm8960.c.
status_t WM8960_SetVolume | ( | wm8960_handle_t * | handle, |
wm8960_module_t | module, | ||
uint32_t | volume | ||
) |
Set the volume of different modules in WM8960.
This function would set the volume of WM8960 modules. Uses need to appoint the module. The function assume that left channel and right channel has the same volume.
handle | WM8960 handle structure. |
module | Module to set volume, it can be ADC, DAC, Headphone and so on. |
volume | Volume value need to be set. |
Definition at line 378 of file fsl_wm8960.c.
status_t WM8960_WriteReg | ( | wm8960_handle_t * | handle, |
uint8_t | reg, | ||
uint16_t | val | ||
) |
Write register to WM8960 using I2C.
handle | WM8960 handle structure. |
reg | The register address in WM8960. |
val | Value needs to write into the register. |
Definition at line 605 of file fsl_wm8960.c.
uint32_t _wm8960_audio_format::bitWidth |
bit width
Definition at line 300 of file fsl_wm8960.h.
wm8960_protocol_t wm8960_config::bus |
Audio transfer protocol
Definition at line 307 of file fsl_wm8960.h.
const wm8960_config_t* _wm8960_handle::config |
wm8904 config pointer
Definition at line 322 of file fsl_wm8960.h.
bool wm8960_config::enableSpeaker |
True means enable class D speaker as output, false means no
Definition at line 310 of file fsl_wm8960.h.
wm8960_audio_format_t wm8960_config::format |
Audio format
Definition at line 308 of file fsl_wm8960.h.
codec_i2c_config_t wm8960_config::i2cConfig |
i2c configuration
Definition at line 315 of file fsl_wm8960.h.
uint8_t _wm8960_handle::i2cHandle[WM8960_I2C_HANDLER_SIZE] |
i2c handle
Definition at line 323 of file fsl_wm8960.h.
wm8960_input_t wm8960_config::leftInputSource |
Left input source for WM8960
Definition at line 311 of file fsl_wm8960.h.
bool wm8960_config::master_slave |
Master or slave.
Definition at line 309 of file fsl_wm8960.h.
uint32_t _wm8960_audio_format::mclk_HZ |
master clock frequency
Definition at line 298 of file fsl_wm8960.h.
wm8960_play_source_t wm8960_config::playSource |
play source
Definition at line 313 of file fsl_wm8960.h.
wm8960_input_t wm8960_config::rightInputSource |
Right input source for wm8960
Definition at line 312 of file fsl_wm8960.h.
wm8960_route_t wm8960_config::route |
Audio data route.
Definition at line 306 of file fsl_wm8960.h.
uint32_t _wm8960_audio_format::sampleRate |
sample rate
Definition at line 299 of file fsl_wm8960.h.
uint8_t wm8960_config::slaveAddress |
wm8960 device address
Definition at line 314 of file fsl_wm8960.h.