13f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani/****************************************************************************
23f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani ****************************************************************************
33f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani ***
43f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani ***   This header was automatically generated from a Linux kernel header
53f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani ***   of the same name, to make information necessary for userspace to
63f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani ***   call into the kernel available to libc.  It contains only constants,
73f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani ***   structures, and macros generated from the original header, and thus,
83f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani ***   contains no copyrightable information.
93f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani ***
103f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani ***   To edit the content of this header, modify the corresponding
113f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani ***   source file (e.g. under external/kernel-headers/original/) then
123f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani ***   run bionic/libc/kernel/tools/update_all.py
133f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani ***
143f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani ***   Any manual change here will be lost the next time this script will
153f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani ***   be run. You've been warned!
163f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani ***
173f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani ****************************************************************************
183f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani ****************************************************************************/
193f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#ifndef __UAPI_MFD_MSM_ADIE_CODEC_H
203f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define __UAPI_MFD_MSM_ADIE_CODEC_H
213f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#include <linux/types.h>
223f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define ADIE_CODEC_ACTION_ENTRY 0x1
233f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
243f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define ADIE_CODEC_ACTION_DELAY_WAIT 0x2
253f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define ADIE_CODEC_ACTION_STAGE_REACHED 0x3
263f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define ADIE_CODEC_PATH_OFF 0x0050
273f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define ADIE_CODEC_DIGITAL_READY 0x0100
283f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
293f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define ADIE_CODEC_DIGITAL_ANALOG_READY 0x1000
303f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define ADIE_CODEC_ANALOG_OFF 0x0750
313f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define ADIE_CODEC_DIGITAL_OFF 0x0600
323f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define ADIE_CODEC_FLASH_IMAGE 0x0001
333f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
343f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define ADIE_CODEC_RX 0
353f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define ADIE_CODEC_TX 1
363f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define ADIE_CODEC_LB 3
373f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define ADIE_CODEC_MAX 4
383f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
393f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define ADIE_CODEC_PACK_ENTRY(reg,mask,val) ((val) | (mask << 8) | (reg << 16))
403f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define ADIE_CODEC_UNPACK_ENTRY(packed,reg,mask,val) do { ((reg) = ((packed >> 16) & (0xff))); ((mask) = ((packed >> 8) & (0xff))); ((val) = ((packed) & (0xff))); } while(0);
413f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malanistruct adie_codec_action_unit {
423f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  u32 type;
433f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
443f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  u32 action;
453f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani};
463f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malanistruct adie_codec_hwsetting_entry {
473f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  struct adie_codec_action_unit * actions;
483f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
493f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  u32 action_sz;
503f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  u32 freq_plan;
513f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  u32 osr;
523f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani};
533f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
543f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malanistruct adie_codec_dev_profile {
553f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  u32 path_type;
563f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  u32 setting_sz;
573f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  struct adie_codec_hwsetting_entry * settings;
583f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
593f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani};
603f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malanistruct adie_codec_register {
613f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  u8 reg;
623f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  u8 mask;
633f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
643f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  u8 val;
653f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani};
663f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malanistruct adie_codec_register_image {
673f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  struct adie_codec_register * regs;
683f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
693f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  u32 img_sz;
703f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani};
713f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malanistruct adie_codec_path;
723f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malanistruct adie_codec_anc_data {
733f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
743f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  u32 size;
753f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  u32 writes[];
763f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani};
773f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malanistruct adie_codec_operations {
783f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
793f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  int codec_id;
803f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  int(* codec_open) (struct adie_codec_dev_profile * profile, struct adie_codec_path * * path_pptr);
813f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  int(* codec_close) (struct adie_codec_path * path_ptr);
823f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  int(* codec_setpath) (struct adie_codec_path * path_ptr, u32 freq_plan, u32 osr);
833f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
843f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  int(* codec_proceed_stage) (struct adie_codec_path * path_ptr, u32 state);
853f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  u32(* codec_freq_supported) (struct adie_codec_dev_profile * profile, u32 requested_freq);
863f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  int(* codec_enable_sidetone) (struct adie_codec_path * rx_path_ptr, u32 enable);
873f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  int(* codec_enable_anc) (struct adie_codec_path * rx_path_ptr, u32 enable, struct adie_codec_anc_data * calibration_writes);
883f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
893f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  int(* codec_set_device_digital_volume) (struct adie_codec_path * path_ptr, u32 num_channels, u32 vol_percentage);
903f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  int(* codec_set_device_analog_volume) (struct adie_codec_path * path_ptr, u32 num_channels, u32 volume);
913f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani  int(* codec_set_master_mode) (struct adie_codec_path * path_ptr, u8 master);
923f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani};
933f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
943f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#endif
95464aadab995fc0ef1616362ad795e9a3ba6c4f16Tom Cherry
96