Audio HW Control/audio_hw_control_chipset_api.h
author Arnaud Lenoir
Tue, 05 Oct 2010 14:48:01 +0100
changeset 26 0cdfb9e7f8e5
parent 5 ef85d0a8d402
permissions -rw-r--r--
FYI - READ ONLY - Updated SHAI_public_APIs-status.xlsx. contact arnaudl@symbian.org for any changes you want.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
     1
/*
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
     2
  audio_hwctrl_chipset_api.h
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
     3
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
     4
  Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
     5
  All rights reserved.
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
     6
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
     7
  This program and the accompanying materials are made available 
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
     8
  under the terms of the Eclipse Public License v1.0 which accompanies 
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
     9
  this distribution, and is available at 
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    10
  http://www.eclipse.org/legal/epl-v10.html
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    11
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    12
  Initial Contributors:
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    13
  Nokia Corporation - initial contribution.
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    14
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    15
  Contributors:
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    16
*/
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    17
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    18
#ifndef AUDIO_HWCTRL_CHIPSET_API_H
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    19
#define AUDIO_HWCTRL_CHIPSET_API_H
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    20
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    21
#ifdef __cplusplus
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    22
extern "C" {
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    23
#endif /* __cplusplus */
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    24
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    25
/* Each OMX header must include all required header files to allow the
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    26
 * header to compile without errors.  The includes below are required
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    27
 * for this header file to compile successfully 
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    28
 */
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    29
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    30
#include <OMX_Audio.h>
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    31
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    32
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    33
/** Audio power control.
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    34
*/
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    35
typedef struct OMX_AUDIO_CONFIG_POWERTYPE  { 
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    36
    OMX_U32 nSize;                                    
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    37
    OMX_VERSIONTYPE nVersion;                   
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    38
    OMX_U32 nPortIndex;            
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    39
    OMX_U32 nChannel;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    40
    OMX_BOOL bPower;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    41
} OMX_AUDIO_CONFIG_POWERTYPE;
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    42
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    43
/** Audio volume ramp control.
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    44
*/
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    45
typedef struct OMX_AUDIO_CONFIG_VOLUMERAMPTYPE  { 
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    46
    OMX_U32 nSize;                                    
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    47
    OMX_VERSIONTYPE nVersion;                   
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    48
    OMX_U32 nPortIndex;            
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    49
    OMX_U32 nChannel;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    50
    OMX_BOOL bLinear;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    51
    OMX_BS32 sStartVolume;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    52
    OMX_BS32 sEndVolume;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    53
    OMX_TICKS nRampDuration;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    54
    OMX_BOOL bRampTerminate;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    55
    OMX_BS32 sCurrentVolume;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    56
    OMX_TICKS nRampCurrentTime;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    57
    OMX_TICKS nRampMinDuration;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    58
    OMX_TICKS nRampMaxDuration;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    59
    OMX_U32 nVolumeStep;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    60
} OMX_AUDIO_CONFIG_VOLUMERAMPTYPE;
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    61
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    62
/** Settings burst control.
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    63
*/
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    64
typedef struct OMX_AUDIO_CONFIG_BURSTCONTROLTYPE  { 
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    65
    OMX_U32 nSize;                                    
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    66
    OMX_VERSIONTYPE nVersion;                   
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    67
    OMX_U32 nPortIndex;            
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    68
    OMX_BOOL bBurstControl;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    69
    OMX_BOOL bStatus;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    70
} OMX_AUDIO_CONFIG_BURSTCONTROLTYPE;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    71
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    72
/** Audio register bank query.
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    73
*/
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    74
typedef struct OMX_AUDIO_CONFIG_REGISTERBANKQUERYTYPE  { 
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    75
    OMX_U32 nSize;                                    
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    76
    OMX_VERSIONTYPE nVersion;                   
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    77
    OMX_U32 nPortIndex;   
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    78
    OMX_U16 nNumRegisterBanks;           
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    79
} OMX_AUDIO_CONFIG_REGISTERBANKQUERYTYPE;
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    80
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    81
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    82
typedef enum OMX_AUDIO_HWREGISTERTYPE { 
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    83
    OMX_AUDIO_IO = 0,
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    84
    OMX_AUDIO_I2C,
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    85
    OMX_AUDIO_SLIMBUS,
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    86
    OMX_AUDIO_CBUS = 0xFFFF     
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    87
} OMX_AUDIO_HWREGISTERTYPE;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    88
 
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    89
typedef struct OMX_AUDIO_REGBANKDESCRIPTORTYPE { 
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    90
    OMX_U32 nSize;                                    
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    91
    OMX_VERSIONTYPE nVersion;                   
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    92
    OMX_U32 nRegBankIndex;   
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    93
    OMX_U32 nLogicalStartAddr;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    94
    OMX_U32 nLogicalEndAddr;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    95
    OMX_AUDIO_HWREGISTERTYPE eRegBankType;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    96
} OMX_AUDIO_REGBANKDESCRIPTORTYPE;
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
    97
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    98
/** Audio register bank table control.
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
    99
*/
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   100
typedef struct OMX_AUDIO_CONFIG_REGISTERBANKTABLETYPE  { 
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   101
    OMX_U32 nSize;                                    
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   102
    OMX_VERSIONTYPE nVersion;                   
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   103
    OMX_U32 nPortIndex;   
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   104
    OMX_U16 nNumRegisterBanks; 
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   105
    OMX_AUDIO_REGBANKDESCRIPTORTYPE RegBankDescriptorTable;     
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   106
} OMX_AUDIO_CONFIG_REGISTERBANKTABLETYPE;
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   107
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   108
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   109
typedef enum OMX_AUDIO_HWCTRL_STATUSTYPE { 
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   110
    OMX_AUDIO_OK = 0,
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   111
    OMX_AUDIO_FAIL,
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   112
    /* if callback facility is somehow solved in OpenMAX IL for getconfig/setconfig parameter calls, it is expected */
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   113
    /* to have here extra status information that can be returned for e.g. multi-read/write commands */
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   114
    OMX_AUDIO_NOT_SUPPORTED = 0xFFFF     
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   115
} OMX_AUDIO_HWCTRL_STATUSTYPE;
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   116
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   117
typedef enum OMX_AUDIO_HWOPERATIONTYPE { 
5
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   118
     OMX_AUDIO_NOOP = 0,
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   119
     OMX_AUDIO_8BIT_SINGLE_READ,
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   120
     OMX_AUDIO_8BIT_SINGLE_WRITE,
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   121
     OMX_AUDIO_16BIT_SINGLE_READ,
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   122
     OMX_AUDIO_16BIT_SINGLE_WRITE,
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   123
     OMX_AUDIO_32BIT_SINGLE_READ,
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   124
     OMX_AUDIO_32BIT_SINGLE_WRITE,
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   125
     OMX_AUDIO_8BIT_MULTI_READ,
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   126
     OMX_AUDIO_8BIT_MULTI_WRITE,
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   127
     OMX_AUDIO_16BIT_MULTI_READ,
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   128
     OMX_AUDIO_16BIT_MULTI_WRITE,
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   129
     OMX_AUDIO_32BIT_MULTI_READ,
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   130
     OMX_AUDIO_32BIT_MULTI_WRITE,
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   131
     OMX_AUDIO_8BIT_BURST_MULTI_READ,
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   132
     OMX_AUDIO_8BIT_BURST_MULTI_WRITE,
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   133
     OMX_AUDIO_16BIT_BURST_MULTI_READ,
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   134
     OMX_AUDIO_16BIT_BURST_MULTI_WRITE,
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   135
     OMX_AUDIO_32BIT_BURST_MULTI_READ,
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   136
     OMX_AUDIO_32BIT_BURST_MULTI_WRITE = 0xFFFF     
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   137
} OMX_AUDIO_HWOPERATIONTYPE;
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   138
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   139
/** Custom audio HW control.
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   140
*/
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   141
typedef struct OMX_AUDIO_CONFIG_CUSTOMHWCONTROLTYPE  { 
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   142
    OMX_U32 nSize;                                    
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   143
    OMX_VERSIONTYPE nVersion;                   
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   144
    OMX_U32 nPortIndex;   
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   145
    OMX_AUDIO_HWCTRL_STATUSTYPE eStatus;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   146
    OMX_AUDIO_HWOPERATIONTYPE eHwOperation;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   147
    OMX_AUDIO_HWREGISTERTYPE eRegisterType;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   148
    OMX_U16 nDataCount;
5
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   149
    OMX_U8 nAddressDataSequence[];      
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   150
} OMX_AUDIO_CONFIG_CUSTOMHWCONTROLTYPE;
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   151
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   152
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   153
typedef enum OMX_AUDIO_HWLOOPSTYPE { 
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   154
    OMX_AUDIO_NOLOOP = 0,
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   155
    OMX_AUDIO_SIDETONE_LOOP = 0xFFFF
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   156
    /* rest of HW loops are to be defined on a vendor specific basis */
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   157
} OMX_AUDIO_HWLOOPSTYPE;
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   158
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   159
/** Audio HW loop support query.
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   160
*/
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   161
typedef struct OMX_AUDIO_CONFIG_HWLOOPSUPPORTTYPE  { 
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   162
    OMX_U32 nSize;                                    
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   163
    OMX_VERSIONTYPE nVersion;                   
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   164
    OMX_U32 nPortIndex;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   165
    OMX_U32 nSupportedLoops;    
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   166
    OMX_AUDIO_HWLOOPSTYPE eLoopIndex;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   167
} OMX_AUDIO_CONFIG_HWLOOPSUPPORTTYPE;
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   168
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   169
/** Audio HW loop control.
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   170
*/
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   171
typedef struct OMX_AUDIO_CONFIG_HWLOOPCONTROLTYPE  { 
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   172
    OMX_U32 nSize;                                    
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   173
    OMX_VERSIONTYPE nVersion;                   
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   174
    OMX_U32 nPortIndex;   
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   175
    OMX_AUDIO_HWLOOPSTYPE eLoopIndex;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   176
    OMX_U32 nChannel;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   177
    OMX_BOOL bControlSwitch;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   178
    OMX_BOOL bLinear;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   179
    OMX_BS32 sLoopVolume;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   180
} OMX_AUDIO_CONFIG_HWLOOPCONTROLTYPE;
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   181
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   182
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   183
/** Non-OpenMAX API layers */
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   184
/***************************/
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   185
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   186
/* channel ID denoting special case of all channels being selected where possible */       
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   187
#define AUDIO_COMMON_CHANNEL_ALL	0x7FFFFFFF
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   188
5
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   189
/** 8 bit unsigned quantity that is byte aligned */
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   190
typedef unsigned char uint8;
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   191
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   192
/** 8 bit signed quantity that is byte aligned */
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   193
typedef signed char int8;
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   194
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   195
/** 16 bit unsigned quantity that is 16 bit word aligned */
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   196
typedef unsigned short uint16;
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   197
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   198
/** 16 bit signed quantity that is 16 bit word aligned */
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   199
typedef signed short int16;
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   200
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   201
/** 32 bit unsigned quantity that is 32 bit word aligned */
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   202
typedef unsigned long uint32;
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   203
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   204
/** signed quantity that is 32 bit word aligned */
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   205
typedef signed long int32;
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   206
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   207
typedef enum AUDIO_COMMON_SWITCH { 
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   208
     AUDIO_COMMON_OFF = 0,
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   209
     AUDIO_COMMON_ON,  
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   210
     AUDIO_COMMON_UNSUPPORTED = 0xFFFF     
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   211
 } AUDIO_COMMON_SWITCH;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   212
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   213
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   214
typedef enum AUDIO_COMMON_STATUS { 
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   215
     AUDIO_COMMON_OK = 0,
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   216
     AUDIO_COMMON_FAIL,  
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   217
     AUDIO_COMMON_ALLCHANNELS_UNSUPPORTED = 0xFFFF     
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   218
} AUDIO_COMMON_STATUS;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   219
        
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   220
typedef enum AUDIO_HAL_HW_LOOPS { 
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   221
     AUDIO_NOLOOP = 0,
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   222
     AUDIO_SIDETONE_LOOP = 0xFFFF
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   223
     /* rest of HW loops are to be defined on a vendor specific basis */
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   224
     
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   225
} AUDIO_HAL_HW_LOOPS;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   226
        
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   227
typedef enum AUDIO_HAL_HW_OPERATION{ 
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   228
     AUDIO_HAL_NOOP = 0,
5
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   229
     AUDIO_HAL_8BIT_SINGLE_READ,
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   230
     AUDIO_HAL_8BIT_SINGLE_WRITE,
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   231
     AUDIO_HAL_16BIT_SINGLE_READ,
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   232
     AUDIO_HAL_16BIT_SINGLE_WRITE,
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   233
     AUDIO_HAL_32BIT_SINGLE_READ,
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   234
     AUDIO_HAL_32BIT_SINGLE_WRITE,
5
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   235
     AUDIO_HAL_8BIT_MULTI_READ,
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   236
     AUDIO_HAL_8BIT_MULTI_WRITE,
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   237
     AUDIO_HAL_16BIT_MULTI_READ,
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   238
     AUDIO_HAL_16BIT_MULTI_WRITE,
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   239
     AUDIO_HAL_32BIT_MULTI_READ,
5
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   240
     AUDIO_HAL_32BIT_MULTI_WRITE, 
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   241
     AUDIO_HAL_8BIT_BURST_MULTI_READ,
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   242
     AUDIO_HAL_8BIT_BURST_MULTI_WRITE,
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   243
     AUDIO_HAL_16BIT_BURST_MULTI_READ,
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   244
     AUDIO_HAL_16BIT_BURST_MULTI_WRITE,
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   245
     AUDIO_HAL_32BIT_BURST_MULTI_READ,
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   246
     AUDIO_HAL_32BIT_BURST_MULTI_WRITE = 0xFFFF     
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   247
} AUDIO_HAL_HW_OPERATION;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   248
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   249
typedef enum AUDIO_HAL_HW_REGISTER_TYPE { 
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   250
     AUDIO_HAL_IO = 0,
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   251
     AUDIO_HAL_I2C,
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   252
     AUDIO_HAL_SLIMBUS,
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   253
     AUDIO_HAL_CBUS = 0xFFFF     
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   254
} AUDIO_HAL_HW_REGISTER_TYPE;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   255
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   256
typedef struct AUDIO_HAL_REGBANK_DESCRIPTOR{ 
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   257
     uint32 reg_bank_index;   
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   258
     uint32 logical_start_addr;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   259
     uint32 logical_end_addr;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   260
     AUDIO_HAL_HW_REGISTER_TYPE reg_bank_type;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   261
} AUDIO_HAL_REGBANK_DESCRIPTOR;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   262
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   263
typedef struct AUDIO_HAL_GAIN_DESCRIPTOR  { 
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   264
     uint32 channel_index; 
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   265
     uint16 gain_index;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   266
     uint32 linear;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   267
     int32 min_gain;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   268
     int32 max_gain;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   269
     uint32 gain_step;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   270
     uint32 analog_gain;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   271
     
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   272
} AUDIO_HAL_GAIN_DESCRIPTOR;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   273
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   274
typedef struct AUDIO_TIMED_RAMP_INFO  { 
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   275
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   276
      uint32 linear;
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   277
      int32 ramp_start_volume;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   278
      int32 ramp_end_volume;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   279
      int32 current_volume;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   280
      uint32 current_time_hi;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   281
      uint32 current_time_lo;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   282
      uint32 ramp_min_duration_hi;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   283
      uint32 ramp_min_duration_lo;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   284
      uint32 ramp_max_duration_hi;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   285
      uint32 ramp_max_duration_lo;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   286
      int32 min_volume;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   287
      int32 max_volume;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   288
      uint32 volume_step;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   289
     
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   290
} AUDIO_TIMED_RAMP_INFO;
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   291
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   292
// Function prototypes
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   293
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   294
/* HAL layer */
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   295
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   296
void audio_hal_mute_control (void (*call_back_fn_ptr)(AUDIO_COMMON_STATUS status, uint32 channel_index, uint32 extra_status_info), 
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   297
                             uint32 channel_index, 
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   298
                             AUDIO_COMMON_SWITCH mute_control);
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   299
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   300
AUDIO_COMMON_SWITCH audio_hal_mute_status (uint32 channel_index);
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   301
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   302
void audio_hal_power_control (void (*call_back_fn_ptr)(AUDIO_COMMON_STATUS status, uint32 channel_index, uint32 extra_status_info), 
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   303
                             uint32 channel_index, AUDIO_COMMON_SWITCH power_control);
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   304
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   305
AUDIO_COMMON_SWITCH audio_hal_power_status(uint32 channel_index);
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   306
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   307
void audio_hal_gain_capabilities_query(uint32* num_channels, uint16* max_num_gains);
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   308
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   309
void audio_hal_gains_descriptor_query(AUDIO_HAL_GAIN_DESCRIPTOR* gain_descriptor_table);
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   310
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   311
void audio_hal_loop_gain_capabilities_query(uint16* num_loops, uint16* max_num_gains);
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   312
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   313
void audio_hal_supported_loops_query (uint16* supported_loop_indexes);
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   314
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   315
void audio_hal_loop_gains_descriptor_query (AUDIO_HAL_HW_LOOPS loop_index,
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   316
                                    AUDIO_HAL_GAIN_DESCRIPTOR* gain_descriptor_table);
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   317
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   318
AUDIO_COMMON_STATUS audio_hal_gain_control (void (*call_back_fn_ptr)(AUDIO_COMMON_STATUS status, uint32 channel_index, uint32 extra_status_info), 
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   319
                                    uint32 channel_index, uint16 gain_index,
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   320
                                    uint32 linear, int32 gain_value);
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   321
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   322
AUDIO_COMMON_STATUS audio_hal_gain_query (uint32 channel_index, uint16 gain_index,
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   323
                                    uint32 linear, int32* gain_value);
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   324
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   325
AUDIO_COMMON_STATUS audio_hal_loop_control(void (*call_back_fn_ptr)(AUDIO_COMMON_STATUS status, uint32 channel_index, 
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   326
                                                  AUDIO_HAL_HW_LOOPS loop_index, uint32 extra_status_info), 
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   327
                                    AUDIO_HAL_HW_LOOPS loop_index, AUDIO_COMMON_SWITCH loop_switch,
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   328
                                    uint16 channel_index, uint16 gain_index, uint32 linear,
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   329
                                    int32 loop_gain_value);
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   330
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   331
															             
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   332
uint16 audio_hal_registerbank_query();
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   333
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   334
void audio_hal_regbank_descriptors_query(AUDIO_HAL_REGBANK_DESCRIPTOR* register_banks);
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   335
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   336
void audio_hal_custom_hw_control (void (*call_back_fn_ptr)(AUDIO_COMMON_STATUS status, uint32 extra_status_info), 
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   337
                                 AUDIO_HAL_HW_OPERATION hw_operation, AUDIO_HAL_HW_REGISTER_TYPE register_type,
5
ef85d0a8d402 SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
arunabha
parents: 3
diff changeset
   338
                                 uint16 num_data, uint8* address_data_sequence);
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   339
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   340
                                 
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   341
/* Sequencer layer */
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   342
void audio_sequencer_mute_control(void (*call_back_fn_ptr)(AUDIO_COMMON_STATUS status, uint32 channel_index, uint32 extra_status_info), 
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   343
                                  uint32 channel_index, AUDIO_COMMON_SWITCH mute_control);
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   344
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   345
void audio_sequencer_power_control(void (*call_back_fn_ptr)(AUDIO_COMMON_STATUS status, uint32 channel_index, uint32 extra_status_info), 
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   346
                                  uint32 channel_index, AUDIO_COMMON_SWITCH power_control);
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   347
                                  
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   348
AUDIO_COMMON_STATUS audio_sequencer_burst_control(void (*call_back_fn_ptr)(AUDIO_COMMON_STATUS status, uint32 extra_status_info), 
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   349
                                                  AUDIO_COMMON_SWITCH burst_control);
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   350
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   351
void audio_sequencer_volume_control(void (*call_back_fn_ptr)(AUDIO_COMMON_STATUS status, uint32 channel_index, uint32 extra_status_info), 
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   352
                                     uint32 channel_index, uint32 linear, int32 volume);
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   353
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   354
void audio_sequencer_volume_query(uint32 channel_index, uint32 linear, int32* min_volume, int32* max_volume, int32* current_volume);
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   355
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   356
/* Timing critical layer */
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   357
void audio_timed_mute_control(void (*call_back_fn_ptr)(AUDIO_COMMON_STATUS status, uint32 channel_index, uint32 extra_status_info), 
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   358
                              uint32 channel_index, AUDIO_COMMON_SWITCH mute_control);
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   359
                              
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   360
void audio_timed_volume_ramp_control (void (*call_back_fn_ptr)(AUDIO_COMMON_STATUS status, uint32 channel_index, uint32 extra_status_info), 
0
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   361
                             uint32 channel_index, uint32 linear, int32 start_volume,
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   362
                             int32 end_volume, uint32 ramp_duration_hi, uint32 ram_duration_lo,
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   363
                             AUDIO_COMMON_SWITCH ramp_terminate);
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   364
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   365
void audio_timed_volume_ramp_query (uint32 channel_index, AUDIO_TIMED_RAMP_INFO* volume_ramp_info);
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   366
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   367
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   368
#ifdef __cplusplus
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   369
}
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   370
#endif /* __cplusplus */
bb4b476bbb96 Initial contribution of SHAI APIs from Nokia.
Daniel Rubio <danielr@symbian.org>
parents:
diff changeset
   371
3
89965ac1daf8 New SHAI contributions for Power Management
arunabha
parents: 0
diff changeset
   372
#endif /* OMX_Nokia_AudioExt_h */