| /********************************************************************* |
| * 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. |
| * |
| **********************************************************************/ |
| |
| |
| |
| /********************************************************************** |
| * File Name: |
| * |
| * File Description: |
| * Header file for Lx000 Platform Software Manager interface definition |
| * |
| **********************************************************************/ |
| |
| #ifndef _LPM_COMM_H_ |
| #define _LPM_COMM_H_ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| #include "gps_types.h" |
| |
| |
| /*LPM service module type*/ |
| #define LPM_SERVICE_SENSORHUB 1 |
| #define LPM_SERVICE_GNSS 2 |
| #define LPM_SERVICE_LPM 3 |
| |
| |
| /*LPM message type definition, sensor hub/GNSS---->LPM*/ |
| #define LPM_MSG_SERVICE_INIT 1 /*Service init from sensor hub or GNSS*/ |
| #define LPM_MSG_SERVICE_START 2 /*Service start from sensor hub or GNSS*/ |
| #define LPM_MSG_SERVICE_STOP 3 /*Service stop from sensor hub or GNSS*/ |
| #define LPM_MSG_SERVICE_DEINIT 4 /*Service cleanup from sensor hub or GNSS*/ |
| #define LPM_MSG_SERVICE_RESET 10 /*Service reset from sensor hub or GNSS*/ |
| |
| /*LPM message type definition, LPM --->sensor hub/GNSS*/ |
| #define LPM_MSG_M3_INIT_SUCCESS 5 /*M3 init success msg fromn LPM*/ |
| #define LPM_MSG_M3_INIT_FAILURE 6 /*M3 init failure msg fromn LPM*/ |
| #define LPM_MSG_M3_STOPPED 7 /*M3 stop status indication from LPM*/ |
| #define LPM_MSG_M3_READY 8 /*M3 ready status indication from LPM*/ |
| #define LPM_MSG_M3_DEINIT_ACK 9 /*Service Cleanup Ack mseesage from LPM*/ |
| #define LPM_MSG_M3_RESET_ACK 11 /*Service Reset Ack mseesage from LPM*/ |
| |
| |
| /*LPM service message header structure*/ |
| typedef struct |
| { |
| U16 type; |
| U16 length; |
| U16 source; |
| U16 dest; |
| } mrvlGpsLpmServiceMsgHdr_t; |
| |
| |
| /*LPM service message structure*/ |
| typedef struct |
| { |
| mrvlGpsLpmServiceMsgHdr_t hdr; |
| U32 data[0]; |
| } mrvlGpsLpmServiceMsg_t; |
| |
| |
| |
| |
| |
| S32 mrvlGpsLpmServiceInit(U32 service_type, S32 timeout); |
| S32 mrvlGpsLpmServiceStart(U32 service_type, S32 timeout); |
| S32 mrvlGpsLpmServiceStop(U32 service_type, S32 timeout); |
| S32 mrvlGpsLpmServiceCleanup(U32 service_type, S32 timeout); |
| S32 mrvlGpsLpmServiceReset(U32 service_type, S32 timeout); |
| |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif |
| |