📄 usb_w2fc.c
字号:
//===============================================================================
// TEXAS INSTRUMENTS INCORPORATED PROPRIETARY INFORMATION
//
// Property of Texas Instruments
// For Unrestricted Internal Use Only
// Unauthorized reproduction and/or distribution is strictly prohibited.
// This product is protected under copyright law and trade secret law
// as an unpublished work.
// Created 2000, (C) Copyright 2000 Texas Instruments. All rights reserved.
//
// Filename : helen_pr_usb_w2fc.c
// Date of Module Modification:4/3/01
// Date of Generation :4/3/01
//
//===============================================================================
#include "test.h"
#include "global_types.h"
#include "result.h"
#include "intvecs.h"
#include "usb_w2fc.h"
#include "testaccess.h"
#include "reset.h"
#include "errorcodes.h"
//---------------------------------------------------------------------
// NAME : USB_W2FC_TestResetValue
//
// DESCRIPTION : Test the reset values of USB_W2FC registers
//
// PARAMETERS : None
//
// RETURN VALUE: None
//
// LIMITATIONS : None
//---------------------------------------------------------------------
void USB_W2fcTestResetValue(void)
{
BEGIN_RESET_MODULE();
/* SetGroupBits16(USB_W2FC_USB_TEST_1,
USB_W2FC_USB_TEST_1_TEST_UNLOCK_POS,
USB_W2FC_USB_TEST_1_TEST_UNLOCK_NUMB,
0x1);
*/
BEGIN_RESET_TEST(USB_W2FC_USB_TEST_1,16);
TEST_FIELD_RESET(USB_W2FC_USB_TEST_1,TEST_UNLOCK,16);
TEST_FIELD_RESET(USB_W2FC_USB_TEST_1,REM_WAKEUP_EN,16);
TEST_FIELD_RESET(USB_W2FC_USB_TEST_1,USB_RESET,16);
TEST_FIELD_RESET(USB_W2FC_USB_TEST_1,IRQ_ISO,16);
TEST_FIELD_RESET(USB_W2FC_USB_TEST_1,IRQ_NON_ISO,16);
TEST_FIELD_RESET(USB_W2FC_USB_TEST_1,IRQ_GENI,16);
TEST_FIELD_RESET(USB_W2FC_USB_TEST_1,DMA_TX_REQ,16);
TEST_FIELD_RESET(USB_W2FC_USB_TEST_1,DMA_RX_REQ,16);
END_RESET_TEST();
BEGIN_RESET_TEST(USB_W2FC_USB_EP_NUM,16);
TEST_FIELD_RESET(USB_W2FC_USB_EP_NUM,SETUP_SEL,16);
TEST_FIELD_RESET(USB_W2FC_USB_EP_NUM,EP_SEL,16);
TEST_FIELD_RESET(USB_W2FC_USB_EP_NUM,EP_DIR,16);
TEST_FIELD_RESET(USB_W2FC_USB_EP_NUM,EP_NUM,16);
END_RESET_TEST();
BEGIN_RESET_TEST(USB_W2FC_USB_SYSCON1,16);
TEST_FIELD_RESET(USB_W2FC_USB_SYSCON1,CFG_LOCK,16);
TEST_FIELD_RESET(USB_W2FC_USB_SYSCON1,NAK_EN,16);
TEST_FIELD_RESET(USB_W2FC_USB_SYSCON1,SELF_PWR,16);
TEST_FIELD_RESET(USB_W2FC_USB_SYSCON1,SOF_DIS,16);
TEST_FIELD_RESET(USB_W2FC_USB_SYSCON1,PULLUP_EN,16);
END_RESET_TEST();
BEGIN_RESET_TEST(USB_W2FC_USB_SYSCON2,16);
TEST_FIELD_RESET(USB_W2FC_USB_SYSCON2,RMT_WKP,16);
TEST_FIELD_RESET(USB_W2FC_USB_SYSCON2,STALL_CMD,16);
TEST_FIELD_RESET(USB_W2FC_USB_SYSCON2,DEV_CFG,16);
TEST_FIELD_RESET(USB_W2FC_USB_SYSCON2,CLR_CFG,16);
END_RESET_TEST();
BEGIN_RESET_TEST(USB_W2FC_RXDMA_CFG,16);
TEST_FIELD_RESET(USB_W2FC_RXDMA_CFG,RXDMA2_EP,16);
TEST_FIELD_RESET(USB_W2FC_RXDMA_CFG,RXDMA1_EP,16);
TEST_FIELD_RESET(USB_W2FC_RXDMA_CFG,RXDMA0_EP,16);
END_RESET_TEST();
BEGIN_RESET_TEST(USB_W2FC_TXDMA_CFG,16);
TEST_FIELD_RESET(USB_W2FC_TXDMA_CFG,TXDMA2_EP,16);
TEST_FIELD_RESET(USB_W2FC_TXDMA_CFG,TXDMA1_EP,16);
TEST_FIELD_RESET(USB_W2FC_TXDMA_CFG,TXDMA0_EP,16);
END_RESET_TEST();
/*
BEGIN_RESET_TEST(USB_W2FC_EP0,16);
TEST_FIELD_RESET(USB_W2FC_EP0,EP0_SIZE,16);
TEST_FIELD_RESET(USB_W2FC_EP0,EP0_PTR,16);
END_RESET_TEST();
BEGIN_RESET_TEST(USB_W2FC_EP1_RX,16);
TEST_FIELD_RESET(USB_W2FC_EP1_RX,EP1_RX_VALID,16);
END_RESET_TEST();
BEGIN_RESET_TEST(USB_W2FC_EP2_RX,16);
TEST_FIELD_RESET(USB_W2FC_EP2_RX,EP2_RX_VALID,16);
END_RESET_TEST();
BEGIN_RESET_TEST(USB_W2FC_EP3_RX,16);
TEST_FIELD_RESET(USB_W2FC_EP3_RX,EP3_RX_VALID,16);
END_RESET_TEST();
BEGIN_RESET_TEST(USB_W2FC_EP1_TX,16);
TEST_FIELD_RESET(USB_W2FC_EP1_TX,EP1_TX_VALID,16);
END_RESET_TEST();
BEGIN_RESET_TEST(USB_W2FC_EP2_TX,16);
TEST_FIELD_RESET(USB_W2FC_EP2_TX,EP2_TX_VALID,16);
END_RESET_TEST();
BEGIN_RESET_TEST(USB_W2FC_EP3_TX,16);
TEST_FIELD_RESET(USB_W2FC_EP3_TX,EP3_TX_VALID,16);
END_RESET_TEST();
*/
BEGIN_RESET_TEST(USB_W2FC_USB_TEST_2,16);
TEST_FIELD_RESET(USB_W2FC_USB_TEST_2,TEST2_WE,16);
TEST_FIELD_RESET(USB_W2FC_USB_TEST_2,RAM_LOOPBACK,16);
TEST_FIELD_RESET(USB_W2FC_USB_TEST_2,BYPASS_ENUM,16);
TEST_FIELD_RESET(USB_W2FC_USB_TEST_2,VBUS_STAT,16);
TEST_FIELD_RESET(USB_W2FC_USB_TEST_2,RXD_STAT,16);
TEST_FIELD_RESET(USB_W2FC_USB_TEST_2,RXDM_STAT,16);
TEST_FIELD_RESET(USB_W2FC_USB_TEST_2,RXDP_STAT,16);
TEST_FIELD_RESET(USB_W2FC_USB_TEST_2,XCVR_MODE,16);
TEST_FIELD_RESET(USB_W2FC_USB_TEST_2,DATA_XMIT,16);
END_RESET_TEST();
END_RESET_MODULE();
}
//---------------------------------------------------------------------
// NAME : USB_W2fcTestRegistersAccess
//
// DESCRIPTION : Test the access to ULPD registers
//
// PARAMETERS : None
//
// RETURN VALUE: None
//
// LIMITATIONS : None
//---------------------------------------------------------------------
void USB_W2fcTestRegistersAccess(void)
{
BEGIN_ACCESS_MODULE();
/* SetGroupBits16(USB_W2FC_USB_TEST_1,
USB_W2FC_USB_TEST_1_TEST_UNLOCK_POS,
USB_W2FC_USB_TEST_1_TEST_UNLOCK_NUMB,
0x1);
BEGIN_RW_TEST(USB_W2FC_USB_TEST_1,16);
//RW_PREPARE_WRITE(USB_W2FC_USB_TEST_1,TEST_UNLOCK,16);
RW_PREPARE_WRITE(USB_W2FC_USB_TEST_1,REM_WAKEUP_EN,16);
RW_PREPARE_WRITE(USB_W2FC_USB_TEST_1,USB_RESET,16);
RW_PREPARE_WRITE(USB_W2FC_USB_TEST_1,IRQ_ISO,16);
RW_PREPARE_WRITE(USB_W2FC_USB_TEST_1,IRQ_NON_ISO,16);
RW_PREPARE_WRITE(USB_W2FC_USB_TEST_1,IRQ_GENI,16);
RW_PREPARE_WRITE(USB_W2FC_USB_TEST_1,DMA_TX_REQ,16);
RW_PREPARE_WRITE(USB_W2FC_USB_TEST_1,DMA_RX_REQ,16);
RW_WRITE(USB_W2FC_USB_TEST_1);
//RW_TEST_READ(USB_W2FC_USB_TEST_1,TEST_UNLOCK,16);
RW_TEST_READ(USB_W2FC_USB_TEST_1,REM_WAKEUP_EN,16);
RW_TEST_READ(USB_W2FC_USB_TEST_1,USB_RESET,16);
RW_TEST_READ(USB_W2FC_USB_TEST_1,IRQ_ISO,16);
RW_TEST_READ(USB_W2FC_USB_TEST_1,IRQ_NON_ISO,16);
RW_TEST_READ(USB_W2FC_USB_TEST_1,IRQ_GENI,16);
RW_TEST_READ(USB_W2FC_USB_TEST_1,DMA_TX_REQ,16);
RW_TEST_READ(USB_W2FC_USB_TEST_1,DMA_RX_REQ,16);
RW_WRITE_PREVIOUS_VALUE(USB_W2FC_USB_TEST_1);
END_RW_TEST();
*/
/* SetGroupBits16(USB_W2FC_USB_TEST_1,
USB_W2FC_USB_TEST_1_TEST_UNLOCK_POS,
USB_W2FC_USB_TEST_1_TEST_UNLOCK_NUMB,
0x1);
*/
BEGIN_RW_TEST(USB_W2FC_USB_EP_NUM,16);
RW_PREPARE_WRITE(USB_W2FC_USB_EP_NUM,SETUP_SEL,16);
RW_PREPARE_WRITE(USB_W2FC_USB_EP_NUM,EP_DIR,16);
RW_PREPARE_WRITE(USB_W2FC_USB_EP_NUM,EP_NUM,16);
RW_WRITE(USB_W2FC_USB_EP_NUM);
RW_TEST_READ(USB_W2FC_USB_EP_NUM,SETUP_SEL,16);
RW_TEST_READ(USB_W2FC_USB_EP_NUM,EP_DIR,16);
RW_TEST_READ(USB_W2FC_USB_EP_NUM,EP_NUM,16);
RW_WRITE_PREVIOUS_VALUE(USB_W2FC_USB_EP_NUM);
END_RW_TEST();
BEGIN_RW_TEST(USB_W2FC_USB_SYSCON1,16);
RW_PREPARE_WRITE(USB_W2FC_USB_SYSCON1,CFG_LOCK,16);
RW_PREPARE_WRITE(USB_W2FC_USB_SYSCON1,NAK_EN,16);
RW_PREPARE_WRITE(USB_W2FC_USB_SYSCON1,SELF_PWR,16);
RW_PREPARE_WRITE(USB_W2FC_USB_SYSCON1,SOF_DIS,16);
RW_PREPARE_WRITE(USB_W2FC_USB_SYSCON1,PULLUP_EN,16);
RW_WRITE(USB_W2FC_USB_SYSCON1);
RW_TEST_READ(USB_W2FC_USB_SYSCON1,CFG_LOCK,16);
RW_TEST_READ(USB_W2FC_USB_SYSCON1,NAK_EN,16);
RW_TEST_READ(USB_W2FC_USB_SYSCON1,SELF_PWR,16);
RW_TEST_READ(USB_W2FC_USB_SYSCON1,SOF_DIS,16);
RW_TEST_READ(USB_W2FC_USB_SYSCON1,PULLUP_EN,16);
RW_WRITE_PREVIOUS_VALUE(USB_W2FC_USB_SYSCON1);
END_RW_TEST();
/*
BEGIN_RW_TEST(USB_W2FC_USB_SYSCON2,16);
RW_PREPARE_WRITE(USB_W2FC_USB_SYSCON2,RMT_WKP,16);
RW_PREPARE_WRITE(USB_W2FC_USB_SYSCON2,STALL_CMD,16);
RW_PREPARE_WRITE(USB_W2FC_USB_SYSCON2,DEV_CFG,16);
RW_PREPARE_WRITE(USB_W2FC_USB_SYSCON2,CLR_CFG,16);
RW_WRITE(USB_W2FC_USB_SYSCON2);
RW_TEST_READ(USB_W2FC_USB_SYSCON2,RMT_WKP,16);
RW_TEST_READ(USB_W2FC_USB_SYSCON2,STALL_CMD,16);
RW_TEST_READ(USB_W2FC_USB_SYSCON2,DEV_CFG,16);
RW_TEST_READ(USB_W2FC_USB_SYSCON2,CLR_CFG,16);
RW_WRITE_PREVIOUS_VALUE(USB_W2FC_USB_SYSCON2);
END_RW_TEST();
*/
BEGIN_RW_TEST(USB_W2FC_RXDMA_CFG,16);
RW_PREPARE_WRITE(USB_W2FC_RXDMA_CFG,RXDMA2_EP,16);
RW_PREPARE_WRITE(USB_W2FC_RXDMA_CFG,RXDMA1_EP,16);
RW_PREPARE_WRITE(USB_W2FC_RXDMA_CFG,RXDMA0_EP,16);
RW_WRITE(USB_W2FC_RXDMA_CFG);
RW_TEST_READ(USB_W2FC_RXDMA_CFG,RXDMA2_EP,16);
RW_TEST_READ(USB_W2FC_RXDMA_CFG,RXDMA1_EP,16);
RW_TEST_READ(USB_W2FC_RXDMA_CFG,RXDMA0_EP,16);
RW_WRITE_PREVIOUS_VALUE(USB_W2FC_RXDMA_CFG);
END_RW_TEST();
BEGIN_RW_TEST(USB_W2FC_TXDMA_CFG,16);
RW_PREPARE_WRITE(USB_W2FC_TXDMA_CFG,TXDMA2_EP,16);
RW_PREPARE_WRITE(USB_W2FC_TXDMA_CFG,TXDMA1_EP,16);
RW_PREPARE_WRITE(USB_W2FC_TXDMA_CFG,TXDMA0_EP,16);
RW_WRITE(USB_W2FC_TXDMA_CFG);
RW_TEST_READ(USB_W2FC_TXDMA_CFG,TXDMA2_EP,16);
RW_TEST_READ(USB_W2FC_TXDMA_CFG,TXDMA1_EP,16);
RW_TEST_READ(USB_W2FC_TXDMA_CFG,TXDMA0_EP,16);
RW_WRITE_PREVIOUS_VALUE(USB_W2FC_TXDMA_CFG);
END_RW_TEST();
/*
BEGIN_RW_TEST(USB_W2FC_EP0,16);
RW_PREPARE_WRITE(USB_W2FC_EP0,EP0_SIZE,16);
RW_PREPARE_WRITE(USB_W2FC_EP0,EP0_PTR,16);
RW_WRITE(USB_W2FC_EP0);
RW_TEST_READ(USB_W2FC_EP0,EP0_SIZE,16);
RW_TEST_READ(USB_W2FC_EP0,EP0_PTR,16);
RW_WRITE_PREVIOUS_VALUE(USB_W2FC_EP0);
END_RW_TEST();
BEGIN_RW_TEST(USB_W2FC_EP1_RX,16);
RW_PREPARE_WRITE(USB_W2FC_EP1_RX,EP1_RX_VALID,16);
RW_WRITE(USB_W2FC_EP1_RX);
RW_TEST_READ(USB_W2FC_EP1_RX,EP1_RX_VALID,16);
RW_WRITE_PREVIOUS_VALUE(USB_W2FC_EP1_RX);
END_RW_TEST();
BEGIN_RW_TEST(USB_W2FC_EP2_RX,16);
RW_PREPARE_WRITE(USB_W2FC_EP2_RX,EP2_RX_VALID,16);
RW_WRITE(USB_W2FC_EP2_RX);
RW_TEST_READ(USB_W2FC_EP2_RX,EP2_RX_VALID,16);
RW_WRITE_PREVIOUS_VALUE(USB_W2FC_EP2_RX);
END_RW_TEST();
BEGIN_RW_TEST(USB_W2FC_EP3_RX,16);
RW_PREPARE_WRITE(USB_W2FC_EP3_RX,EP3_RX_VALID,16);
RW_WRITE(USB_W2FC_EP3_RX);
RW_TEST_READ(USB_W2FC_EP3_RX,EP3_RX_VALID,16);
RW_WRITE_PREVIOUS_VALUE(USB_W2FC_EP3_RX);
END_RW_TEST();
BEGIN_RW_TEST(USB_W2FC_EP1_TX,16);
RW_PREPARE_WRITE(USB_W2FC_EP1_TX,EP1_TX_VALID,16);
RW_WRITE(USB_W2FC_EP1_TX);
RW_TEST_READ(USB_W2FC_EP1_TX,EP1_TX_VALID,16);
RW_WRITE_PREVIOUS_VALUE(USB_W2FC_EP1_TX);
END_RW_TEST();
BEGIN_RW_TEST(USB_W2FC_EP2_TX,16);
RW_PREPARE_WRITE(USB_W2FC_EP2_TX,EP2_TX_VALID,16);
RW_WRITE(USB_W2FC_EP2_TX);
RW_TEST_READ(USB_W2FC_EP2_TX,EP2_TX_VALID,16);
RW_WRITE_PREVIOUS_VALUE(USB_W2FC_EP2_TX);
END_RW_TEST();
BEGIN_RW_TEST(USB_W2FC_EP3_RX,16);
RW_PREPARE_WRITE(USB_W2FC_EP3_RX,EP3_RX_VALID,16);
RW_WRITE(USB_W2FC_EP3_RX);
RW_TEST_READ(USB_W2FC_EP3_RX,EP3_RX_VALID,16);
RW_WRITE_PREVIOUS_VALUE(USB_W2FC_EP3_RX);
END_RW_TEST();
USB_W2FC_USB_TEST_1 = 0x8000;
*/
USB_W2FC_EP0 = (0xffff & 0x37ff);
if ((USB_W2FC_EP0 & 0x37ff) != (0xffff & 0x37ff))
{
RES_Set(USB_W2FC_EP0_BAD_RESET_VALUE);
RES_Set(START_ARRAY_DATA_ACCESS );
RES_Set(0x37ff);
RES_Set(USB_W2FC_EP0);
RES_Set(END_ARRAY_DATA );
}
USB_W2FC_EP1_RX = 0xffff;
if (USB_W2FC_EP1_RX !=0xffff)
{
RES_Set(USB_W2FC_EP1_RX_BAD_RESET_VALUE);
RES_Set(START_ARRAY_DATA_ACCESS );
RES_Set(0xffff);
RES_Set(USB_W2FC_EP1_RX);
RES_Set(END_ARRAY_DATA );
}
USB_W2FC_EP2_RX = 0xffff;
if (USB_W2FC_EP2_RX !=0xffff)
{
RES_Set(USB_W2FC_EP2_RX_BAD_RESET_VALUE);
RES_Set(START_ARRAY_DATA_ACCESS );
RES_Set(0xffff);
RES_Set(USB_W2FC_EP2_RX);
RES_Set(END_ARRAY_DATA );
}
USB_W2FC_EP3_RX = 0xffff;
if (USB_W2FC_EP3_RX !=0xffff)
{
RES_Set(USB_W2FC_EP3_RX_BAD_RESET_VALUE);
RES_Set(START_ARRAY_DATA_ACCESS );
RES_Set(0xffff);
RES_Set(USB_W2FC_EP3_RX);
RES_Set(END_ARRAY_DATA );
}
USB_W2FC_EP1_TX = 0xffff;
if (USB_W2FC_EP1_TX !=0xffff)
{
RES_Set(USB_W2FC_EP1_TX_BAD_RESET_VALUE);
RES_Set(START_ARRAY_DATA_ACCESS );
RES_Set(0xffff);
RES_Set(USB_W2FC_EP1_TX);
RES_Set(END_ARRAY_DATA );
}
USB_W2FC_EP2_TX = 0xffff;
if (USB_W2FC_EP2_TX !=0xffff)
{
RES_Set(USB_W2FC_EP2_TX_BAD_RESET_VALUE);
RES_Set(START_ARRAY_DATA_ACCESS );
RES_Set(0xffff);
RES_Set(USB_W2FC_EP2_TX);
RES_Set(END_ARRAY_DATA );
}
USB_W2FC_EP3_TX = 0xffff;
if (USB_W2FC_EP3_TX !=0xffff)
{
RES_Set(USB_W2FC_EP3_TX_BAD_RESET_VALUE);
RES_Set(START_ARRAY_DATA_ACCESS );
RES_Set(0xffff);
RES_Set(USB_W2FC_EP3_TX);
RES_Set(END_ARRAY_DATA );
}
/*
BEGIN_RW_TEST(USB_W2FC_USB_TEST_2,16);
RW_PREPARE_WRITE(USB_W2FC_USB_TEST_2,TEST2_WE,16);
RW_PREPARE_WRITE(USB_W2FC_USB_TEST_2,RAM_LOOPBACK,16);
RW_PREPARE_WRITE(USB_W2FC_USB_TEST_2,BYPASS_ENUM,16);
//USB_W2FC_USB_TEST_2,VBUS_STAT is Read Only
//USB_W2FC_USB_TEST_2,RXD_STAT is Read Only
//USB_W2FC_USB_TEST_2,RXDM_STAT is Read Only
//USB_W2FC_USB_TEST_2,RXDP_STAT is Read Only
RW_PREPARE_WRITE(USB_W2FC_USB_TEST_2,XCVR_MODE,16);
RW_PREPARE_WRITE(USB_W2FC_USB_TEST_2,DATA_XMIT,16);
RW_WRITE(USB_W2FC_USB_TEST_2);
RW_TEST_READ(USB_W2FC_USB_TEST_2,TEST2_WE,16);
RW_TEST_READ(USB_W2FC_USB_TEST_2,RAM_LOOPBACK,16);
RW_TEST_READ(USB_W2FC_USB_TEST_2,BYPASS_ENUM,16);
//USB_W2FC_USB_TEST_2,VBUS_STAT is Read Only
//USB_W2FC_USB_TEST_2,RXD_STAT is Read Only
//USB_W2FC_USB_TEST_2,RXDM_STAT is Read Only
//USB_W2FC_USB_TEST_2,RXDP_STAT is Read Only
RW_TEST_READ(USB_W2FC_USB_TEST_2,XCVR_MODE,16);
RW_TEST_READ(USB_W2FC_USB_TEST_2,DATA_XMIT,16);
RW_WRITE_PREVIOUS_VALUE(USB_W2FC_USB_TEST_2);
END_RW_TEST();
*/
USB_W2FC_USB_TEST_1 = 0x8000;
USB_W2FC_USB_TEST_1 = (0xffff);
if ((USB_W2FC_USB_TEST_1 & 0x3770) != (0xffff & 0x3770))
{
RES_Set(USB_W2FC_USB_TEST_1_BAD_RESET_VALUE);
RES_Set(START_ARRAY_DATA_ACCESS );
RES_Set(0x3770);
RES_Set(USB_W2FC_USB_TEST_1);
RES_Set(END_ARRAY_DATA );
}
USB_W2FC_USB_TEST_1 = 0x8000;
/*
USB_W2FC_USB_TEST_2 = (0xffff & 0x830f);
if ((USB_W2FC_USB_TEST_2 & 0x830f) != (0xffff & 0x830f))
{
RES_Set(USB_W2FC_USB_TEST_2_BAD_RESET_VALUE);
RES_Set(START_ARRAY_DATA_ACCESS );
RES_Set(0x830f);
RES_Set(USB_W2FC_USB_TEST_2);
RES_Set(END_ARRAY_DATA );
}
*/
END_ACCESS_MODULE();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -