Files
android/sound/soc/codecs/as33970/as33970.h
T
threeeye bc1d038eac REVVL 6 Pro kernel bring-up: full working tree snapshot (2026-09-12)
Squashed backup commit (no shallow-clone history issues) of
xiaomi-mt6833-dev/kernel_xiaomi_mt6833 (lineage-23.2 branch, upstream
commit 9eece662e) plus all fixes applied to get everpal_defconfig building
clean against a modern (GCC 15.2.0) toolchain -- see the previous commit
message on the lineage-23.2 branch (also in this repo history is not
available here since this is a squashed snapshot; full incremental history
lives in the local DL380 checkout and the upstream GitHub remote).

Upstream: https://github.com/xiaomi-mt6833-dev/kernel_xiaomi_mt6833 (lineage-23.2)
2026-09-12 13:36:46 +00:00

152 lines
5.1 KiB
C

/*
* cx2092x.h -- CX20921 and CX20924 Audio driver
*
* Copyright: (C) 2017 Conexant Systems, Inc.
*
* This is based on Alexander Sverdlin's CS4271 driver code.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
*/
#ifndef __CX33970_PRIV_H__
#define __CX33970_PRIV_H__
#define CX33970_REG_MAX 0x2000
enum {
CONTROL_APP_VERSION = 3,
CONTROL_APP_EXEC_FILE = 4,
CONTROL_APP_FW_UPGD = 33,
SOS_RESOURCE = 47,
CONTROL_MGR_TUNED_MODES = 85,
CONTROL_MGR_PARAMETER_VALUE = 90,
CONTROL_APP_GET_MODE = 0x12f,
} control_app_command_code;
enum {
FAC_STOP_RECORD = 0,
FAC_MIC1_RECORD,
FAC_MIC2_RECORD,
FAC_ECHO_REF,
} fac_test_cmd;
enum {
SYS_CMD_VERSION = 1,
SYS_CMD_SOFTRESET = 3,
SYS_CMD_EXEC_FILE = 9,
SYS_CMD_PARAMETER_VALUE = 14,
SYS_CMD_EVENT_PARAM = 15,
SYS_CMD_MODE_ID = 19,
SYS_CMD_SCRIPT_DATA = 20,
SYS_CMD_BL_VERSION = 26,
SYS_CMD_CURRENT_SYS_PARTITION = 28,
SYS_CMD_IPC_CMD = 37,
SYS_CMD_IPC_MSG = 38
} SysCmdCode;
enum {
EVENT_PAR_I2S_IDX = 29,
PAR_INDEX_EVENT_ARG0 = 32
} ParProcessIndex;
enum {
EVENT_PAR_RATE_MAIN_INPUT = PAR_INDEX_EVENT_ARG0,
EVENT_PAR_RATE_EC_REF = PAR_INDEX_EVENT_ARG0 + 5,
//Used by Freeman3 on tahiti, careful when modify its value.
EVENT_PAR_RATE_HOST_RECORD = PAR_INDEX_EVENT_ARG0 + 6,
EVENT_PAR_RATE_INDX_EC_REF = PAR_INDEX_EVENT_ARG0 + 7,
EVENT_PAR_RATE_INDX_HOST_RECORD = PAR_INDEX_EVENT_ARG0 + 8,
EVENT_PAR_RATE_INDX_USB_HOST_RECORD = PAR_INDEX_EVENT_ARG0 + 9,
EVENT_PAR_RATE_INDX_USB_HOST_PLAYBACK = PAR_INDEX_EVENT_ARG0 + 10,
EVENT_PAR_USB_RECORD_STATE = PAR_INDEX_EVENT_ARG0 + 11,
EVENT_PAR_VOL_USB_RECORD_CH0 = PAR_INDEX_EVENT_ARG0 + 12,
EVENT_PAR_VOL_USB_RECORD_CH1 = PAR_INDEX_EVENT_ARG0 + 13,
EVENT_PAR_USB_PLAYBACK_STATE = PAR_INDEX_EVENT_ARG0 + 18,
EVENT_PAR_VOL_USB_PLAYBACK_CH0 = PAR_INDEX_EVENT_ARG0 + 19,
EVENT_PAR_VOL_USB_PLAYBACK_CH1 = PAR_INDEX_EVENT_ARG0 + 20,
EVENT_PAR_ANC_FF_CALIB_GAIN = PAR_INDEX_EVENT_ARG0 + 21,
EVENT_PAR_ANC_FB_CALIB_GAIN = PAR_INDEX_EVENT_ARG0 + 22,
EVENT_PAR_ANC_PLBK_CANC_CALIB_GAIN = PAR_INDEX_EVENT_ARG0 + 23,
EVENT_PAR_AMB_INCL_CALIB_GAIN = PAR_INDEX_EVENT_ARG0 + 24,
EVENT_PAR_PLBK_CALIB_GAIN = PAR_INDEX_EVENT_ARG0 + 25,
EVENT_PAR_PSAP_CALIB_GAIN = PAR_INDEX_EVENT_ARG0 + 26,
EVENT_PAR_TRIG_DETECTED_INDEX = PAR_INDEX_EVENT_ARG0 + 40,
EVENT_PAR_ANC_PROFILE_LEFT = PAR_INDEX_EVENT_ARG0 + 48, //
EVENT_PAR_ANC_PROFILE_RIGHT = PAR_INDEX_EVENT_ARG0 + 49, //
EVENT_PAR_EAR_ROLE = PAR_INDEX_EVENT_ARG0 + 50, //
} EventParIndex;
enum {
EVENT_SAMPLE_RATE_CHANGE = 1 << 0, //used by software caf
EVENT_USB_RECORD_STARTSTOP = 1 << 1,
EVENT_USB_RECORD_SAMPLE_RATE_CHANGE = 1 << 2,
EVENT_VOLUME_CHANGE_MUTE_USB_RECORD = 1 << 3,
EVENT_VOLUME_CHANGE_USB_RECORD = 1 << 4,
EVENT_USB_PLAYBACK_STARTSTOP = 1 << 5,
EVENT_USB_PLAYBACK_SAMPLE_RATE_CHANGE = 1 << 6,
EVENT_VOLUME_CHANGE_USB_PLAYBACK = 1 << 7,
EVENT_TRIG_DETECTED = 1 << 8,
EVENT_CMND_DETECTED = 1 << 9,
EVENT_CADENCE_END = 1 << 10,
EVENT_CUSTOM_0 = 1 << 11,
EVENT_GPIO0_INPUT_SERVICE = 1 << 12,
EVENT_GPIO1_INPUT_SERVICE = 1 << 13,
EVENT_GPIO2_INPUT_SERVICE = 1 << 14,
EVENT_GPIO3_INPUT_SERVICE = 1 << 15,
EVENT_GPIO4_INPUT_SERVICE = 1 << 16,
EVENT_MIC_MUTE_STATE = 1 << 17,
EVENT_AVAD_DETECTED = 1 << 18,
EVENT_ANC_CONTROL = 1 << 19,
EVENT_DYNAMIC_MIC_CHANGE = 1 << 20,
EVENT_ANC_PROFILE = 1 << 21,
EVENT_AF_CONTROL = 1 << 22,
EVENT_TRIG_VAD_HANGOVER = 1 << 23,
EVENT_LP_TRIG_DETECTED = 1 << 24,
} EventId;
enum {
PAR_INDEX_I2S_RX_WIDTH = 14,
PAR_INDEX_I2S_RX_DELAY = 15,
PAR_INDEX_I2S_RX_JUSTIFY = 16,
PAR_INDEX_I2S_RX_LR_POLARITY = 17,
PAR_INDEX_I2S_RX_NUM_OF_BITS = 18,
PAR_INDEX_I2S_TX_WIDTH = 19,
PAR_INDEX_I2S_TX_DELAY = 20,
PAR_INDEX_I2S_TX_JUSTIFY = 21,
PAR_INDEX_I2S_TX_LR_POLARITY = 22,
PAR_INDEX_I2S_TX_NUM_OF_BITS = 23,
PAR_INDEX_OUTPUT_MCLK_FREQ = 24,
} i2s_fmt;
enum {
MCLK_DISABLE = 0,
MCLK_FREQ_24_5760,
MCLK_FREQ_12_2880,
MCLK_FREQ_8_1920,
MCLK_FREQ_6_1440,
MCLK_FREQ_4_9152,
MCLK_FREQ_4_0960,
MCLK_FREQ_3_5109,
MCLK_FREQ_3_0720,
MCLK_FREQ_2_7307,
MCLK_FREQ_2_4576,
MCLK_FREQ_2_2342,
MCLK_FREQ_2_0480,
MCLK_FREQ_1_8905,
MCLK_FREQ_1_7554,
MCLK_FREQ_1_6384,
MCLK_FREQ_1_5360,
MAX_NUM_MCLK_FREQS
} mclk_freqs;
#define EVENT_PAR_RATE_INDX_EXTRA_INPUT (61)
#define EVENT_PAR_RATE_INDX_MAIN_OUTPUT (62)
#define CHANNEL_MIXER_CMD_CONFIG 0x0040
#endif