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

📄 usbtcdisp1582util.c

📁 This the compressed USB driver source code for vxworks5.6. It has device controller driver and other
💻 C
字号:
/* usbTcdIsp1582Util.c - This module contains ISP 1582 utility functions.*//*Modification history--------------------01b,15jun04,hch  Merge after ISP1582 driver testing done on MIPS, SH.01b,19jul04,ami  Coding Convention Changes01a,21apr04,ami implementing the utility functions of ISP 1582*//*DESCRIPTIONDefines all ISP 1582 utility functions. These utility functions will be used bythe ISP 1582 functions to carry out 8-bits, 16-bits & 32-bits read/write accessinto the registers.INCLUDE FILES: usb/usbPlatform.h, usb/ossLib.h, drv/usb/target/usbIsp1582.h,               drv/usb/target/usbIsp1582Eval.h*//* includes */#include "usb/usbPlatform.h"		       #include "usb/ossLib.h" 		           #include "drv/usb/target/usbIsp1582.h"	   #include "drv/usb/target/usbIsp1582Eval.h"  /******************************************************************************* isp1582Read8 - reads a 8 bit register** This is a utility function used to read a 8 bit register. <regAddr> consists* of the address of the register from where 8 bit read is to be carried out.** RETURNS: 8 bit value** ERRNO: none** \NOMANUAL*/LOCAL UINT8 isp1582Read8    (    pUSB_TCD_ISP1582_TARGET pTarget,   /* Pointer to USB_TCD_ISP1582_TARGET */    UINT8 regAddr                      /* Address of register */    )    {    OUT_ISP1582_CMD (pTarget , regAddr);    return  (IN_ISP1582_DATA (pTarget) & 0xFFFF);    }/******************************************************************************* isp1582Write8 - writes a 8 bit register** This is a utility function used to writes to a 8 bit register. <regAddr>* consists of the address of the register to where 8 bit is to be written.** RETURNS: N/A** ERRNO: none** \NOMANUAL*/LOCAL VOID isp1582Write8    (    pUSB_TCD_ISP1582_TARGET pTarget,   /* Pointer to USB_TCD_ISP1582_TARGET */    UINT8 regAddr,                     /* Address of register */    UINT8 data                         /* Data to be written */    )    {    OUT_ISP1582_CMD (pTarget , regAddr);    OUT_ISP1582_DATA (pTarget , data);    return;    }/******************************************************************************* isp1582Read16 - reads a 16 bit register** This is a utility function used to read a 16 bit register. <regAddr> consists* of the address of the register from where 16 bit read is to be carried out.** RETURNS: 16 bit value** ERRNO: none** \NOMANUAL*/LOCAL UINT16 isp1582Read16    (    pUSB_TCD_ISP1582_TARGET pTarget,   /* Pointer to USB_TCD_ISP1582_TARGET */    UINT8 regAddr                      /* Address of register */    )    {    OUT_ISP1582_CMD (pTarget , regAddr);    return  IN_ISP1582_DATA (pTarget);    }/******************************************************************************* isp1582Write16 - writes a 16 bit register** This is a utility function used to write into a 16 bit register. <regAddr>* consists of the address of the register to where 16 bit is to be written.** RETURNS: N/A** ERRNO: none** \NOMANUAL*/LOCAL VOID isp1582Write16    (    pUSB_TCD_ISP1582_TARGET pTarget,   /* Pointer to USB_TCD_ISP1582_TARGET */    UINT8 regAddr,                     /* Address of register */    UINT16 data                        /* Data to be written */    )    {    OUT_ISP1582_CMD (pTarget , regAddr);    OUT_ISP1582_DATA (pTarget , data);    return;    }/******************************************************************************* isp1582Read32 - reads a 32 bit register** This is a utility function used to read a 32 bit register. <regAddr> consists* of the address of the register from where 32 bit read is to be carried out.** RETURNS: 32 bit value** ERRNO: none** \NOMANUAL*/LOCAL UINT32 isp1582Read32    (    pUSB_TCD_ISP1582_TARGET pTarget,   /* Pointer to USB_TCD_ISP1582_TARGET */    UINT8 regAddr                      /* Address of register */    )    {    UINT16 value = 0;    UINT16 value1 = 0;    UINT32 data = 0;        OUT_ISP1582_CMD (pTarget , regAddr);    /* ISP 1582 uses 16 bit bus access */    value = IN_ISP1582_DATA (pTarget);    OUT_ISP1582_CMD (pTarget , regAddr + 2);    value1 = IN_ISP1582_DATA (pTarget);    data = (value | (value1 << 0x10));    return  data;    }/******************************************************************************* isp1582Write32 - writes a 32 bit register** This is a utility function used to write into a 32 bit register. <regAddr>* consists of the address of the register to where 32 bit is to be written.** RETURNS: N/A** ERRNO: none** \NOMANUAL*/LOCAL VOID isp1582Write32    (    pUSB_TCD_ISP1582_TARGET pTarget,   /* Pointer to USB_TCD_ISP1582_TARGET */    UINT8 regAddr,                     /* Address of register */    UINT32 data                        /* Data to be written */    )    {    UINT16  value = 0;    value = (UINT16)(data & 0x0000FFFF);    OUT_ISP1582_CMD (pTarget , regAddr);     /* ISP 1582 uses 16 bit bus access */    OUT_ISP1582_DATA (pTarget , value);        /* Obtain the most significant 16 bits for write */    data >>= 0x10;    OUT_ISP1582_CMD (pTarget , regAddr + 2);    OUT_ISP1582_DATA (pTarget , (UINT16)data);    return;    }

⌨️ 快捷键说明

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