Files
admin dac37fd077
Make sure docs are updated / settings_md (push) Canceled after 0s
Build firmware / test (push) Canceled after 0s
Build firmware / build-SITL-Windows (push) Canceled after 0s
Build firmware / build-SITL-Mac (push) Canceled after 0s
Build firmware / build-SITL-Linux (push) Canceled after 0s
Build firmware / build-SITL-Linux-arm64 (push) Canceled after 0s
Build firmware / upload-artifacts (push) Canceled after 0s
Build firmware / build-single-target (push) Canceled after 0s
Build firmware / build (9) (push) Canceled after 0s
Build firmware / build (8) (push) Canceled after 0s
Build firmware / build (7) (push) Canceled after 0s
Build firmware / build (6) (push) Canceled after 0s
Build firmware / build (5) (push) Canceled after 0s
Build firmware / build (4) (push) Canceled after 0s
Build firmware / build (3) (push) Canceled after 0s
Build firmware / build (2) (push) Canceled after 0s
Build firmware / build (14) (push) Canceled after 0s
Build firmware / build (13) (push) Canceled after 0s
Build firmware / build (12) (push) Canceled after 0s
Build firmware / build (11) (push) Canceled after 0s
Build firmware / build (10) (push) Canceled after 0s
Build firmware / build (1) (push) Canceled after 0s
Build firmware / build (0) (push) Canceled after 0s
Build firmware / detect (push) Canceled after 0s
Build pre-release / build (push) Canceled after 0s
Build pre-release / Release (push) Canceled after 0s
Sync inav to Gitea
2026-08-03 16:37:40 +08:00

129 lines
4.0 KiB
C

/**
******************************************************************************
* @file cs42l51_reg.h
* @author MCD Application Team
* @brief Header of cs42l51_reg.c
*
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2018 STMicroelectronics.
* All rights reserved.</center></h2>
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
******************************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef CS42L51_REG_H
#define CS42L51_REG_H
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
/** @addtogroup BSP
* @{
*/
/** @addtogroup Component
* @{
*/
/** @addtogroup CS42L51
* @{
*/
/** @defgroup CS42L51_Exported_Constants CS42L51 Exported Constants
* @{
*/
/******************************************************************************/
/****************************** REGISTER MAPPING ******************************/
/******************************************************************************/
#define CS42L51_CHIP_ID 0x01U
#define CS42L51_PWR_CTRL_1 0x02U
#define CS42L51_MIC_PWR_SPEED_CTRL 0x03U
#define CS42L51_INTERFACE_CTRL 0x04U
#define CS42L51_MIC_CTRL 0x05U
#define CS42L51_ADC_CTRL 0x06U
#define CS42L51_ADCX_INPUT_SELECT 0x07U
#define CS42L51_DAC_OUTPUT_CTRL 0x08U
#define CS42L51_DAC_CTRL 0x09U
#define CS42L51_ALCA_PGAA_CTRL 0x0AU
#define CS42L51_ALCB_PGAB_CTRL 0x0BU
#define CS42L51_ADCA_ATTENUATOR 0x0CU
#define CS42L51_ADCB_ATTENUATOR 0x0DU
#define CS42L51_ADCA_MIXER_VOL_CTRL 0x0EU
#define CS42L51_ADCB_MIXER_VOL_CTRL 0x0FU
#define CS42L51_PCMA_MIXER_VOL_CTRL 0x10U
#define CS42L51_PCMB_MIXER_VOL_CTRL 0x11U
#define CS42L51_BEEP_FREQ_AND_TIMING_CFG 0x12U
#define CS42L51_BEEP_OFF_TIME_AND_VOL 0x13U
#define CS42L51_BEEP_CFG_AND_TONE_CFG 0x14U
#define CS42L51_TONE_CTRL 0x15U
#define CS42L51_AOUTA_VOL_CTRL 0x16U
#define CS42L51_AOUTB_VOL_CTRL 0x17U
#define CS42L51_ADC_PCM_CHANNEL_MIXER 0x18U
#define CS42L51_LIMITER_THR_SZC_DISABLE 0x19U
#define CS42L51_LIMITER_RELEASE_RATE_REG 0x1AU
#define CS42L51_LIMITER_ATTACK_RATE_REG 0x1BU
#define CS42L51_ALC_ENABLE_AND_ATTACK_RATE 0x1CU
#define CS42L51_ALC_RELEASE_RATE 0x1DU
#define CS42L51_ALC_THR 0x1EU
#define CS42L51_NOISE_GATE_CFG_AND_MISC 0x1FU
#define CS42L51_STATUS 0x20U
#define CS42L51_CHARGE_PUMP_FREQ 0x21U
/**
* @}
*/
/************** Generic Function *******************/
typedef int32_t (*CS42L51_Write_Func)(void *, uint16_t, uint8_t*, uint16_t);
typedef int32_t (*CS42L51_Read_Func) (void *, uint16_t, uint8_t*, uint16_t);
typedef struct
{
CS42L51_Write_Func WriteReg;
CS42L51_Read_Func ReadReg;
void *handle;
} cs42l51_ctx_t;
/*******************************************************************************
* Register : Generic - All
* Address : Generic - All
* Bit Group Name: None
* Permission : W
*******************************************************************************/
int32_t cs42l51_write_reg(cs42l51_ctx_t *ctx, uint16_t reg, uint8_t *data, uint16_t length);
int32_t cs42l51_read_reg(cs42l51_ctx_t *ctx, uint16_t reg, uint8_t* data, uint16_t length);
#ifdef __cplusplus
}
#endif
#endif /* CS42L51_REG_H */
/**
* @}
*/
/**
* @}
*/
/**
* @}
*/
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/