ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/marvell/services/audio/libacm/acm/inc/acm_ach.h b/marvell/services/audio/libacm/acm/inc/acm_ach.h
new file mode 100644
index 0000000..02ac7bf
--- /dev/null
+++ b/marvell/services/audio/libacm/acm/inc/acm_ach.h
@@ -0,0 +1,83 @@
+/*
+* All Rights Reserved
+*
+* MARVELL CONFIDENTIAL
+* Copyright 2012 Marvell International Ltd All Rights Reserved.
+* The source code contained or described herein and all documents related to
+* the source code ("Material") are owned by Marvell International Ltd or its
+* suppliers or licensors. Title to the Material remains with Marvell International Ltd
+* or its suppliers and licensors. The Material contains trade secrets and
+* proprietary and confidential information of Marvell 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 Marvell'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 Marvell in writing.
+*
+*/
+
+#ifndef __H_ACM_ACH__
+#define __H_ACM_ACH__
+
+#include "acm_debug.h"
+
+typedef enum {
+    ACH_RC_OK,
+    ACH_RC_NO_UPDATE_NEEDED,
+    ACH_RC_FAIL_TO_UPDATE
+} ACH_ReturnCode;
+
+typedef enum {
+    COMPONENT_INACTIVE,
+    COMPONENT_ACTIVE
+} ACH_ComponentStatus;
+
+typedef enum {
+    COMPONENT_TYPE_CODEC,
+    COMPONENT_TYPE_POWER,
+    COMPONENT_TYPE_BT,
+    COMPONENT_TYPE_FM,
+    COMPONENT_TYPE_GPIO,
+    COMPONENT_TYPE_MODEM,
+    COMPONENT_TYPE_SW,
+} ACH_ComponentType;
+
+typedef struct {
+    unsigned char active;
+    unsigned char ref_count;
+    void (*ACH_Enable)(void);
+    void (*ACH_Disable)(void);
+    void (*ACH_Reset)(void);
+    void (*ACH_GetTypeAndID)(int *type, unsigned char *id);
+    ACH_ReturnCode (*ACH_Handle)(void *setting);
+} ACH_ComponentHandler;
+
+typedef union {
+    struct {
+        unsigned char reg_index;
+        unsigned short reg_mask;
+        unsigned char reg_shift;
+        unsigned short length;
+        unsigned short *reg_value;
+    } i2c;
+    struct {
+        unsigned char gpio_port;
+        unsigned char gpio_value;
+    } gpio;
+    struct {
+        unsigned char hci_ocf;
+        unsigned char hci_ogf;
+        unsigned short length;
+        unsigned char *hci_parameters;
+    } hci;
+    struct {
+        unsigned int delay_value;
+    } delay;
+} ACH_ComponentParameter;
+
+#endif