aboutsummaryrefslogtreecommitdiffstats
path: root/libmaple/usb/usb_lib/usb_regs.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmaple/usb/usb_lib/usb_regs.c')
-rw-r--r--libmaple/usb/usb_lib/usb_regs.c1496
1 files changed, 748 insertions, 748 deletions
diff --git a/libmaple/usb/usb_lib/usb_regs.c b/libmaple/usb/usb_lib/usb_regs.c
index c28ef5a..c7e0276 100644
--- a/libmaple/usb/usb_lib/usb_regs.c
+++ b/libmaple/usb/usb_lib/usb_regs.c
@@ -1,748 +1,748 @@
-/******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
-* File Name : usb_regs.c
-* Author : MCD Application Team
-* Version : V2.2.1
-* Date : 09/22/2008
-* Description : Interface functions to USB cell registers
-********************************************************************************
-* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
-* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
-* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
-* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
-* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
-* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
-*******************************************************************************/
-
-/* Includes ------------------------------------------------------------------*/
-#include "usb_lib.h"
-
-/* Private typedef -----------------------------------------------------------*/
-/* Private define ------------------------------------------------------------*/
-/* Private macro -------------------------------------------------------------*/
-/* Private variables ---------------------------------------------------------*/
-/* Extern variables ----------------------------------------------------------*/
-/* Private function prototypes -----------------------------------------------*/
-/* Private functions ---------------------------------------------------------*/
-
-/*******************************************************************************
-* Function Name : SetCNTR.
-* Description : Set the CNTR register value.
-* Input : wRegValue: new register value.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetCNTR(u16 wRegValue)
-{
- _SetCNTR(wRegValue);
-}
-
-/*******************************************************************************
-* Function Name : GetCNTR.
-* Description : returns the CNTR register value.
-* Input : None.
-* Output : None.
-* Return : CNTR register Value.
-*******************************************************************************/
-u16 GetCNTR(void)
-{
- return(_GetCNTR());
-}
-
-/*******************************************************************************
-* Function Name : SetISTR.
-* Description : Set the ISTR register value.
-* Input : wRegValue: new register value.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetISTR(u16 wRegValue)
-{
- _SetISTR(wRegValue);
-}
-
-/*******************************************************************************
-* Function Name : GetISTR
-* Description : Returns the ISTR register value.
-* Input : None.
-* Output : None.
-* Return : ISTR register Value
-*******************************************************************************/
-u16 GetISTR(void)
-{
- return(_GetISTR());
-}
-
-/*******************************************************************************
-* Function Name : GetFNR
-* Description : Returns the FNR register value.
-* Input : None.
-* Output : None.
-* Return : FNR register Value
-*******************************************************************************/
-u16 GetFNR(void)
-{
- return(_GetFNR());
-}
-
-/*******************************************************************************
-* Function Name : SetDADDR
-* Description : Set the DADDR register value.
-* Input : wRegValue: new register value.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetDADDR(u16 wRegValue)
-{
- _SetDADDR(wRegValue);
-}
-
-/*******************************************************************************
-* Function Name : GetDADDR
-* Description : Returns the DADDR register value.
-* Input : None.
-* Output : None.
-* Return : DADDR register Value
-*******************************************************************************/
-u16 GetDADDR(void)
-{
- return(_GetDADDR());
-}
-
-/*******************************************************************************
-* Function Name : SetBTABLE
-* Description : Set the BTABLE.
-* Input : wRegValue: New register value.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetBTABLE(u16 wRegValue)
-{
- _SetBTABLE(wRegValue);
-}
-
-/*******************************************************************************
-* Function Name : GetBTABLE.
-* Description : Returns the BTABLE register value.
-* Input : None.
-* Output : None.
-* Return : BTABLE address.
-*******************************************************************************/
-u16 GetBTABLE(void)
-{
- return(_GetBTABLE());
-}
-
-/*******************************************************************************
-* Function Name : SetENDPOINT
-* Description : Setthe Endpoint register value.
-* Input : bEpNum: Endpoint Number.
-* wRegValue.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetENDPOINT(u8 bEpNum, u16 wRegValue)
-{
- _SetENDPOINT(bEpNum, wRegValue);
-}
-
-/*******************************************************************************
-* Function Name : GetENDPOINT
-* Description : Return the Endpoint register value.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : Endpoint register value.
-*******************************************************************************/
-u16 GetENDPOINT(u8 bEpNum)
-{
- return(_GetENDPOINT(bEpNum));
-}
-
-/*******************************************************************************
-* Function Name : SetEPType
-* Description : sets the type in the endpoint register.
-* Input : bEpNum: Endpoint Number.
-* wType: type definition.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetEPType(u8 bEpNum, u16 wType)
-{
- _SetEPType(bEpNum, wType);
-}
-
-/*******************************************************************************
-* Function Name : GetEPType
-* Description : Returns the endpoint type.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : Endpoint Type
-*******************************************************************************/
-u16 GetEPType(u8 bEpNum)
-{
- return(_GetEPType(bEpNum));
-}
-
-/*******************************************************************************
-* Function Name : SetEPTxStatus
-* Description : Set the status of Tx endpoint.
-* Input : bEpNum: Endpoint Number.
-* wState: new state.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetEPTxStatus(u8 bEpNum, u16 wState)
-{
- _SetEPTxStatus(bEpNum, wState);
-}
-
-/*******************************************************************************
-* Function Name : SetEPRxStatus
-* Description : Set the status of Rx endpoint.
-* Input : bEpNum: Endpoint Number.
-* wState: new state.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetEPRxStatus(u8 bEpNum, u16 wState)
-{
- _SetEPRxStatus(bEpNum, wState);
-}
-
-/*******************************************************************************
-* Function Name : SetDouBleBuffEPStall
-* Description : sets the status for Double Buffer Endpoint to STALL
-* Input : bEpNum: Endpoint Number.
-* bDir: Endpoint direction.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetDouBleBuffEPStall(u8 bEpNum, u8 bDir)
-{
- u16 Endpoint_DTOG_Status;
- Endpoint_DTOG_Status = GetENDPOINT(bEpNum);
- if (bDir == EP_DBUF_OUT)
- { /* OUT double buffered endpoint */
- _SetENDPOINT(bEpNum, Endpoint_DTOG_Status & ~EPRX_DTOG1);
- }
- else if (bDir == EP_DBUF_IN)
- { /* IN double buffered endpoint */
- _SetENDPOINT(bEpNum, Endpoint_DTOG_Status & ~EPTX_DTOG1);
- }
-}
-
-/*******************************************************************************
-* Function Name : GetEPTxStatus
-* Description : Returns the endpoint Tx status.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : Endpoint TX Status
-*******************************************************************************/
-u16 GetEPTxStatus(u8 bEpNum)
-{
- return(_GetEPTxStatus(bEpNum));
-}
-
-/*******************************************************************************
-* Function Name : GetEPRxStatus
-* Description : Returns the endpoint Rx status.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : Endpoint RX Status
-*******************************************************************************/
-u16 GetEPRxStatus(u8 bEpNum)
-{
- return(_GetEPRxStatus(bEpNum));
-}
-
-/*******************************************************************************
-* Function Name : SetEPTxValid
-* Description : Valid the endpoint Tx Status.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetEPTxValid(u8 bEpNum)
-{
- _SetEPTxStatus(bEpNum, EP_TX_VALID);
-}
-
-/*******************************************************************************
-* Function Name : SetEPRxValid
-* Description : Valid the endpoint Rx Status.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetEPRxValid(u8 bEpNum)
-{
- _SetEPRxStatus(bEpNum, EP_RX_VALID);
-}
-
-/*******************************************************************************
-* Function Name : SetEP_KIND
-* Description : Clear the EP_KIND bit.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetEP_KIND(u8 bEpNum)
-{
- _SetEP_KIND(bEpNum);
-}
-
-/*******************************************************************************
-* Function Name : ClearEP_KIND
-* Description : set the EP_KIND bit.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void ClearEP_KIND(u8 bEpNum)
-{
- _ClearEP_KIND(bEpNum);
-}
-/*******************************************************************************
-* Function Name : Clear_Status_Out
-* Description : Clear the Status Out of the related Endpoint
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void Clear_Status_Out(u8 bEpNum)
-{
- _ClearEP_KIND(bEpNum);
-}
-/*******************************************************************************
-* Function Name : Set_Status_Out
-* Description : Set the Status Out of the related Endpoint
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void Set_Status_Out(u8 bEpNum)
-{
- _SetEP_KIND(bEpNum);
-}
-/*******************************************************************************
-* Function Name : SetEPDoubleBuff
-* Description : Enable the double buffer feature for the endpoint.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetEPDoubleBuff(u8 bEpNum)
-{
- _SetEP_KIND(bEpNum);
-}
-/*******************************************************************************
-* Function Name : ClearEPDoubleBuff
-* Description : Disable the double buffer feature for the endpoint.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void ClearEPDoubleBuff(u8 bEpNum)
-{
- _ClearEP_KIND(bEpNum);
-}
-/*******************************************************************************
-* Function Name : GetTxStallStatus
-* Description : Returns the Stall status of the Tx endpoint.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : Tx Stall status.
-*******************************************************************************/
-u16 GetTxStallStatus(u8 bEpNum)
-{
- return(_GetTxStallStatus(bEpNum));
-}
-/*******************************************************************************
-* Function Name : GetRxStallStatus
-* Description : Returns the Stall status of the Rx endpoint.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : Rx Stall status.
-*******************************************************************************/
-u16 GetRxStallStatus(u8 bEpNum)
-{
- return(_GetRxStallStatus(bEpNum));
-}
-/*******************************************************************************
-* Function Name : ClearEP_CTR_RX
-* Description : Clear the CTR_RX bit.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void ClearEP_CTR_RX(u8 bEpNum)
-{
- _ClearEP_CTR_RX(bEpNum);
-}
-/*******************************************************************************
-* Function Name : ClearEP_CTR_TX
-* Description : Clear the CTR_TX bit.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void ClearEP_CTR_TX(u8 bEpNum)
-{
- _ClearEP_CTR_TX(bEpNum);
-}
-/*******************************************************************************
-* Function Name : ToggleDTOG_RX
-* Description : Toggle the DTOG_RX bit.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void ToggleDTOG_RX(u8 bEpNum)
-{
- _ToggleDTOG_RX(bEpNum);
-}
-/*******************************************************************************
-* Function Name : ToggleDTOG_TX
-* Description : Toggle the DTOG_TX bit.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void ToggleDTOG_TX(u8 bEpNum)
-{
- _ToggleDTOG_TX(bEpNum);
-}
-/*******************************************************************************
-* Function Name : ClearDTOG_RX.
-* Description : Clear the DTOG_RX bit.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void ClearDTOG_RX(u8 bEpNum)
-{
- _ClearDTOG_RX(bEpNum);
-}
-/*******************************************************************************
-* Function Name : ClearDTOG_TX.
-* Description : Clear the DTOG_TX bit.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void ClearDTOG_TX(u8 bEpNum)
-{
- _ClearDTOG_TX(bEpNum);
-}
-/*******************************************************************************
-* Function Name : SetEPAddress
-* Description : Set the endpoint address.
-* Input : bEpNum: Endpoint Number.
-* bAddr: New endpoint address.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetEPAddress(u8 bEpNum, u8 bAddr)
-{
- _SetEPAddress(bEpNum, bAddr);
-}
-/*******************************************************************************
-* Function Name : GetEPAddress
-* Description : Get the endpoint address.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : Endpoint address.
-*******************************************************************************/
-u8 GetEPAddress(u8 bEpNum)
-{
- return(_GetEPAddress(bEpNum));
-}
-/*******************************************************************************
-* Function Name : SetEPTxAddr
-* Description : Set the endpoint Tx buffer address.
-* Input : bEpNum: Endpoint Number.
-* wAddr: new address.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetEPTxAddr(u8 bEpNum, u16 wAddr)
-{
- _SetEPTxAddr(bEpNum, wAddr);
-}
-/*******************************************************************************
-* Function Name : SetEPRxAddr
-* Description : Set the endpoint Rx buffer address.
-* Input : bEpNum: Endpoint Number.
-* wAddr: new address.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetEPRxAddr(u8 bEpNum, u16 wAddr)
-{
- _SetEPRxAddr(bEpNum, wAddr);
-}
-/*******************************************************************************
-* Function Name : GetEPTxAddr
-* Description : Returns the endpoint Tx buffer address.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : Rx buffer address.
-*******************************************************************************/
-u16 GetEPTxAddr(u8 bEpNum)
-{
- return(_GetEPTxAddr(bEpNum));
-}
-/*******************************************************************************
-* Function Name : GetEPRxAddr.
-* Description : Returns the endpoint Rx buffer address.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : Rx buffer address.
-*******************************************************************************/
-u16 GetEPRxAddr(u8 bEpNum)
-{
- return(_GetEPRxAddr(bEpNum));
-}
-/*******************************************************************************
-* Function Name : SetEPTxCount.
-* Description : Set the Tx count.
-* Input : bEpNum: Endpoint Number.
-* wCount: new count value.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetEPTxCount(u8 bEpNum, u16 wCount)
-{
- _SetEPTxCount(bEpNum, wCount);
-}
-/*******************************************************************************
-* Function Name : SetEPCountRxReg.
-* Description : Set the Count Rx Register value.
-* Input : *pdwReg: point to the register.
-* wCount: the new register value.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetEPCountRxReg(u32 *pdwReg, u16 wCount)
-{
- _SetEPCountRxReg(dwReg, wCount);
-}
-/*******************************************************************************
-* Function Name : SetEPRxCount
-* Description : Set the Rx count.
-* Input : bEpNum: Endpoint Number.
-* wCount: the new count value.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetEPRxCount(u8 bEpNum, u16 wCount)
-{
- _SetEPRxCount(bEpNum, wCount);
-}
-/*******************************************************************************
-* Function Name : GetEPTxCount
-* Description : Get the Tx count.
-* Input : bEpNum: Endpoint Number.
-* Output : None
-* Return : Tx count value.
-*******************************************************************************/
-u16 GetEPTxCount(u8 bEpNum)
-{
- return(_GetEPTxCount(bEpNum));
-}
-/*******************************************************************************
-* Function Name : GetEPRxCount
-* Description : Get the Rx count.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : Rx count value.
-*******************************************************************************/
-u16 GetEPRxCount(u8 bEpNum)
-{
- return(_GetEPRxCount(bEpNum));
-}
-/*******************************************************************************
-* Function Name : SetEPDblBuffAddr
-* Description : Set the addresses of the buffer 0 and 1.
-* Input : bEpNum: Endpoint Number.
-* wBuf0Addr: new address of buffer 0.
-* wBuf1Addr: new address of buffer 1.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetEPDblBuffAddr(u8 bEpNum, u16 wBuf0Addr, u16 wBuf1Addr)
-{
- _SetEPDblBuffAddr(bEpNum, wBuf0Addr, wBuf1Addr);
-}
-/*******************************************************************************
-* Function Name : SetEPDblBuf0Addr
-* Description : Set the Buffer 1 address.
-* Input : bEpNum: Endpoint Number
-* wBuf0Addr: new address.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetEPDblBuf0Addr(u8 bEpNum, u16 wBuf0Addr)
-{
- _SetEPDblBuf0Addr(bEpNum, wBuf0Addr);
-}
-/*******************************************************************************
-* Function Name : SetEPDblBuf1Addr
-* Description : Set the Buffer 1 address.
-* Input : bEpNum: Endpoint Number
-* wBuf1Addr: new address.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetEPDblBuf1Addr(u8 bEpNum, u16 wBuf1Addr)
-{
- _SetEPDblBuf1Addr(bEpNum, wBuf1Addr);
-}
-/*******************************************************************************
-* Function Name : GetEPDblBuf0Addr
-* Description : Returns the address of the Buffer 0.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : None.
-*******************************************************************************/
-u16 GetEPDblBuf0Addr(u8 bEpNum)
-{
- return(_GetEPDblBuf0Addr(bEpNum));
-}
-/*******************************************************************************
-* Function Name : GetEPDblBuf1Addr
-* Description : Returns the address of the Buffer 1.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : Address of the Buffer 1.
-*******************************************************************************/
-u16 GetEPDblBuf1Addr(u8 bEpNum)
-{
- return(_GetEPDblBuf1Addr(bEpNum));
-}
-/*******************************************************************************
-* Function Name : SetEPDblBuffCount
-* Description : Set the number of bytes for a double Buffer
-* endpoint.
-* Input : bEpNum,bDir, wCount
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetEPDblBuffCount(u8 bEpNum, u8 bDir, u16 wCount)
-{
- _SetEPDblBuffCount(bEpNum, bDir, wCount);
-}
-/*******************************************************************************
-* Function Name : SetEPDblBuf0Count
-* Description : Set the number of bytes in the buffer 0 of a double Buffer
-* endpoint.
-* Input : bEpNum, bDir, wCount
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetEPDblBuf0Count(u8 bEpNum, u8 bDir, u16 wCount)
-{
- _SetEPDblBuf0Count(bEpNum, bDir, wCount);
-}
-/*******************************************************************************
-* Function Name : SetEPDblBuf1Count
-* Description : Set the number of bytes in the buffer 0 of a double Buffer
-* endpoint.
-* Input : bEpNum, bDir, wCount
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void SetEPDblBuf1Count(u8 bEpNum, u8 bDir, u16 wCount)
-{
- _SetEPDblBuf1Count(bEpNum, bDir, wCount);
-}
-/*******************************************************************************
-* Function Name : GetEPDblBuf0Count
-* Description : Returns the number of byte received in the buffer 0 of a double
-* Buffer endpoint.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : Endpoint Buffer 0 count
-*******************************************************************************/
-u16 GetEPDblBuf0Count(u8 bEpNum)
-{
- return(_GetEPDblBuf0Count(bEpNum));
-}
-/*******************************************************************************
-* Function Name : GetEPDblBuf1Count
-* Description : Returns the number of data received in the buffer 1 of a double
-* Buffer endpoint.
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : Endpoint Buffer 1 count.
-*******************************************************************************/
-u16 GetEPDblBuf1Count(u8 bEpNum)
-{
- return(_GetEPDblBuf1Count(bEpNum));
-}
-/*******************************************************************************
-* Function Name : GetEPDblBufDir
-* Description : gets direction of the double buffered endpoint
-* Input : bEpNum: Endpoint Number.
-* Output : None.
-* Return : EP_DBUF_OUT, EP_DBUF_IN,
-* EP_DBUF_ERR if the endpoint counter not yet programmed.
-*******************************************************************************/
-EP_DBUF_DIR GetEPDblBufDir(u8 bEpNum)
-{
- if ((u16)(*_pEPRxCount(bEpNum) & 0xFC00) != 0)
- return(EP_DBUF_OUT);
- else if (((u16)(*_pEPTxCount(bEpNum)) & 0x03FF) != 0)
- return(EP_DBUF_IN);
- else
- return(EP_DBUF_ERR);
-}
-/*******************************************************************************
-* Function Name : FreeUserBuffer
-* Description : free buffer used from the application realizing it to the line
- toggles bit SW_BUF in the double buffered endpoint register
-* Input : bEpNum, bDir
-* Output : None.
-* Return : None.
-*******************************************************************************/
-void FreeUserBuffer(u8 bEpNum, u8 bDir)
-{
- if (bDir == EP_DBUF_OUT)
- { /* OUT double buffered endpoint */
- _ToggleDTOG_TX(bEpNum);
- }
- else if (bDir == EP_DBUF_IN)
- { /* IN double buffered endpoint */
- _ToggleDTOG_RX(bEpNum);
- }
-}
-
-/*******************************************************************************
-* Function Name : ToWord
-* Description : merge two byte in a word.
-* Input : bh: byte high, bl: bytes low.
-* Output : None.
-* Return : resulted word.
-*******************************************************************************/
-u16 ToWord(u8 bh, u8 bl)
-{
- u16 wRet;
- wRet = (u16)bl | ((u16)bh << 8);
- return(wRet);
-}
-/*******************************************************************************
-* Function Name : ByteSwap
-* Description : Swap two byte in a word.
-* Input : wSwW: word to Swap.
-* Output : None.
-* Return : resulted word.
-*******************************************************************************/
-u16 ByteSwap(u16 wSwW)
-{
- u8 bTemp;
- u16 wRet;
- bTemp = (u8)(wSwW & 0xff);
- wRet = (wSwW >> 8) | ((u16)bTemp << 8);
- return(wRet);
-}
-
-/******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/
+/******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
+* File Name : usb_regs.c
+* Author : MCD Application Team
+* Version : V2.2.1
+* Date : 09/22/2008
+* Description : Interface functions to USB cell registers
+********************************************************************************
+* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
+* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
+* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
+* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
+* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
+* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+*******************************************************************************/
+
+/* Includes ------------------------------------------------------------------*/
+#include "usb_lib.h"
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+/* Extern variables ----------------------------------------------------------*/
+/* Private function prototypes -----------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+
+/*******************************************************************************
+* Function Name : SetCNTR.
+* Description : Set the CNTR register value.
+* Input : wRegValue: new register value.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetCNTR(u16 wRegValue)
+{
+ _SetCNTR(wRegValue);
+}
+
+/*******************************************************************************
+* Function Name : GetCNTR.
+* Description : returns the CNTR register value.
+* Input : None.
+* Output : None.
+* Return : CNTR register Value.
+*******************************************************************************/
+u16 GetCNTR(void)
+{
+ return(_GetCNTR());
+}
+
+/*******************************************************************************
+* Function Name : SetISTR.
+* Description : Set the ISTR register value.
+* Input : wRegValue: new register value.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetISTR(u16 wRegValue)
+{
+ _SetISTR(wRegValue);
+}
+
+/*******************************************************************************
+* Function Name : GetISTR
+* Description : Returns the ISTR register value.
+* Input : None.
+* Output : None.
+* Return : ISTR register Value
+*******************************************************************************/
+u16 GetISTR(void)
+{
+ return(_GetISTR());
+}
+
+/*******************************************************************************
+* Function Name : GetFNR
+* Description : Returns the FNR register value.
+* Input : None.
+* Output : None.
+* Return : FNR register Value
+*******************************************************************************/
+u16 GetFNR(void)
+{
+ return(_GetFNR());
+}
+
+/*******************************************************************************
+* Function Name : SetDADDR
+* Description : Set the DADDR register value.
+* Input : wRegValue: new register value.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetDADDR(u16 wRegValue)
+{
+ _SetDADDR(wRegValue);
+}
+
+/*******************************************************************************
+* Function Name : GetDADDR
+* Description : Returns the DADDR register value.
+* Input : None.
+* Output : None.
+* Return : DADDR register Value
+*******************************************************************************/
+u16 GetDADDR(void)
+{
+ return(_GetDADDR());
+}
+
+/*******************************************************************************
+* Function Name : SetBTABLE
+* Description : Set the BTABLE.
+* Input : wRegValue: New register value.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetBTABLE(u16 wRegValue)
+{
+ _SetBTABLE(wRegValue);
+}
+
+/*******************************************************************************
+* Function Name : GetBTABLE.
+* Description : Returns the BTABLE register value.
+* Input : None.
+* Output : None.
+* Return : BTABLE address.
+*******************************************************************************/
+u16 GetBTABLE(void)
+{
+ return(_GetBTABLE());
+}
+
+/*******************************************************************************
+* Function Name : SetENDPOINT
+* Description : Setthe Endpoint register value.
+* Input : bEpNum: Endpoint Number.
+* wRegValue.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetENDPOINT(u8 bEpNum, u16 wRegValue)
+{
+ _SetENDPOINT(bEpNum, wRegValue);
+}
+
+/*******************************************************************************
+* Function Name : GetENDPOINT
+* Description : Return the Endpoint register value.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : Endpoint register value.
+*******************************************************************************/
+u16 GetENDPOINT(u8 bEpNum)
+{
+ return(_GetENDPOINT(bEpNum));
+}
+
+/*******************************************************************************
+* Function Name : SetEPType
+* Description : sets the type in the endpoint register.
+* Input : bEpNum: Endpoint Number.
+* wType: type definition.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetEPType(u8 bEpNum, u16 wType)
+{
+ _SetEPType(bEpNum, wType);
+}
+
+/*******************************************************************************
+* Function Name : GetEPType
+* Description : Returns the endpoint type.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : Endpoint Type
+*******************************************************************************/
+u16 GetEPType(u8 bEpNum)
+{
+ return(_GetEPType(bEpNum));
+}
+
+/*******************************************************************************
+* Function Name : SetEPTxStatus
+* Description : Set the status of Tx endpoint.
+* Input : bEpNum: Endpoint Number.
+* wState: new state.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetEPTxStatus(u8 bEpNum, u16 wState)
+{
+ _SetEPTxStatus(bEpNum, wState);
+}
+
+/*******************************************************************************
+* Function Name : SetEPRxStatus
+* Description : Set the status of Rx endpoint.
+* Input : bEpNum: Endpoint Number.
+* wState: new state.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetEPRxStatus(u8 bEpNum, u16 wState)
+{
+ _SetEPRxStatus(bEpNum, wState);
+}
+
+/*******************************************************************************
+* Function Name : SetDouBleBuffEPStall
+* Description : sets the status for Double Buffer Endpoint to STALL
+* Input : bEpNum: Endpoint Number.
+* bDir: Endpoint direction.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetDouBleBuffEPStall(u8 bEpNum, u8 bDir)
+{
+ u16 Endpoint_DTOG_Status;
+ Endpoint_DTOG_Status = GetENDPOINT(bEpNum);
+ if (bDir == EP_DBUF_OUT)
+ { /* OUT double buffered endpoint */
+ _SetENDPOINT(bEpNum, Endpoint_DTOG_Status & ~EPRX_DTOG1);
+ }
+ else if (bDir == EP_DBUF_IN)
+ { /* IN double buffered endpoint */
+ _SetENDPOINT(bEpNum, Endpoint_DTOG_Status & ~EPTX_DTOG1);
+ }
+}
+
+/*******************************************************************************
+* Function Name : GetEPTxStatus
+* Description : Returns the endpoint Tx status.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : Endpoint TX Status
+*******************************************************************************/
+u16 GetEPTxStatus(u8 bEpNum)
+{
+ return(_GetEPTxStatus(bEpNum));
+}
+
+/*******************************************************************************
+* Function Name : GetEPRxStatus
+* Description : Returns the endpoint Rx status.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : Endpoint RX Status
+*******************************************************************************/
+u16 GetEPRxStatus(u8 bEpNum)
+{
+ return(_GetEPRxStatus(bEpNum));
+}
+
+/*******************************************************************************
+* Function Name : SetEPTxValid
+* Description : Valid the endpoint Tx Status.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetEPTxValid(u8 bEpNum)
+{
+ _SetEPTxStatus(bEpNum, EP_TX_VALID);
+}
+
+/*******************************************************************************
+* Function Name : SetEPRxValid
+* Description : Valid the endpoint Rx Status.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetEPRxValid(u8 bEpNum)
+{
+ _SetEPRxStatus(bEpNum, EP_RX_VALID);
+}
+
+/*******************************************************************************
+* Function Name : SetEP_KIND
+* Description : Clear the EP_KIND bit.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetEP_KIND(u8 bEpNum)
+{
+ _SetEP_KIND(bEpNum);
+}
+
+/*******************************************************************************
+* Function Name : ClearEP_KIND
+* Description : set the EP_KIND bit.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void ClearEP_KIND(u8 bEpNum)
+{
+ _ClearEP_KIND(bEpNum);
+}
+/*******************************************************************************
+* Function Name : Clear_Status_Out
+* Description : Clear the Status Out of the related Endpoint
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void Clear_Status_Out(u8 bEpNum)
+{
+ _ClearEP_KIND(bEpNum);
+}
+/*******************************************************************************
+* Function Name : Set_Status_Out
+* Description : Set the Status Out of the related Endpoint
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void Set_Status_Out(u8 bEpNum)
+{
+ _SetEP_KIND(bEpNum);
+}
+/*******************************************************************************
+* Function Name : SetEPDoubleBuff
+* Description : Enable the double buffer feature for the endpoint.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetEPDoubleBuff(u8 bEpNum)
+{
+ _SetEP_KIND(bEpNum);
+}
+/*******************************************************************************
+* Function Name : ClearEPDoubleBuff
+* Description : Disable the double buffer feature for the endpoint.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void ClearEPDoubleBuff(u8 bEpNum)
+{
+ _ClearEP_KIND(bEpNum);
+}
+/*******************************************************************************
+* Function Name : GetTxStallStatus
+* Description : Returns the Stall status of the Tx endpoint.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : Tx Stall status.
+*******************************************************************************/
+u16 GetTxStallStatus(u8 bEpNum)
+{
+ return(_GetTxStallStatus(bEpNum));
+}
+/*******************************************************************************
+* Function Name : GetRxStallStatus
+* Description : Returns the Stall status of the Rx endpoint.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : Rx Stall status.
+*******************************************************************************/
+u16 GetRxStallStatus(u8 bEpNum)
+{
+ return(_GetRxStallStatus(bEpNum));
+}
+/*******************************************************************************
+* Function Name : ClearEP_CTR_RX
+* Description : Clear the CTR_RX bit.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void ClearEP_CTR_RX(u8 bEpNum)
+{
+ _ClearEP_CTR_RX(bEpNum);
+}
+/*******************************************************************************
+* Function Name : ClearEP_CTR_TX
+* Description : Clear the CTR_TX bit.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void ClearEP_CTR_TX(u8 bEpNum)
+{
+ _ClearEP_CTR_TX(bEpNum);
+}
+/*******************************************************************************
+* Function Name : ToggleDTOG_RX
+* Description : Toggle the DTOG_RX bit.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void ToggleDTOG_RX(u8 bEpNum)
+{
+ _ToggleDTOG_RX(bEpNum);
+}
+/*******************************************************************************
+* Function Name : ToggleDTOG_TX
+* Description : Toggle the DTOG_TX bit.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void ToggleDTOG_TX(u8 bEpNum)
+{
+ _ToggleDTOG_TX(bEpNum);
+}
+/*******************************************************************************
+* Function Name : ClearDTOG_RX.
+* Description : Clear the DTOG_RX bit.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void ClearDTOG_RX(u8 bEpNum)
+{
+ _ClearDTOG_RX(bEpNum);
+}
+/*******************************************************************************
+* Function Name : ClearDTOG_TX.
+* Description : Clear the DTOG_TX bit.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void ClearDTOG_TX(u8 bEpNum)
+{
+ _ClearDTOG_TX(bEpNum);
+}
+/*******************************************************************************
+* Function Name : SetEPAddress
+* Description : Set the endpoint address.
+* Input : bEpNum: Endpoint Number.
+* bAddr: New endpoint address.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetEPAddress(u8 bEpNum, u8 bAddr)
+{
+ _SetEPAddress(bEpNum, bAddr);
+}
+/*******************************************************************************
+* Function Name : GetEPAddress
+* Description : Get the endpoint address.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : Endpoint address.
+*******************************************************************************/
+u8 GetEPAddress(u8 bEpNum)
+{
+ return(_GetEPAddress(bEpNum));
+}
+/*******************************************************************************
+* Function Name : SetEPTxAddr
+* Description : Set the endpoint Tx buffer address.
+* Input : bEpNum: Endpoint Number.
+* wAddr: new address.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetEPTxAddr(u8 bEpNum, u16 wAddr)
+{
+ _SetEPTxAddr(bEpNum, wAddr);
+}
+/*******************************************************************************
+* Function Name : SetEPRxAddr
+* Description : Set the endpoint Rx buffer address.
+* Input : bEpNum: Endpoint Number.
+* wAddr: new address.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetEPRxAddr(u8 bEpNum, u16 wAddr)
+{
+ _SetEPRxAddr(bEpNum, wAddr);
+}
+/*******************************************************************************
+* Function Name : GetEPTxAddr
+* Description : Returns the endpoint Tx buffer address.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : Rx buffer address.
+*******************************************************************************/
+u16 GetEPTxAddr(u8 bEpNum)
+{
+ return(_GetEPTxAddr(bEpNum));
+}
+/*******************************************************************************
+* Function Name : GetEPRxAddr.
+* Description : Returns the endpoint Rx buffer address.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : Rx buffer address.
+*******************************************************************************/
+u16 GetEPRxAddr(u8 bEpNum)
+{
+ return(_GetEPRxAddr(bEpNum));
+}
+/*******************************************************************************
+* Function Name : SetEPTxCount.
+* Description : Set the Tx count.
+* Input : bEpNum: Endpoint Number.
+* wCount: new count value.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetEPTxCount(u8 bEpNum, u16 wCount)
+{
+ _SetEPTxCount(bEpNum, wCount);
+}
+/*******************************************************************************
+* Function Name : SetEPCountRxReg.
+* Description : Set the Count Rx Register value.
+* Input : *pdwReg: point to the register.
+* wCount: the new register value.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetEPCountRxReg(u32 *pdwReg, u16 wCount)
+{
+ _SetEPCountRxReg(dwReg, wCount);
+}
+/*******************************************************************************
+* Function Name : SetEPRxCount
+* Description : Set the Rx count.
+* Input : bEpNum: Endpoint Number.
+* wCount: the new count value.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetEPRxCount(u8 bEpNum, u16 wCount)
+{
+ _SetEPRxCount(bEpNum, wCount);
+}
+/*******************************************************************************
+* Function Name : GetEPTxCount
+* Description : Get the Tx count.
+* Input : bEpNum: Endpoint Number.
+* Output : None
+* Return : Tx count value.
+*******************************************************************************/
+u16 GetEPTxCount(u8 bEpNum)
+{
+ return(_GetEPTxCount(bEpNum));
+}
+/*******************************************************************************
+* Function Name : GetEPRxCount
+* Description : Get the Rx count.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : Rx count value.
+*******************************************************************************/
+u16 GetEPRxCount(u8 bEpNum)
+{
+ return(_GetEPRxCount(bEpNum));
+}
+/*******************************************************************************
+* Function Name : SetEPDblBuffAddr
+* Description : Set the addresses of the buffer 0 and 1.
+* Input : bEpNum: Endpoint Number.
+* wBuf0Addr: new address of buffer 0.
+* wBuf1Addr: new address of buffer 1.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetEPDblBuffAddr(u8 bEpNum, u16 wBuf0Addr, u16 wBuf1Addr)
+{
+ _SetEPDblBuffAddr(bEpNum, wBuf0Addr, wBuf1Addr);
+}
+/*******************************************************************************
+* Function Name : SetEPDblBuf0Addr
+* Description : Set the Buffer 1 address.
+* Input : bEpNum: Endpoint Number
+* wBuf0Addr: new address.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetEPDblBuf0Addr(u8 bEpNum, u16 wBuf0Addr)
+{
+ _SetEPDblBuf0Addr(bEpNum, wBuf0Addr);
+}
+/*******************************************************************************
+* Function Name : SetEPDblBuf1Addr
+* Description : Set the Buffer 1 address.
+* Input : bEpNum: Endpoint Number
+* wBuf1Addr: new address.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetEPDblBuf1Addr(u8 bEpNum, u16 wBuf1Addr)
+{
+ _SetEPDblBuf1Addr(bEpNum, wBuf1Addr);
+}
+/*******************************************************************************
+* Function Name : GetEPDblBuf0Addr
+* Description : Returns the address of the Buffer 0.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : None.
+*******************************************************************************/
+u16 GetEPDblBuf0Addr(u8 bEpNum)
+{
+ return(_GetEPDblBuf0Addr(bEpNum));
+}
+/*******************************************************************************
+* Function Name : GetEPDblBuf1Addr
+* Description : Returns the address of the Buffer 1.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : Address of the Buffer 1.
+*******************************************************************************/
+u16 GetEPDblBuf1Addr(u8 bEpNum)
+{
+ return(_GetEPDblBuf1Addr(bEpNum));
+}
+/*******************************************************************************
+* Function Name : SetEPDblBuffCount
+* Description : Set the number of bytes for a double Buffer
+* endpoint.
+* Input : bEpNum,bDir, wCount
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetEPDblBuffCount(u8 bEpNum, u8 bDir, u16 wCount)
+{
+ _SetEPDblBuffCount(bEpNum, bDir, wCount);
+}
+/*******************************************************************************
+* Function Name : SetEPDblBuf0Count
+* Description : Set the number of bytes in the buffer 0 of a double Buffer
+* endpoint.
+* Input : bEpNum, bDir, wCount
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetEPDblBuf0Count(u8 bEpNum, u8 bDir, u16 wCount)
+{
+ _SetEPDblBuf0Count(bEpNum, bDir, wCount);
+}
+/*******************************************************************************
+* Function Name : SetEPDblBuf1Count
+* Description : Set the number of bytes in the buffer 0 of a double Buffer
+* endpoint.
+* Input : bEpNum, bDir, wCount
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void SetEPDblBuf1Count(u8 bEpNum, u8 bDir, u16 wCount)
+{
+ _SetEPDblBuf1Count(bEpNum, bDir, wCount);
+}
+/*******************************************************************************
+* Function Name : GetEPDblBuf0Count
+* Description : Returns the number of byte received in the buffer 0 of a double
+* Buffer endpoint.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : Endpoint Buffer 0 count
+*******************************************************************************/
+u16 GetEPDblBuf0Count(u8 bEpNum)
+{
+ return(_GetEPDblBuf0Count(bEpNum));
+}
+/*******************************************************************************
+* Function Name : GetEPDblBuf1Count
+* Description : Returns the number of data received in the buffer 1 of a double
+* Buffer endpoint.
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : Endpoint Buffer 1 count.
+*******************************************************************************/
+u16 GetEPDblBuf1Count(u8 bEpNum)
+{
+ return(_GetEPDblBuf1Count(bEpNum));
+}
+/*******************************************************************************
+* Function Name : GetEPDblBufDir
+* Description : gets direction of the double buffered endpoint
+* Input : bEpNum: Endpoint Number.
+* Output : None.
+* Return : EP_DBUF_OUT, EP_DBUF_IN,
+* EP_DBUF_ERR if the endpoint counter not yet programmed.
+*******************************************************************************/
+EP_DBUF_DIR GetEPDblBufDir(u8 bEpNum)
+{
+ if ((u16)(*_pEPRxCount(bEpNum) & 0xFC00) != 0)
+ return(EP_DBUF_OUT);
+ else if (((u16)(*_pEPTxCount(bEpNum)) & 0x03FF) != 0)
+ return(EP_DBUF_IN);
+ else
+ return(EP_DBUF_ERR);
+}
+/*******************************************************************************
+* Function Name : FreeUserBuffer
+* Description : free buffer used from the application realizing it to the line
+ toggles bit SW_BUF in the double buffered endpoint register
+* Input : bEpNum, bDir
+* Output : None.
+* Return : None.
+*******************************************************************************/
+void FreeUserBuffer(u8 bEpNum, u8 bDir)
+{
+ if (bDir == EP_DBUF_OUT)
+ { /* OUT double buffered endpoint */
+ _ToggleDTOG_TX(bEpNum);
+ }
+ else if (bDir == EP_DBUF_IN)
+ { /* IN double buffered endpoint */
+ _ToggleDTOG_RX(bEpNum);
+ }
+}
+
+/*******************************************************************************
+* Function Name : ToWord
+* Description : merge two byte in a word.
+* Input : bh: byte high, bl: bytes low.
+* Output : None.
+* Return : resulted word.
+*******************************************************************************/
+u16 ToWord(u8 bh, u8 bl)
+{
+ u16 wRet;
+ wRet = (u16)bl | ((u16)bh << 8);
+ return(wRet);
+}
+/*******************************************************************************
+* Function Name : ByteSwap
+* Description : Swap two byte in a word.
+* Input : wSwW: word to Swap.
+* Output : None.
+* Return : resulted word.
+*******************************************************************************/
+u16 ByteSwap(u16 wSwW)
+{
+ u8 bTemp;
+ u16 wRet;
+ bTemp = (u8)(wSwW & 0xff);
+ wRet = (wSwW >> 8) | ((u16)bTemp << 8);
+ return(wRet);
+}
+
+/******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/