SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
authorarunabha
Wed, 16 Dec 2009 17:41:52 +0000
changeset 5 ef85d0a8d402
parent 4 acd095fadba0
child 6 760f846bbee9
SHAI API Updates mapping to Audio_HW_Control_SHAI_v1.6 and Gape SHAI v1.3 specifications
Audio HW Control/audio_hw_control_chipset_api.h
GAPE/gape_chipset_api.h
GAPE/gape_descriptors.h
--- 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 */
--- a/GAPE/gape_chipset_api.h	Mon Dec 14 17:31:38 2009 +0000
+++ b/GAPE/gape_chipset_api.h	Wed Dec 16 17:41:52 2009 +0000
@@ -1,18 +1,34 @@
 /*
-  gptimer_chipset_api.h
+Nokia/Devices/R&D/SD/SSS
+CONFIDENTIAL
+Deliverable software
+
+
 
-  Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-  All rights reserved.
+            GAPE_CHIPSET_API.H
+            --------------------------------
+
+            SW Include Document - Symbian OS
+
+
+
+Document identification and location in Synergy/CM
 
-  This program and the accompanying materials are made available 
-  under the terms of the Eclipse Public License v1.0 which accompanies 
-  this distribution, and is available at 
-  http://www.eclipse.org/legal/epl-v10.html
+Database:           ...
 
-  Initial Contributors:
-  Nokia Corporation - initial contribution.
+Object (this information is substituted by Synergy/CM):
+    %name:           %
+    %cvtype:         %
+    %instance:       %
+    %version:        %
+    %date_modified:  %
 
-  Contributors:
+Copyright (c) Nokia. This material, including documentation and any related
+computer programs, is protected by copyright controlled by Nokia.
+All rights are reserved. Copying, including reproducing, storing, adapting or
+translating, any or all of this material requires the prior written consent
+of Nokia. This material also contains confidential information, which may not
+be disclosed to others without the prior written consent of Nokia.
 */
 
 /** @file
@@ -29,83 +45,9 @@
 // Include files
 
 #include <kern_priv.h>
-
+#include <gape_descriptors.h>
 // Constants
-
-/* The list of the descriptor names what the array can hold */
-_LIT8( KTvOut, "TvOut" );
-_LIT8( KKeypad, "Keypad" );
-_LIT8( KNand, "Nand" );
-_LIT8( KPrimaryDisplay, "PriDisp" );
-_LIT8( KSecondaryDisplay, "SecDisp" );
-_LIT8( KSecurity, "Security" );
-_LIT8( KUsbExt, "UsbExtension" );
-_LIT8( KUsbDriver, "UsbDriver" );
-_LIT8( KDigitiser, "Digitiser" );
-_LIT8( KMmc, "Mmc" );
-_LIT8( KSd, "Sd" );
-_LIT8( KHdd, "Hdd" );
-_LIT8( KCustom, "Custom" );
-_LIT8( KJoystick, "Joystick" );
-_LIT8( KLight, "Light" );
-_LIT8( KSwitch, "Switch" );
-_LIT8( KQwerty, "Qwerty" );
-_LIT8( KPanicScreen, "PanicScreen" );
-_LIT8( KBootFigure0, "BootFigure0" );
-_LIT8( KBootFigure1, "BootFigure1" );
-_LIT8( KThermalSensor, "ThermalSensor" );
-_LIT8( KCameraHWA, "CameraHWA" );
-_LIT8( KCameraDriver, "CameraDriver" );
-_LIT8( KDisplayDriver, "DisplayDriver" );
-_LIT8( KPowerModel, "PowerController" );
-_LIT8( KTwistDriver, "TwistDriver" );
-_LIT8( KCameraStaticData, "CameraStaticData" );
-_LIT8( KAccelerometer, "Accelerometer" );
-_LIT8( KExpander, "KeypadExpander" );
-_LIT8( KPowerTouareg, "PowerTouareg" );
-_LIT8( KKernelDataTransferApiUsb, "UsbDataIf" );
-_LIT8( KNaviScroll, "NaviScroll" );
-_LIT8( KTouchIC, "TouchIC" );
-
-/** Array for pointers (for registered descriptors) */
-const TDesC8* const KPtrArray[] =
-    {
-    &KTvOut,
-    &KKeypad,
-    &KNand,
-    &KPrimaryDisplay,
-    &KSecondaryDisplay,
-    &KSecurity,
-    &KUsbExt,
-    &KUsbDriver,
-    &KDigitiser,
-    &KMmc,
-    &KSd,
-    &KHdd,
-    &KCustom,
-    &KJoystick,
-    &KLight,
-    &KSwitch,
-    &KQwerty,
-    &KPanicScreen,
-    &KBootFigure0,
-    &KBootFigure1,
-    &KThermalSensor,
-    &KCameraHWA,
-    &KCameraDriver,
-    &KDisplayDriver,
-    &KPowerModel,
-    &KCameraStaticData,
-    &KAccelerometer,
-    &KExpander,
-    &KPowerTouareg,
-    &KKernelDataTransferApiUsb,
-    &KNaviScroll,
-    &KTouchIC
-    };
-
-/** Maximum number of items in an array */
-const TUint KPtrArraySize = ( sizeof( KPtrArray ) / sizeof( KPtrArray[0] ) );
+// defined in gape_descriptors.h
 
 // Macros
 
@@ -133,45 +75,32 @@
             new instances of this class.
 
             @return GApe* An instance to GApe class
+            @pre Pre-condition: do not call from an ISR
         */
         static GApe* Instance();
 
         /**
             Save pointer to internal array e.g.
 
-            @code
-            TInt ret = GApe::SetPtr( KTvOut, this );
-            if ( ret != KErrNone )
-                {
-                // Error handling...
-                }
-            @endcode
-
             @param  aName   Name used for registering pointer
             @param  aPtr    Pointer to be saved
 
             @return KErrNone, if successful. KErrAlreadyExists, if the pointer
                     is already registered. KErrNotFound, if the 'aName' is not
                     a valid name.
+            @pre Pre-condition: Call in any context        
         */
         IMPORT_C static TInt SetPtr(const TDesC8& aName, TAny* const aPtr);
 
         /**
             Get pointer from internal array e.g.
 
-            @code
-            DTvOut* tvout = static_cast<DTvOut*>( GApe::GetPtr( KTvOut ) );
-            if ( tvout )
-                {
-                // Usage...
-                }
-            @endcode
-
             @param  aName   Name of the registered pointer
 
             @return Pointer to requested item. May also return NULL, which
                     indicates that the pointer is not registered or the name
                     is not valid.
+            @pre Pre-condition: Call in any context          
         */
         IMPORT_C static TAny* GetPtr(const TDesC8& aName);
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GAPE/gape_descriptors.h	Wed Dec 16 17:41:52 2009 +0000
@@ -0,0 +1,134 @@
+/*
+Nokia/Devices/R&D/SD/SSS
+CONFIDENTIAL
+Deliverable software
+
+
+
+            GAPE_DESCRIPTORS.H
+            --------------------------------
+
+            SW Include Document - Symbian OS
+
+
+
+Document identification and location in Synergy/CM
+
+Database:           ...
+
+Object (this information is substituted by Synergy/CM):
+    %name:           %
+    %cvtype:         %
+    %instance:       %
+    %version:        %
+    %date_modified:  %
+
+Copyright (c) Nokia. This material, including documentation and any related
+computer programs, is protected by copyright controlled by Nokia.
+All rights are reserved. Copying, including reproducing, storing, adapting or
+translating, any or all of this material requires the prior written consent
+of Nokia. This material also contains confidential information, which may not
+be disclosed to others without the prior written consent of Nokia.
+*/
+
+/** @file
+@brief gape_descriptors.h
+
+This a header file of gape_descriptors.h
+
+@publishedDeviceAbstraction
+*/
+#ifndef __GAPE_DESCRIPTORS_H__
+#define __GAPE_DESCRIPTORS_H__
+
+
+/* The list of the descriptor names what the array can hold */
+_LIT8( KTvOut, "TvOut" );
+_LIT8( KKeypad, "Keypad" );
+_LIT8( KNand, "Nand" );
+_LIT8( KPrimaryDisplay, "PriDisp" );
+_LIT8( KSecondaryDisplay, "SecDisp" );
+_LIT8( KSecurity, "Security" );
+_LIT8( KUsbExt, "UsbExtension" );
+_LIT8( KUsbDriver, "UsbDriver" );
+_LIT8( KDigitiser, "Digitiser" );
+_LIT8( KMmc, "Mmc" );
+_LIT8( KSd, "Sd" );
+_LIT8( KHdd, "Hdd" );
+_LIT8( KCustom, "Custom" );
+_LIT8( KJoystick, "Joystick" );
+_LIT8( KLight, "Light" );
+_LIT8( KSwitch, "Switch" );
+_LIT8( KQwerty, "Qwerty" );
+_LIT8( KPanicScreen, "PanicScreen" );
+_LIT8( KBootFigure0, "BootFigure0" );
+_LIT8( KBootFigure1, "BootFigure1" );
+_LIT8( KThermalSensor, "ThermalSensor" );
+_LIT8( KCameraHWA, "CameraHWA" );
+_LIT8( KCameraDriver, "CameraDriver" );
+_LIT8( KDisplayDriver, "DisplayDriver" );
+_LIT8( KPowerModel, "PowerController" );
+_LIT8( KTwistDriver, "TwistDriver" );
+_LIT8( KCameraStaticData, "CameraStaticData" );
+_LIT8( KAccelerometer, "Accelerometer" );
+_LIT8( KExpander, "KeypadExpander" );
+_LIT8( KPowerTouareg, "PowerTouareg" );
+_LIT8( KKernelDataTransferApiUsb, "UsbDataIf" );
+_LIT8( KNaviScroll, "NaviScroll" );
+_LIT8( KTouchIC, "TouchIC" );
+_LIT8( KTouchIC2, "TouchIC2" );
+_LIT8( KExpander2, "KeypadExpander2" );
+_LIT8( KAddriver, "KAddriver" );
+_LIT8( KOFN, "OFN" );
+_LIT8( KCustomRTC, "CustomRtc" );
+
+/** Array for pointers (for registered descriptors) */
+const TDesC8* const KPtrArray[] =
+    {
+    &KTvOut,
+    &KKeypad,
+    &KNand,
+    &KPrimaryDisplay,
+    &KSecondaryDisplay,
+    &KSecurity,
+    &KUsbExt,
+    &KUsbDriver,
+    &KDigitiser,
+    &KMmc,
+    &KSd,
+    &KHdd,
+    &KCustom,
+    &KJoystick,
+    &KLight,
+    &KSwitch,
+    &KQwerty,
+    &KPanicScreen,
+    &KBootFigure0,
+    &KBootFigure1,
+    &KThermalSensor,
+    &KCameraHWA,
+    &KCameraDriver,
+    &KDisplayDriver,
+    &KPowerModel,    
+    &KCameraStaticData,
+    &KAccelerometer,
+    &KExpander,
+    &KPowerTouareg,
+    &KKernelDataTransferApiUsb,
+    &KNaviScroll,
+    &KTouchIC,
+    &KTouchIC2,
+    &KExpander2, 
+    &KAddriver,
+    &KOFN,
+    &KCustomRTC
+    };
+    
+    
+    /** Maximum number of items in an array */
+const TUint KPtrArraySize = ( sizeof( KPtrArray ) / sizeof( KPtrArray[0] ) );
+
+
+#endif    // __GAPE_DESCRIPTORS_H__
+
+// end of file