blob: 698d545d5aab1a2ab87665787f80db96373c06a3 [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0 OR Apache-2.0 */
/*
* Google Whitechapel Audio Metrics Driver User Interface
*
* Copyright (c) 2021 Google LLC
*
*/
#ifndef _AUDIOMETRICS_API_H
#define _AUDIOMETRICS_API_H
#include <linux/ioctl.h>
#include <linux/types.h>
#define AMCS_IOCTL_MAGIC 0xAD
struct amcs_ion_handle {
uint32_t handle;
int32_t fd;
};
#define AMCS_PARAMS_LENGTH_MAX 8
struct amcs_params {
uint32_t op;
uint32_t ret;
int32_t val[AMCS_PARAMS_LENGTH_MAX];
};
enum amcs_params_op2_counter_cmd {
AMCS_OP2_GET,
AMCS_OP2_SET,
AMCS_OP2_PARAMS_MAX,
};
enum amcs_params_op {
AMCS_OP_CODEC_STATUS,
AMCS_OP_CODEC_STATUS_HS,
AMCS_OP_SPEAKER_IMP,
AMCS_OP_SPEAKER_TEMP,
AMCS_OP_SPEAKER_EXCUR,
AMCS_OP_SPEAKER_HEART,
AMCS_OP_WDSP_STAT,
AMCS_OP_HW_PN,
AMCS_OP_MIC_BROKEN_DEGRADE,
AMCS_OP_COUNTER,
AMCS_OP_AMS,
AMCS_OP_AMS_INCREASE,
AMCS_OP_PARAMS_MAX,
};
#define AMCS_IOCTL_METRIC_UPDATE _IOWR(AMCS_IOCTL_MAGIC, 0xD0, struct amcs_params)
#define AMCS_IOCTL_METRIC_GET_ION_FD _IOWR(AMCS_IOCTL_MAGIC, 0xD1, struct amcs_ion_handle)
#endif /* _AUDIOMETRICS_API_H */