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