summaryrefslogtreecommitdiffstats
path: root/ucs2-lib/inc/ucs_pmp.h
diff options
context:
space:
mode:
authorRonan Le Martret <ronan.lemartret@iot.bzh>2017-06-12 11:17:04 +0200
committerRonan Le Martret <ronan.lemartret@iot.bzh>2017-06-29 14:40:09 +0200
commitec59d20bafb3acaaff2bbcab185a074825319e20 (patch)
tree2262fa512acadeb1dfa68bad7b2bb5a5c7de2467 /ucs2-lib/inc/ucs_pmp.h
parenta57c0b35c05c84f31ec09d3ac46b298555aa0cfb (diff)
Update package
* use sub module for ucs2-lib (tmp fork from IoT.bzh github) * add packaging for native build Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
Diffstat (limited to 'ucs2-lib/inc/ucs_pmp.h')
-rw-r--r--ucs2-lib/inc/ucs_pmp.h209
1 files changed, 0 insertions, 209 deletions
diff --git a/ucs2-lib/inc/ucs_pmp.h b/ucs2-lib/inc/ucs_pmp.h
deleted file mode 100644
index 75f70b4..0000000
--- a/ucs2-lib/inc/ucs_pmp.h
+++ /dev/null
@@ -1,209 +0,0 @@
-/*------------------------------------------------------------------------------------------------*/
-/* UNICENS V2.1.0-3491 */
-/* Copyright (c) 2017 Microchip Technology Germany II GmbH & Co. KG. */
-/* */
-/* This program is free software: you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation, either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* This program is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
-/* GNU General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU General Public License */
-/* along with this program. If not, see <http://www.gnu.org/licenses/>. */
-/* */
-/* You may also obtain this software under a propriety license from Microchip. */
-/* Please contact Microchip for further information. */
-/*------------------------------------------------------------------------------------------------*/
-
-/*!
- * \file
- * \brief Internal header file of Port Message Protocol
- *
- * \cond UCS_INTERNAL_DOC
- * \addtogroup G_PMH
- * @{
- */
-
-#ifndef UCS_PMP_H
-#define UCS_PMP_H
-
-/*------------------------------------------------------------------------------------------------*/
-/* Includes */
-/*------------------------------------------------------------------------------------------------*/
-#include "ucs_rules.h"
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-/*------------------------------------------------------------------------------------------------*/
-/* Macros */
-/*------------------------------------------------------------------------------------------------*/
-#define PMP_PM_MAX_SIZE_HEADER 8U /*!< \brief Maximum size of a port message header */
-#define PMP_PM_MIN_SIZE_HEADER 6U /*!< \brief Minimum size of a port message header */
-#define PMP_MAX_NUM_FIFOS 7U /*!< \brief Maximum number if FIFOs an an array
- * \details Means "3" if FIFO "0" and "2" is used
- */
-#define PMP_CREDITS_MASK 0x3FU /*!< \brief Valid bits for credits: 5..0 */
-#define PMP_CREDITS_MIN 1U /*!< \brief Minimum value for credits: 1 */
-#define PMP_CREDITS_MAX 63U /*!< \brief Maximum value for credits: 63 */
-
-/*------------------------------------------------------------------------------------------------*/
-/* Types */
-/*------------------------------------------------------------------------------------------------*/
-
-/*! \brief Specifies the FIFO */
-typedef enum Pmp_FifoId_
-{
- PMP_FIFO_ID_MCM = 0U, /*!< \brief FIFO dedicated to MOST Control Messages (MCM) */
- /* PMP_FIFO_ID_MDP = 1U, < (reserved identifier) */
- PMP_FIFO_ID_ICM = 2U, /*!< \brief FIFO dedicated to INIC Control Messages (ICM) */
- PMP_FIFO_ID_ALL = 3U, /*!< \brief All FIFOs (ICM, MCM) */
- /* PMP_FIFO_ID_MEP = 4U < (reserved identifier) */
- /* PMP_FIFO_ID_IOCM = 5U < (reserved identifier) */
- PMP_FIFO_ID_RCM = 6U /*!< \brief FIFO dedicated to Remote Control Messages (RCM) */
- /* PMP_FIFO_ID_RSVD = 7U < (reserved identifier) */
-
-} Pmp_FifoId_t;
-
-/*! \brief Specifies the messages type */
-typedef enum Pmp_MsgType_
-{
- PMP_MSG_TYPE_CMD = 0U, /*!< \brief FIFO command message */
- PMP_MSG_TYPE_STATUS = 1U, /*!< \brief FIFO status message */
- PMP_MSG_TYPE_DATA = 2U /*!< \brief FIFO data message */
-
-} Pmp_MsgType_t;
-
-/*! \brief Specifies the direction of the Port Message */
-typedef enum Pmp_Direction_
-{
- PMP_DIR_TX = 0, /*!< \brief Direction Tx (EHC -> INIC) */
- PMP_DIR_RX = 1 /*!< \brief Direction Rx (INIC -> EHC) */
-
-} Pmp_Direction_t;
-
-/*! \brief Specifies FIFO status types */
-typedef enum Pmp_StatusType_
-{
- PMP_STATUS_TYPE_FAILURE = 0U, /*!< \brief PMP status type "failure" */
- PMP_STATUS_TYPE_FLOW = 1U, /*!< \brief PMP status type "flow" */
- PMP_STATUS_TYPE_SYNCED = 4U, /*!< \brief PMP status type "synced" */
- PMP_STATUS_TYPE_UNSYNCED_BSY = 5U, /*!< \brief PMP status type "unsynced_busy" */
- PMP_STATUS_TYPE_UNSYNCED_RDY = 6U /*!< \brief PMP status type "unsynced_ready" */
-
-} Pmp_StatusType_t;
-
-/*! \brief Specifies FIFO status codes */
-typedef enum Pmp_StatusCode_
-{
- PMP_STATUS_CODE_BUSY = 0U, /*!< \brief PMP status code "busy" */
- PMP_STATUS_CODE_SUCCESS = 1U, /*!< \brief PMP status code "success" */
- PMP_STATUS_CODE_CANCELED = 3U, /*!< \brief PMP status code "canceled" */
- PMP_STATUS_CODE_NACK = 8U /*!< \brief PMP status code "not_acknowledge" */
-
-} Pmp_StatusCode_t;
-
-/*! \brief Specifies FIFO status codes */
-typedef enum Pmp_UnsyncReason_
-{
- PMP_UNSYNC_R_STARTUP = 1U, /*!< \brief PMP status code, UnsyncReason "INIC Startup" */
- PMP_UNSYNC_R_REINIT = 2U, /*!< \brief PMP status code, UnsyncReason "Re-init of another FIFO" */
- PMP_UNSYNC_R_COMMAND = 3U, /*!< \brief PMP status code, UnsyncReason "By sync or un-sync command" */
- PMP_UNSYNC_R_ACK_TIMEOUT = 4U, /*!< \brief PMP status code, UnsyncReason "Missing EHC Rx acknowledge" */
- PMP_UNSYNC_R_WD_TIMEOUT = 5U, /*!< \brief PMP status code, UnsyncReason "Missing EHC status request" */
- PMP_UNSYNC_R_TX_TIMEOUT = 6U /*!< \brief PMP status code, UnsyncReason "Missing EHC read, or blocked communication" */
-
-} Pmp_UnsyncReason_t;
-
-/*! \brief Specifies FIFO command types */
-typedef enum Pmp_CommandType_
-{
- PMP_CMD_TYPE_REQ_STATUS = 0U, /*!< \brief PMP command type "request_status" */
- PMP_CMD_TYPE_MSG_ACTION = 1U, /*!< \brief PMP command type "message_action" */
- /* PMP_CMD_TYPE_TRIGGER_NAOMDP = 2U, < (reserved identifier) */
- PMP_CMD_TYPE_SYNCHRONIZATION = 4U /*!< \brief PMP command type "synchronization" */
-
-} Pmp_CommandType_t;
-
-/*! \brief Specifies FIFO command codes */
-typedef enum Pmp_CommandCode_
-{
- PMP_CMD_CODE_REQ_STATUS = 0U, /*!< \brief PMP command code "request_status" */
- /* PMP_CMD_CODE_TRIGGER_NAOMDP = 0U, < (reserved identifier)*/
- PMP_CMD_CODE_ACTION_RETRY = 1U, /*!< \brief PMP command type "request_status" */
- PMP_CMD_CODE_ACTION_CANCEL = 2U, /*!< \brief PMP command type "request_status" */
- PMP_CMD_CODE_ACTION_CANCEL_ALL = 3U, /*!< \brief PMP command type "request_status" */
- PMP_CMD_CODE_UNSYNC = 10U, /*!< \brief PMP command type "request_status" */
- PMP_CMD_CODE_SYNC = 21U /*!< \brief PMP command type "request_status" */
-
-} Pmp_CommandCode_t;
-
-/*------------------------------------------------------------------------------------------------*/
-/* Header buffer operations */
-/*------------------------------------------------------------------------------------------------*/
-extern void Pmp_SetPml(uint8_t header[], uint8_t length);
-extern void Pmp_SetPmhl(uint8_t header[], uint8_t length);
-extern void Pmp_SetFph(uint8_t header[], Pmp_FifoId_t id, Pmp_MsgType_t type);
-extern void Pmp_SetExtType(uint8_t header[], uint8_t type, uint8_t code);
-extern void Pmp_SetSid(uint8_t header[], uint8_t sid);
-
-extern uint8_t Pmp_GetPml(uint8_t header[]);
-extern uint8_t Pmp_GetPmhl(uint8_t header[]);
-extern Pmp_FifoId_t Pmp_GetFifoId(uint8_t header[]);
-extern Pmp_MsgType_t Pmp_GetMsgType(uint8_t header[]);
-extern uint8_t Pmp_GetSid(uint8_t header[]);
-extern uint8_t Pmp_GetDataSize(uint8_t header[]);
-extern uint8_t Pmp_GetData(uint8_t header[], uint8_t index);
-extern bool Pmp_VerifyHeader(uint8_t header[], uint8_t buf_len);
-
-/*------------------------------------------------------------------------------------------------*/
-/* Class CPmh */
-/*------------------------------------------------------------------------------------------------*/
-/*! \brief Defines the content of a Port Message Header
- * \details The current structure does not support "direction" and "retransmitted" flag.
- */
-typedef struct CPmh_
-{
- uint8_t pml; /*!< \brief Port Message length */
- uint8_t pmhl; /*!< \brief Port Message Header length */
- Pmp_MsgType_t msg_type; /*!< \brief Port Message type */
- Pmp_FifoId_t fifo_id; /*!< \brief FIFO identifier */
- uint8_t sid; /*!< \brief The SequenceId */
- uint8_t ext_type; /*!< \brief status or content type */
-
-} CPmh;
-
-/*------------------------------------------------------------------------------------------------*/
-/* Function Prototypes */
-/*------------------------------------------------------------------------------------------------*/
-extern void Pmh_Ctor(CPmh *self);
-extern void Pmh_BuildHeader(CPmh *self, uint8_t data[]);
-extern void Pmh_DecodeHeader(CPmh *self, uint8_t data[]);
-extern void Pmh_SetFph(CPmh *self, Pmp_FifoId_t fifo_id, Pmp_MsgType_t msg_type);
-extern Pmp_StatusType_t Pmh_GetExtStatusType(CPmh *self);
-extern Pmp_StatusCode_t Pmh_GetExtStatusCode(CPmh *self);
-extern Pmp_CommandCode_t Pmh_GetExtCommandCode(CPmh *self);
-extern Pmp_CommandType_t Pmh_GetExtCommandType(CPmh *self);
-extern void Pmh_SetExtType(CPmh *self, uint8_t type, uint8_t code);
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* UCS_PMP_H */
-
-/*!
- * @}
- * \endcond
- */
-
-/*------------------------------------------------------------------------------------------------*/
-/* End of file */
-/*------------------------------------------------------------------------------------------------*/
-