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