mcu_hi3321_watch/application/audio/vendor/aw88262/aw88262.h
2025-05-26 20:15:20 +08:00

94 lines
2.9 KiB
C

/*
* Copyright (c) CompanyNameMagicTag 2020-2021. All rights reserved.
* Description: header file for AW88262 driver
*/
#ifndef AW88262_PA_H
#define AW88262_PA_H
#include "soc_uapi_vendor.h"
/* registers list */
#define AW88262_ID_REG (0x00)
#define AW88262_SYSST_REG (0x01)
#define AW88262_SYSINT_REG (0x02)
#define AW88262_SYSINTM_REG (0x03)
#define AW88262_SYSCTRL_REG (0x04)
#define AW88262_SYSCTRL2_REG (0x05)
#define AW88262_I2SCTRL_REG (0x06)
#define AW88262_I2SCFG1_REG (0x07)
#define AW88262_I2SCFG2_REG (0x08)
#define AW88262_HAGCCFG1_REG (0x09)
#define AW88262_HAGCCFG2_REG (0x0A)
#define AW88262_HAGCCFG3_REG (0x0B)
#define AW88262_HAGCCFG4_REG (0x0C)
#define AW88262_HAGCCFG5_REG (0x0D)
#define AW88262_HAGCCFG6_REG (0x0E)
#define AW88262_HAGCCFG7_REG (0x0F)
#define AW88262_HAGCST_REG (0x10)
#define AW88262_PRODID_REG (0x11)
#define AW88262_VBAT_REG (0x12)
#define AW88262_TEMP_REG (0x13)
#define AW88262_PVDD_REG (0x14)
#define AW88262_DBGCTRL_REG (0x20)
#define AW88262_I2SINT_REG (0x21)
#define AW88262_I2SCAPCNT_REG (0x22)
#define AW88262_CRCIN_REG (0x38)
#define AW88262_CRCOUT_REG (0x39)
#define AW88262_VSNCTRL1_REG (0x50)
#define AW88262_ISNCTRL1_REG (0x52)
#define AW88262_ISNCTRL2_REG (0x53)
#define AW88262_VTMCTRL1_REG (0x54)
#define AW88262_VTMCTRL2_REG (0x55)
#define AW88262_VTMCTRL3_REG (0x56)
#define AW88262_ISNDAT_REG (0x57)
#define AW88262_VSNDAT_REG (0x58)
#define AW88262_PWMCTRL_REG (0x59)
#define AW88262_PWMCTRL2_REG (0x5A)
#define AW88262_BSTCTRL1_REG (0x60)
#define AW88262_BSTCTRL2_REG (0x61)
#define AW88262_BSTCTRL3_REG (0x62)
#define AW88262_BSTDBG1_REG (0x63)
#define AW88262_BSTDBG2_REG (0x64)
#define AW88262_BSTDBG3_REG (0x65)
#define AW88262_PLLCTRL1_REG (0x66)
#define AW88262_PLLCTRL2_REG (0x67)
#define AW88262_PLLCTRL3_REG (0x68)
#define AW88262_CDACTRL1_REG (0x69)
#define AW88262_CDACTRL2_REG (0x6A)
#define AW88262_SADCCTRL_REG (0x6B)
#define AW88262_TESTCTRL1_REG (0x70)
#define AW88262_TESTCTRL2_REG (0x71)
#define AW88262_EFCTRL1_REG (0x72)
#define AW88262_EFCTRL2_REG (0x73)
#define AW88262_EFWH_REG (0x74)
#define AW88262_EFWM2_REG (0x75)
#define AW88262_EFWM1_REG (0x76)
#define AW88262_EFWL_REG (0x77)
#define AW88262_EFRH_REG (0x78)
#define AW88262_EFRM2_REG (0x79)
#define AW88262_EFRM1_REG (0x7A)
#define AW88262_EFRL_REG (0x7B)
#define AW88262_TESTDET_REG (0x7C)
#define AW88262_CHIP_ID 0x1852
#define REG_UNITE_SHIFT_COUNT 8
#define I2C_SEND_DATA_SHIFT_COUNT 8
#define REG_BIT_SHIFT_COUNT 4
#define REC_I2C_DATA_LEN 2
#define DELAY_MTIME 5
#define AW88262_MUTE 1
#define AW88262_UNMUTE 0
#define READ_DATA_SIZE 2
#define VCALB_OFFSET 13
#define ICALK_NEG_MASK 0xFC00
#define VCALK_NEG_MASK 0xFC00
#define CABL_BASE_VALUE 0x1000
#define ICALK_SIGN_MASK 0x200
#define VCALK_SIGN_MASK 0x200
td_s32 audio_aw88262_init(const uapi_vendor_codec_attr *attr);
td_s32 audio_aw88262_deinit(td_void);
#endif