Audio HW Control/audio_hw_control_chipset_api.h
changeset 5 ef85d0a8d402
parent 3 89965ac1daf8
--- a/Audio HW Control/audio_hw_control_chipset_api.h	Mon Dec 14 17:31:38 2009 +0000
+++ b/Audio HW Control/audio_hw_control_chipset_api.h	Wed Dec 16 17:41:52 2009 +0000
@@ -115,19 +115,25 @@
 } OMX_AUDIO_HWCTRL_STATUSTYPE;
 
 typedef enum OMX_AUDIO_HWOPERATIONTYPE { 
-    OMX_AUDIO_NOOP = 0,
-    OMX_AUDIO_16BIT_SINGLE_READ,
-    OMX_AUDIO_16BIT_SINGLE_WRITE,
-    OMX_AUDIO_32BIT_SINGLE_READ,
-    OMX_AUDIO_32BIT_SINGLE_WRITE,
-    OMX_AUDIO_16BIT_MULTI_READ,
-    OMX_AUDIO_16BIT_MULTI_WRITE,
-    OMX_AUDIO_32BIT_MULTI_READ,
-    OMX_AUDIO_32BIT_MULTI_WRITE,
-    OMX_AUDIO_16BIT_BURST_MULTI_READ,
-    OMX_AUDIO_16BIT_BURST_MULTI_WRITE,
-    OMX_AUDIO_32BIT_BURST_MULTI_READ,
-    OMX_AUDIO_32BIT_BURST_MULTI_WRITE = 0xFFFF     
+     OMX_AUDIO_NOOP = 0,
+     OMX_AUDIO_8BIT_SINGLE_READ,
+     OMX_AUDIO_8BIT_SINGLE_WRITE,
+     OMX_AUDIO_16BIT_SINGLE_READ,
+     OMX_AUDIO_16BIT_SINGLE_WRITE,
+     OMX_AUDIO_32BIT_SINGLE_READ,
+     OMX_AUDIO_32BIT_SINGLE_WRITE,
+     OMX_AUDIO_8BIT_MULTI_READ,
+     OMX_AUDIO_8BIT_MULTI_WRITE,
+     OMX_AUDIO_16BIT_MULTI_READ,
+     OMX_AUDIO_16BIT_MULTI_WRITE,
+     OMX_AUDIO_32BIT_MULTI_READ,
+     OMX_AUDIO_32BIT_MULTI_WRITE,
+     OMX_AUDIO_8BIT_BURST_MULTI_READ,
+     OMX_AUDIO_8BIT_BURST_MULTI_WRITE,
+     OMX_AUDIO_16BIT_BURST_MULTI_READ,
+     OMX_AUDIO_16BIT_BURST_MULTI_WRITE,
+     OMX_AUDIO_32BIT_BURST_MULTI_READ,
+     OMX_AUDIO_32BIT_BURST_MULTI_WRITE = 0xFFFF     
 } OMX_AUDIO_HWOPERATIONTYPE;
 
 /** Custom audio HW control.
@@ -140,8 +146,7 @@
     OMX_AUDIO_HWOPERATIONTYPE eHwOperation;
     OMX_AUDIO_HWREGISTERTYPE eRegisterType;
     OMX_U16 nDataCount;
-    OMX_U32 nLogicalAddress;
-    OMX_U16 nData;     
+    OMX_U8 nAddressDataSequence[];      
 } OMX_AUDIO_CONFIG_CUSTOMHWCONTROLTYPE;
 
 
@@ -181,6 +186,12 @@
 /* channel ID denoting special case of all channels being selected where possible */       
 #define AUDIO_COMMON_CHANNEL_ALL	0x7FFFFFFF
 
+/** 8 bit unsigned quantity that is byte aligned */
+typedef unsigned char uint8;
+
+/** 8 bit signed quantity that is byte aligned */
+typedef signed char int8;
+
 /** 16 bit unsigned quantity that is 16 bit word aligned */
 typedef unsigned short uint16;
 
@@ -215,14 +226,20 @@
         
 typedef enum AUDIO_HAL_HW_OPERATION{ 
      AUDIO_HAL_NOOP = 0,
+     AUDIO_HAL_8BIT_SINGLE_READ,
+     AUDIO_HAL_8BIT_SINGLE_WRITE,
      AUDIO_HAL_16BIT_SINGLE_READ,
      AUDIO_HAL_16BIT_SINGLE_WRITE,
      AUDIO_HAL_32BIT_SINGLE_READ,
      AUDIO_HAL_32BIT_SINGLE_WRITE,
+     AUDIO_HAL_8BIT_MULTI_READ,
+     AUDIO_HAL_8BIT_MULTI_WRITE,
      AUDIO_HAL_16BIT_MULTI_READ,
      AUDIO_HAL_16BIT_MULTI_WRITE,
      AUDIO_HAL_32BIT_MULTI_READ,
-     AUDIO_HAL_32BIT_MULTI_WRITE,
+     AUDIO_HAL_32BIT_MULTI_WRITE, 
+     AUDIO_HAL_8BIT_BURST_MULTI_READ,
+     AUDIO_HAL_8BIT_BURST_MULTI_WRITE,
      AUDIO_HAL_16BIT_BURST_MULTI_READ,
      AUDIO_HAL_16BIT_BURST_MULTI_WRITE,
      AUDIO_HAL_32BIT_BURST_MULTI_READ,
@@ -318,7 +335,7 @@
 
 void audio_hal_custom_hw_control (void (*call_back_fn_ptr)(AUDIO_COMMON_STATUS status, uint32 extra_status_info), 
                                  AUDIO_HAL_HW_OPERATION hw_operation, AUDIO_HAL_HW_REGISTER_TYPE register_type,
-                                 uint16 num_data, uint32* address_data_sequence);
+                                 uint16 num_data, uint8* address_data_sequence);
 
                                  
 /* Sequencer layer */