summaryrefslogtreecommitdiff
path: root/include/audio_codec.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/audio_codec.h')
-rw-r--r--include/audio_codec.h259
1 files changed, 0 insertions, 259 deletions
diff --git a/include/audio_codec.h b/include/audio_codec.h
deleted file mode 100644
index b80d1c0f57..0000000000
--- a/include/audio_codec.h
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
- * Copyright 2019 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef __CROS_EC_AUDIO_CODEC_H
-#define __CROS_EC_AUDIO_CODEC_H
-
-#include "stdint.h"
-
-/*
- * Common abstract layer
- */
-
-/*
- * Checks capability of audio codec.
- *
- * @cap is an integer from enum ec_codec_cap. Note that it represents a
- * bit field in a 32-bit integer. The valid range is [0, 31].
- *
- * Returns:
- * 1 if audio codec capabilities include cap passed as parameter.
- * 0 if not capable.
- */
-int audio_codec_capable(uint8_t cap);
-
-/*
- * Registers shared memory (SHM).
- *
- * @shm_id is a SHM identifier from enum ec_codec_shm_id.
- * @cap is an integer from enum ec_codec_cap.
- * @addr is the address pointer to the SHM.
- * @len is the maximum length of the SHM.
- * @type is an integer from enum ec_codec_shm_type.
- *
- * Returns:
- * EC_SUCCESS if success.
- * EC_ERROR_UNKNOWN if internal errors.
- * EC_ERROR_INVAL if invalid shm_id.
- * EC_ERROR_INVAL if invalid cap.
- * EC_ERROR_BUSY if the shm_id has been registered.
- */
-int audio_codec_register_shm(uint8_t shm_id, uint8_t cap,
- uintptr_t *addr, uint32_t len, uint8_t type);
-
-/*
- * Translates the physical address from AP to EC's memory space. Required if
- * wants to use AP SHM.
- *
- * @ap_addr is physical address from AP.
- * @ec_addr is the translation destination.
- *
- * Returns:
- * EC_SUCCESS if success.
- * EC_ERROR_UNKNOWN if internal errors.
- * EC_ERROR_UNIMPLEMENTED if no concrete implementation.
- */
-int audio_codec_memmap_ap_to_ec(uintptr_t ap_addr, uintptr_t *ec_addr);
-
-/*
- * Scales a S16_LE sample by multiplying scalar.
- */
-int16_t audio_codec_s16_scale_and_clip(int16_t orig, uint8_t scalar);
-
-
-/*
- * DMIC abstract layer
- */
-
-/*
- * Gets the maximum possible gain value. All channels share the same maximum
- * gain value [0, max].
- *
- * The gain has no unit and should fit in a scale to represent relative dB.
- *
- * For example, suppose maximum possible gain value is 4, one could define a
- * mapping:
- * - 0 => -10 dB
- * - 1 => -5 dB
- * - 2 => 0 dB
- * - 3 => 5 dB
- * - 4 => 10 dB
- *
- * @max_gain is the destination address to put the gain value.
- *
- * Returns:
- * EC_SUCCESS if success.
- * EC_ERROR_UNKNOWN if internal error.
- */
-int audio_codec_dmic_get_max_gain(uint8_t *max_gain);
-
-/*
- * Sets the microphone gain for the specified channel.
- *
- * @channel is an integer from enum ec_codec_dmic_channel. The valid range
- * is [0, 7].
- * @gain is the target gain for the specified channel. The valid range
- * is [0, max_gain]. See also audio_codec_dmic_get_max_gain.
- *
- * Returns:
- * EC_SUCCESS if success.
- * EC_ERROR_UNKNOWN if internal error.
- * EC_ERROR_INVAL if channel does not look good.
- * EC_ERROR_INVAL if gain does not look good.
- */
-int audio_codec_dmic_set_gain_idx(uint8_t channel, uint8_t gain);
-
-/*
- * Gets the microphone gain of the specified channel.
- *
- * @channel is an integer from enum ec_codec_dmic_channel. The valid range
- * is [0, 7].
- * @gain is the destination address to put the gain value of the channel.
- *
- * Returns:
- * EC_SUCCESS if success.
- * EC_ERROR_UNKNOWN if internal error.
- * EC_ERROR_INVAL if channel does not look good.
- */
-int audio_codec_dmic_get_gain_idx(uint8_t channel, uint8_t *gain);
-
-
-/*
- * I2S RX abstract layer
- */
-
-/*
- * Enables I2S RX.
- *
- * Returns:
- * EC_SUCCESS if success.
- * EC_ERROR_UNKNOWN if internal error.
- * EC_ERROR_BUSY if has enabled.
- */
-int audio_codec_i2s_rx_enable(void);
-
-/*
- * Disables I2S RX.
- *
- * Returns:
- * EC_SUCCESS if success.
- * EC_ERROR_UNKNOWN if internal error.
- * EC_ERROR_BUSY if has not enabled.
- */
-int audio_codec_i2s_rx_disable(void);
-
-/*
- * Sets I2S RX sample depth.
- *
- * @depth is an integer from enum ec_codec_i2s_rx_sample_depth.
- *
- * Returns:
- * EC_SUCCESS if success.
- * EC_ERROR_UNKNOWN if internal error.
- * EC_ERROR_INVAL if depth does not look good.
- */
-int audio_codec_i2s_rx_set_sample_depth(uint8_t depth);
-
-/*
- * Sets I2S RX DAI format.
- *
- * @daifmt is an integer from enum ec_codec_i2s_rx_daifmt.
- *
- * Returns:
- * EC_SUCCESS if success.
- * EC_ERROR_UNKNOWN if internal error.
- * EC_ERROR_INVAL if daifmt does not look good.
- */
-int audio_codec_i2s_rx_set_daifmt(uint8_t daifmt);
-
-/*
- * Sets I2S RX BCLK.
- *
- * @bclk is an integer to represent the bit clock rate.
- *
- * Returns:
- * EC_SUCCESS if success.
- * EC_ERROR_UNKNOWN if internal error.
- * EC_ERROR_INVAL if bclk does not look good.
- */
-int audio_codec_i2s_rx_set_bclk(uint32_t bclk);
-
-
-/*
- * WoV abstract layer
- */
-
-/*
- * Enables WoV.
- *
- * Returns:
- * EC_SUCCESS if success.
- * EC_ERROR_UNKNOWN if internal error.
- * EC_ERROR_BUSY if has enabled.
- */
-int audio_codec_wov_enable(void);
-
-/*
- * Disables WoV.
- *
- * Returns:
- * EC_SUCCESS if success.
- * EC_ERROR_UNKNOWN if internal error.
- * EC_ERROR_BUSY if has not enabled.
- */
-int audio_codec_wov_disable(void);
-
-/*
- * Reads the WoV audio data from chip.
- *
- * @buf is the target pointer to put the data.
- * @count is the maximum number of bytes to read.
- *
- * Returns:
- * -1 if any errors.
- * 0 if no data.
- * >0 if success. The returned value denotes number of bytes read.
- */
-int32_t audio_codec_wov_read(void *buf, uint32_t count);
-
-/*
- * Enables notification if WoV audio data is available.
- *
- * Returns:
- * EC_SUCCESS if success.
- * EC_ERROR_UNKNOWN if internal error.
- * EC_ERROR_BUSY if has enabled.
- * EC_ERROR_ACCESS_DENIED if the notifiee has not set.
- */
-int audio_codec_wov_enable_notifier(void);
-
-/*
- * Disables WoV data notification.
- *
- * Returns:
- * EC_SUCCESS if success.
- * EC_ERROR_UNKNOWN if internal error.
- * EC_ERROR_BUSY if has not enabled.
- * EC_ERROR_ACCESS_DENIED if the notifiee has not set.
- */
-int audio_codec_wov_disable_notifier(void);
-
-/*
- * Audio buffer for 2 seconds S16_LE, 16kHz, mono.
- */
-extern uintptr_t audio_codec_wov_audio_buf_addr;
-
-/*
- * Language model buffer for speech-micro. At least 67KB.
- */
-extern uintptr_t audio_codec_wov_lang_buf_addr;
-
-/*
- * Task for running WoV.
- */
-void audio_codec_wov_task(void *arg);
-
-#endif