⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 td1120p.h

📁 Usb Host/Periphel Control TD1120 codes
💻 H
📖 第 1 页 / 共 2 页
字号:
#define TD1120_DEV_EP_VALID_CODE_0_BYTE          0x7


/*------------------------------------------------------------------------------
         TAHAA CHIP LEVEL REGISTERS : DEVICE CONTROL SET/CLEAR REGISTER
------------------------------------------------------------------------------*/
#define TD1120_DEV_CTRL_FORCE_FULL_SPEED         0x0001
#define TD1120_DEV_CTRL_CONNECT_RESISTOR         0x0002
#define TD1120_DEV_CTRL_SUSPEND_XCEIVER          0x0004
#define TD1120_DEV_CTRL_RESUME_XCEIVER           0x0008
#define TD1120_DEV_CTRL_READ_DWORD_EN            0x0010
#define TD1120_DEV_CTRL_PSEUDO_SOF_EN            0x0020
#define TD1120_DEV_CTRL_OUT_FULL_EN              0x0040
#define TD1120_DEV_CTRL_IN_FIFO_EMPTY_EN         0x0080
#define TD1120_DEV_CTRL_SOFT_RESET               0x0100
#define TD1120_DEV_CTRL_OUT_PKT_EN               0x0200
#define TD1120_DEV_CTRL_UTMI_CLK_GOOD            0x1000
#define TD1120_DEV_CTRL_SUSPENDED                0x2000
#define TD1120_DEV_CTRL_SPEED                    0x4000
#define TD1120_DEV_CTRL_VBUS                     0x8000

/*------------------------------------------------------------------------------
TAHAA CHIP LEVEL REGISTERS :DEVICE INTERRUPT STATUS/CLEAR ENABLES/CLEAR REGISTER
------------------------------------------------------------------------------*/
/* #ifdef NEW_WITH_CHANGES */

#define TD1120_DEV_INTR_SETUP_TKN_RX             0x0001
#define TD1120_DEV_INTR_OUT_XFER_RX              0x0002
#define TD1120_DEV_INTR_OUT_THRSHLD_FILLED       0x0004
#define TD1120_DEV_INTR_IN_XFER_SENT             0x0010
#define TD1120_DEV_INTR_IN_THRSHLD_EMPTIED       0x0020
#define TD1120_DEV_INTR_DMA0_EVENT               0x0100
#define TD1120_DEV_INTR_DMA1_EVENT               0x0200
#define TD1120_DEV_INTR_VBUS_CHANGE              0x0400
#define TD1120_DEV_INTR_RESET_STARTED            0x0800
#define TD1120_DEV_INTR_RESET_FINISHED           0x1000
#define TD1120_DEV_INTR_SUSPEND_DETECTED         0x2000
#define TD1120_DEV_INTR_RESUME_DETECTED          0x4000
#define TD1120_DEV_INTR_SOF_DETECTED             0x8000

/*----------------------------------------------------------------------------
     TAHAA CHIP LEVEL REGISTERS : DEVICE DMA CONFIGURATION REGISTER
----------------------------------------------------------------------------*/
#define TD1120_DEV_DMA_CONFIG_EOT_POLARITY       0x0001
#define TD1120_DEV_DMA_CONFIG_ACK_POLARITY       0x0002
#define TD1120_DEV_DMA_CONFIG_RD_POLARITY        0x0003
#define TD1120_DEV_DMA_CONFIG_WR_POLARITY        0x0008
#define TD1120_DEV_DMA_CONFIG_REQ_POLARITY       0x0010
#define TD1120_DEV_DMA_CONFIG_EOT_EN             0x0020
#define TD1120_DEV_DMA_RD_WR_EN                  0x0040
#define TD1120_DEV_DMA_CONT_BURST_EN             0x0080
#define TD1120_DEV_DMA_BURST_COUNT_MASK          0x0F00

/*--------------------------------------------------------------------
     TAHAA CHIP LEVEL REGISTERS : DEVICE DMA CONTROL REGISTER
--------------------------------------------------------------------*/
#define TD1120_DEV_DMA_CTRL_EP_NUM_MASK          0x000F
#define TD1120_DEV_DMA_CTRL_XFER_DIRECTION       0x0010
#define TD1120_DEV_DMA_CTRL_AUTO_FILL_EN         0x0020
#define TD1120_DEV_DMA_CTRL_XFER_EN              0x0040
#define TD1120_DEV_DMA_CONFIG_RD_POLARITY        0x0003

/*--------------------------------------------------------------------
     TAHAA CHIP LEVEL REGISTERS : DEVICE DMA INTERRUPT REGISTER
--------------------------------------------------------------------*/
#define TD1120_DEV_DMA_INTR_XFER_COMPLETE        0x0001
#define TD1120_DEV_DMA_INTR_XFER_EN_RESET        0x0002
#define TD1120_DEV_DMA_INTR_AUTO_FILL_EN_RESET   0x0004
#define TD1120_DEV_DMA_INTR_EOT_RX               0x0008

/*--------------------------------------------------------------------
   TAHAA CHIP LEVEL REGISTERS : DEVICE DMA TRANSFER LENGTH REGISTER
--------------------------------------------------------------------*/
#define TD1120_DEV_DMA_XFER_LEN_MASK             0xFFFF

/*--------------------------------------------------------------------
    TAHAA CHIP LEVEL REGISTERS : TEST MODE REGISTER
--------------------------------------------------------------------*/
#define TD1120_DEV_TEST_MODE_MASK               0x0003
#define TD1120_DEV_TEST_MODE_EN                 0x0008

/*--------------------------------------------------------------------
    TAHAA CHIP LEVEL REGISTERS : OUT BYTE COUNT REGISTER
--------------------------------------------------------------------*/
#define TD1120_DEV_OUT_BYTE_COUNT_MASK          0x3FFC
#define TD1120_DEV_OUT_PKT_ERR_MASK             0x8000
#define TD1120_DEV_OUT_CRC_ERR_MASK             0x4000
#define TD1120_DEV_OUT_VALID_BYTE_MASK          0x0003

/*--------------------------------------------------------------------
    TAHAA CHIP LEVEL REGISTERS : IN BYTE COUNT REGISTER
--------------------------------------------------------------------*/
#define TD1120_DEV_IN_BYTE_COUNT_MASK           0x3FFF

#define ISOUT    0
#define ISIN     1
#define ISSETUP  2

/******************************************************************************
 Public Data Types
******************************************************************************/

/******************************************************************************
 Public Functions
******************************************************************************/
SctStatus TD1120P_Create(U32 baseAddress, TdiPeriphController**);
SctStatus TD1120P_Destroy(TdiPeriphController*);
SctBool   TD1120P_VerifyId(U32 baseAddress);
SctStatus TD1120P_RegisterEventCallback(TdiPeriphController* pc, U32 eventType,\
   void (*eventCallbackFunction)(TdiPeriphController* pc, U32 eventType, void* eventData));
SctBool TD1120P_IsVBusOn(TdiPeriphController*);
SctStatus TD1120P_ResetController(TdiPeriphController*);
SctStatus TD1120P_DisableControllerIntr(TdiPeriphController*);
SctStatus TD1120P_EnableControllerIntr(TdiPeriphController*);
SctStatus TD1120P_SetAddress(TdiPeriphController*, U32 usbAddress);
SctStatus TD1120P_InitSetupPhase(TdiPeriphController*, U32 epNum, U8* setupPacketBuffer);
SctStatus TD1120P_GetSetupPacket(TdiPeriphController*, U32 epNumber, PeriphSetupRequest*);
SctStatus TD1120P_Transfer(TdiPeriphController*, TdiPurb*);
SctStatus TD1120P_GetTransferStatus(TdiPeriphController*, TdiPurb*, U32* transferStatus);
SctStatus TD1120P_CancelTransfer(TdiPeriphController*, TdiPurb*);
SctStatus TD1120P_CancelAllEpTransfers(TdiPeriphController* pc, TdiPeriphEp* ep);
SctStatus TD1120P_DeviceConfigurationSet(TdiPeriphController*, U32 configNum);
SctStatus TD1120P_DeviceConfigurationClear(TdiPeriphController*);
SctStatus TD1120P_ConfigEp(TdiPeriphController*, U32 epNum, U32 epCommand, TdiPeriphEp*);
SctStatus TD1120P_CreateEp(TdiPeriphController*, U32 epAddr, U32 epDir, \
   U32 epType, U32 eMps, TdiPeriphEp**);
SctStatus TD1120P_DestroyEp(TdiPeriphController*, TdiPeriphEp*);
SctStatus TD1120P_GetEpStatus(TdiPeriphController*, TdiPeriphEp*);
SctStatus TD1120P_GetDeviceState(TdiPeriphController*, U32* deviceState);
SctStatus TD1120P_SetDeviceState(TdiPeriphController*, U32 deviceState);
SctStatus TD1120P_GetFrameNumber(TdiPeriphController*, U32* frameNumber);
SctStatus TD1120P_ControlBusParams(TdiPeriphController*, U32 controlCommand, U8 mode);
SctStatus TD1120P_GetSpeed(TdiPeriphController*, U32* busSpeed);
SctStatus TD1120P_DescriptorRegister(TdiPeriphController*, U32 type, U8* descriptor, U8 index);

#endif /* _TDI_PCD1120_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -