# # INTEL CONFIDENTIAL # Copyright (c) 2013-2014 Intel # Corporation All Rights Reserved. # # The source code contained or described herein and all documents related to # the source code ("Material") are owned by Intel Corporation or its suppliers # or licensors. Title to the Material remains with Intel Corporation or its # suppliers and licensors. The Material contains trade secrets and proprietary # and confidential information of Intel or its suppliers and licensors. The # Material is protected by worldwide copyright and trade secret laws and # treaty provisions. No part of the Material may be used, copied, reproduced, # modified, published, uploaded, posted, transmitted, distributed, or # disclosed in any way without Intel's prior express written permission. # # No license under any patent, copyright, trade secret or other intellectual # property right is granted to or conferred upon you by disclosure or delivery # of the Materials, either expressly, by implication, inducement, estoppel or # otherwise. Any license under such intellectual property rights must be # express and approved by Intel in writing. # # # Audio HAL Configuration file: # # Parameter Framework Criterion type, criteria definition and rogue parameters for # generic device builds. # This configuration file is mostly for the definition of the elements of the PFW and their # link with Android Events such as parameters. # For more documentation on the PFW, please refer to the github link: # # https://github.com/01org/parameter-framework # ######################################################### # Rogue Parameter Example: # Note that wrapping table is not mandatory. ######################################################### # Route|Audio { # RogueParameter { # { # Type string|uint32_t # Default # Parameter # Path # [Mapping ,,...] # } # } # } ######################################################### # Criterion type Example: # For each criterion, a couple of numerical, literal values must be provided to the PFW. # The numerical part is not mandatory. If not filled by the user, a default numerical value will be # automatically provided by audio HAL using the following logic: # - Exclusive criterion: # * 0 -> first literal value, # * 1 -> second literal value, # ... # * N -> (N+1)th literal value. # - Inclusive criterion: # * 1 << 0 -> first literal value, # * 1 << 1 -> second literal value, # ... # * 1 << N -> (N+1)th literal value, # ######################################################### # Route|Audio { # InclusiveCriterionType|ExclusiveCriterionType { # [numerical value 1:],[numerical value 2:],,... # } # } ######################################################### # Criterion: # Note that parameter and mapping are not mandatory. # If given, it means that this criterion is associated to an Android Parameter Example: # If not, the criterion is standalone. ######################################################### # Route|Audio { # Criterion { # { # Type # Default # [Parameter ] # [Mapping ,...] # } # } # } ######################################################### # ModemValueSet: # Note that Instance field is not mandatory. # Each modem value provides three parameters identified # by their keys: # -call_status_[Instance]: Audio link established by # Modem and the type of audio. # -csv_band_type_[Instance]: Band type of audio link # such as NarrowBand, WideBand, SuperWideBand # -modem_state_[Instance]: On, Off (Off or Resetting) ######################################################### # ModemValueSet { # InterfaceLibrary libmamgr-xmm.so # [Instance xmm1] # } ModemValueSet { Modem1 { InterfaceLibrary libmamgr-xmm.so Instance xmm1 } } Audio { ExclusiveCriterionType { BooleanType False,True } Criterion { ModemAudioIsSpeech { Type BooleanType Parameter call_status_xmm1 Default False Mapping AudioDetach:False,AudioActive:False,VoiceActive:True } } } Route { InclusiveCriterionType { # # DO NOT CHANGE ORDER. This definition must be aligned with the definition of # AUDIO_DEVICE_OUT_* within file of android. # OutputDevicesMaskType Earpiece,Ihf,Headset,Headphones,Sco,ScoHeadset,ScoCarkit,A2dp,A2dpHeadphones,A2dpSpeaker,AuxDigital,AnlgDockHeadset,DgtlDockHeadset,UsbAccessory,UsbDevice,RemoteSubmix,TelephonyTx,Line,HdmiArc,Spdif,Fm,AuxLine,SpeakerSafe } InclusiveCriterionType { # # DO NOT CHANGE ORDER. This definition must be aligned with the definition of # AUDIO_DEVICE_IN_* within file of android. # Note also that direction bit will be decimated by AudioHAL in order to allow using a mask # with the cardinality of 1 between a bit and an input device. # InputDevicesMaskType Communication,Ambient,Main,ScoHeadset,Headset,AuxDigital,VoiceCall,Back,RemoteSubmix,AnlgDockHeadset,DgtlDockHeadset,UsbAccessory,UsbDevice,FmTuner,TvTune,Line,Spdif,BluetoothA2dp,Loopback } ExclusiveCriterionType { # # This definition must be aligned with the definition of AUDIO_DEVICE_IN_* within # file of android. # Note also that direction bit is included here. # This definition of criterion is intended to serve all parameters that provides a single # input device (e.g. LPAL device). # InputDeviceType 0x0:None,0x80000001:Communication,0x80000002:Ambient,0x80000004:Main,0x80000008:ScoHeadset,0x80000010:Headset,0x80000020:AuxDigital,0x80000040:VoiceCall,0x80000080:Back,0x80000100:RemoteSubmix,0x80000200:AnlgDockHeadset,0x80000400:DgtlDockHeadset,0x80000800:UsbAccessory,0x80001000:UsbDevice,0x80002000:FmTuner,0x80004000:TvTuner,0x80008000:Line,0x80010000:Spdif,0x80020000:BluetoothA2dp,0x80040000:Loopback } InclusiveCriterionType { OutputFlagsType Direct,Primary,Fast,Deep,Offload,NonBlocking,HwAvSync } InclusiveCriterionType { # # This definition must be aligned with the definition of AUDIO_DEVICE_IN_* within # file of android. The value of the input source is taken as a bit position # For Hotword, the shift is arbitrarily set to AUDIO_SOURCE_MAX # (as far as the max is encodable in a mask on 32 bits). # InputSourcesType Default,Mic,VoiceUplink,VoiceDownlink,VoiceCall,Camcorder,VoiceRecognition,VoiceCommunication,RemoteSubmix,Hotword } InclusiveCriterionType { PreProcessingType Aec,Agc,Ns,Bmf,Wnr } InclusiveCriterionType { TtyDirectionType Downlink,Uplink } ExclusiveCriterionType { AndroidModeType Normal,RingTone,InCsvCall,InVoipCall } ExclusiveCriterionType { BooleanType False,True } ExclusiveCriterionType { BandType Unknown,NB,WB,SuperWB } Criterion { OutputDevices { Type OutputDevicesMaskType Default none Parameter output_devices } } Criterion { InputDevices { Type InputDevicesMaskType Default none Parameter input_devices } } Criterion { OutputFlags { Type OutputFlagsType Default none } } Criterion { InputSources { Type InputSourcesType Default none } } Criterion { AndroidMode { Type AndroidModeType Default Normal Parameter android_mode } } Criterion { ModemAudioAvailable { Type BooleanType Parameter call_status_xmm1 Default False Mapping AudioDetach:False,AudioActive:True,VoiceActive:True } } Criterion { CsvBandType { Type BandType Default NB Parameter csv_band_type_xmm1 Mapping Narrow:NB,Wide:WB,Super Wide:SuperWB } } Criterion { ModemState { Type BooleanType Parameter modem_state_xmm1 Default False Mapping false:False,true:True } } Criterion { VoIPBandType { Type BandType Default NB } } Criterion { MicMute { Type BooleanType Default False Parameter mic_mute Mapping false:False,true:True } } Criterion { PreProcessorRequestedByActiveInput { Type PreProcessingType Default none } } Criterion { TtyDirection { Type TtyDirectionType Default none Parameter tty_mode Mapping tty_off:none,tty_vco:Downlink,tty_hco:Uplink,tty_full:Downlink|Uplink } } Criterion { ScreenOn { Type BooleanType Default False Parameter screen_state Mapping off:False,on:True } } Criterion { HacSelected { Type BooleanType Default False Parameter HACSetting Mapping OFF:False,ON:True } } Criterion { BtHeadsetNrEc { Type BooleanType Default False Parameter bt_headset_nrec Mapping off:True,on:False } } Criterion { BtHeadsetBandType { Type BandType Default NB Parameter bt_wbs Mapping off:NB,on:WB } } Criterion { ContextAwareness { Type BooleanType Default False Parameter context_awareness_status Mapping off:False,on:True } } Criterion { FmEnabled { Type BooleanType Default False Parameter route-fm Mapping off:False,speaker:True,headset:True } } Criterion { AlwaysListening { Type BooleanType Default False Parameter vtsv_route Mapping off:False,on:True } } Criterion { BypassNonLinearPp { Type BooleanType Default False Parameter BypassNonLinearPp Mapping off:False,on:True } } Criterion { BypassLinearPp { Type BooleanType Default False Parameter BypassLinearPp Mapping off:False,on:True } } Criterion { DirectStream { Type BooleanType Default False Parameter stream_flags Mapping 16:True,0:False } } Criterion { LpalDevice { Type InputDeviceType Default None Parameter lpal_device } } Criterion { CmeDirectStreamPlayback { Type BooleanType Default False Parameter cme_direct_stream_playback Mapping off:False,on:True } } Criterion { CmeDirectStreamCapture { Type BooleanType Default False Parameter cme_direct_stream_capture Mapping off:False,on:True } } Criterion { ImsBandType { Type BandType Default Unknown Parameter cme_band Mapping nb:NB,wb:WB,swb:SuperWB } } }