📄 d14.h
字号:
//***********************************************************************
// *
// P H I L I P S P R O P R I E T A R Y *
// *
// COPYRIGHT (c) 1999 BY PHILIPS SINGAPORE (APIC). *
// -- ALL RIGHTS RESERVED -- *
// *
// File Name : D14.h *
// Author : Albert Goh *
// Created : 3 March 2000 *
// *
//***********************************************************************
//***********************************************************************
// *
// Kernel.h has the various external defintion and structure defintion *
// *
//***********************************************************************
//***********************************************************************
// *
// Module History *
// ************** *
// *
// Date Version Author Changes *
// ==== ======= ====== ======= *
// 030300 0.1 Albert Created *
// *
// *
//***********************************************************************
//***********************************************************************
//* *
//* Structure Variable Definition *
//* *
//***********************************************************************
//***********************************************************************
//* *
//* D14 Structure Definition *
//* *
//***********************************************************************
typedef union ADDRESS_REG
{
struct ADDRESS_BITS
{
UC DEVADDR : 7;
UC DEVEN : 1;
}BITS;
UC VALUE;
}ADDRESS_REG;
typedef union USB_MODE
{
struct USB_MODE_BITS
{
UC SOFTCT : 1;
UC PWRON : 1;
UC WKUPCS : 1;
UC GLINTENA : 1;
UC SFRESET : 1;
UC GOSUSP : 1;
UC SNDRSU : 1;
UC CLKAON : 1;
UC VBUS_STATUS : 1;
UC DMACLKON : 1;
UC RESERVED : 3;
UC BUS_CONFIG : 1;
UC MODE0 : 1;
UC MODE1 : 1;
}BITS;
UI VALUE;
}USB_MODE;
typedef union INT_CONFIG
{
struct INT_CONFIG_BITS
{
UC INTPOL : 1;
UC INTLVL : 1;
UC DDBGMODOUT : 2;
UC DDBGMODIN : 2;
UC CDBGMOD : 2;
}BITS;
UC VALUE;
}INT_CONFIG;
typedef union OTG_MODE
{
struct OTG_MODE_BITS
{
UC OTG : 1;
UC VP : 1;
UC DISCV : 1;
UC INIT : 1;
UC BSESSVALID : 1;
UC DP : 1;
}BITS;
UC VALUE;
}OTG_MODE;
typedef union INT_ENABLE
{
struct INT_ENABLE_BITS
{
UC IERST : 1;
UC IESOF : 1;
UC IEPSOF : 1;
UC IESUSP : 1;
UC IEHS_STA : 1;
UC IEDMA : 1;
UC IEVBUS : 1;
UC IEP0SETUP : 1;
UC RESERVED2 : 1;
UC IEP0RX : 1;
UC IEP0TX : 1;
UC IEP1RX : 1;
UC IEP1TX : 1;
UC IEP2RX : 1;
UC IEP2TX : 1;
UC IEP3RX : 1;
UC IEP3TX : 1;
UC IEP4RX : 1;
UC IEP4TX : 1;
UC IEP5RX : 1;
UC IEP5TX : 1;
UC IEP6RX : 1;
UC IEP6TX : 1;
UC IEP7RX : 1;
UC IEP7TX : 1;
UC RESERVED1 : 6;
}BITS;
UL VALUE;
}INT_ENABLE;
typedef union CONTROL
{
struct CONTROL_BITS
{
UC STALL : 1;
UC STATUS : 1;
UC DSEN : 1;
UC VENDP : 1;
UC CLBUF : 1;
UC RESERVED1 : 3;
}BITS;
UC VALUE;
}CONTROL;
typedef union BUFFER_STATUS
{
struct BUFFER_STATUS_BIT
{
UC BUF0 : 1;
UC BUF1 : 1;
UC RES : 6;
}BITS;
UC VALUE;
}BUFFER_STATUS;
typedef union ENDPT_MAXSIZE
{
struct ENDPT_MAXSIZE_BITS
{
UC FFOSZ7_0 : 8;
UC FFOSZ10_8 : 3;
UC NTRANS : 2;
UC RESERVED2 : 3;
}BITS;
UI VALUE;
}ENDPT_MAXSIZE;
typedef union ENDPT_TYPE
{
struct ENDPT_TYPE_BITS
{
UC ENDPTYP : 2;
UC DBLBUF : 1;
UC ENABLE : 1;
UC NOEMPKT : 1;
UC RESERVED1 : 3;
UC RESRVED2 : 8;
}BITS;
UI VALUE;
}ENDPT_TYPE;
typedef union DMA_CONFIG
{
struct DMA_CONFIG_BITS
{
UC WIDTH : 1;
UC DREQ_MODE : 1;
UC MODE : 2;
UC RES1 : 3;
UC DIS_XFER_CNT : 1;
UC PIO_MODE : 3;
UC DMA_MODE : 2;
UC ATA_MODE : 1;
UC IGNORE_IORDY : 1;
UC STREAMING : 1;
}BITS;
UI VALUE;
}DMA_CONFIG;
typedef union DMA_HARDWARE
{
struct DMA_HARDWARE_BITS
{
UC READ_POL : 1;
UC WRITE_POL : 1;
UC DREQ_POL : 1;
UC ACK_POL : 1;
UC MASTER : 1;
UC EOT_POL : 1;
UC ENDIAN : 2;
}BITS;
UC VALUE;
}DMA_HARDWARE;
typedef union DMA_STROBE
{
struct DMA_STROBE_BITS
{
UC DMA_STROBE : 5;
UC RES : 3;
}BITS;
UC VALUE;
}DMA_STROBE;
typedef union DMA_INT
{
struct DMA_INT_BITS
{
UC RES : 1;
UC CMD_INTRQ_OK : 1;
UC TASKFILE_READ_COMPLETE : 1;
UC BSY_DRQ_POLL_DONE : 1;
UC START_READ_1F0_RD_FIFO : 1;
UC RD_1F0_FIFO_EMPTY : 1;
UC WR_1F0_FIFO_FULL : 1;
UC WR_1F0_FIFO_EMPTY : 1;
UC DMA_XFER_OK : 1;
UC INTRQ_SEEN : 1;
UC INT_EOT : 1;
UC EXT_EOT : 1;
UC RES1 : 3;
UC TEST3 : 1;
}BITS;
UI VALUE;
}DMA_INT;
typedef union DMA_INT_ENABLE
{
struct DMA_INT_ENABLE_BITS
{
UC RES : 1;
UC IE_CMD_INTRQ_OK : 1;
UC IE_TASKFILE_READ_COMPLETE : 1;
UC IE_BSY_DRQ_POLL_DONE : 1;
UC IE_START_READ_1F0_RD_FIFO : 1;
UC IE_RD_1F0_FIFO_EMPTY : 1;
UC IE_WR_1F0_FIFO_FULL : 1;
UC IE_WR_1F0_FIFO_EMPTY : 1;
UC IE_DMA_XFER_OK : 1;
UC IE_INTRQ_SEEN : 1;
UC IE_INT_EOT : 1;
UC IE_EXT_EOT : 1;
UC RES1 : 3;
UC TEST4 : 1;
}BITS;
UI VALUE;
}DMA_INT_ENABLE;
typedef union INTERRUPT_STATUS
{
struct INTERRUPT_STATUS_BITS
{
UC RESET : 1;
UC SOF : 1;
UC PSOF : 1;
UC SUSP : 1;
UC RESUME : 1;
UC HS_STAT : 1;
UC DMA : 1;
UC VBUS : 1;
UC EP0SETUP : 1;
UC RESERVED2 : 1;
UC EP0RX : 1;
UC EP0TX : 1;
UC EP1RX : 1;
UC EP1TX : 1;
UC EP2RX : 1;
UC EP2TX : 1;
UC EP3RX : 1;
UC EP3TX : 1;
UC EP4RX : 1;
UC EP4TX : 1;
UC EP5RX : 1;
UC EP5TX : 1;
UC EP6RX : 1;
UC EP6TX : 1;
UC EP7RX : 1;
UC EP7TX : 1;
UC RESERVED1 : 6;
}BITS;
UL VALUE;
}INTERRUPT_STATUS;
typedef union FRAME_NO
{
struct FRAME_NO_BITS
{
UC SOFL : 8;
UC SOFH : 3;
UC USOF : 3;
UC RESERVED : 2;
}BITS;
UI VALUE;
}FRAME_NO;
typedef union TESTMODE
{
struct TESTMODE_BITS
{
UC SE0_NAK : 1;
UC JSTATE : 1;
UC KSTATE : 1;
UC PRBS : 1;
UC FORCEFS : 1;
UC LPBK : 1;
UC PHYTEST : 1;
UC FORCEHS : 1;
}BITS;
UC VALUE;
}TESTMODE;
typedef struct D14_CNTRL_REG
{
ADDRESS_REG D14_ADDRESS;
UC DUMMY_01;
UC DUMMY_02;
UC DUMMY_03;
ENDPT_MAXSIZE D14_ENDPT_MAXPKTSIZE;
UC DUMMY_06;
UC DUMMY_07;
ENDPT_TYPE D14_ENDPT_TYPE;
UC DUMMY_0A;
UC DUMMY_0B;
USB_MODE D14_MODE;
UC DUMMY_0E;
UC DUMMY_0F;
INT_CONFIG D14_INT_CONFIG;
UC DUMMY_11;
OTG_MODE D14_OTG_MODE;
UC DUMMY_13;
INT_ENABLE D14_INT_ENABLE;
INTERRUPT_STATUS D14_INT;
UC D14_BUFFER_LENGTH_LSB;
UC D14_BUFFER_LENGTH_MSB;
UC D14_BUFFER_STATUS;
UC DUMMY_1F;
UC D14_DATA_PORT_LSB;
UC D14_DATA_PORT_MSB;
UC DUMMY_22;
UC DUMMY_23;
UC DUMMY_24;
UC DUMMY_25;
UC DUMMY_26;
UC DUMMY_27;
CONTROL D14_CONTROL_FUNCTION;
UC DUMMY_29;
UC DUMMY_2A;
UC DUMMY_2B;
UC D14_ENDPT_INDEX;
UC DUMMY_2D;
UC DUMMY_2E;
UC DUMMY_2F;
UC D14_DMA_COMMAND;
UC DUMMY_31;
UC DUMMY_32;
UC DUMMY_33;
UC D14_DMA_TRANSFER_COUNTER_LSB;
UC D14_DMA_TRANSFER_COUNTER_BYTE2;
UC D14_DMA_TRANSFER_COUNTER_BYTE3;
UC D14_DMA_TRANSFER_COUNTER_MSB;
DMA_CONFIG D14_DMA_CONFIG;
UC DUMMY_3A;
UC DUMMY_3B;
DMA_HARDWARE D14_DMA_HARDWARE;
UC DUMMY_3D;
UC DUMMY_3E;
UC DUMMY_3F;
UC D14_DATA_TASKFILE_LSB;
UC DATA_TASKFILE_BYTE2;
UC DATA_TASKFILE_BYTE3;
UC DATA_TASKFILE_MSB;
UC D14_CMD_STATUS_TASKFILE;
UC DUMMY_45;
UC DUMMY_46;
UC DUMMY_47;
UC D14_ERROR_FEATURE_TASKFILE;
UC D14_INTERRUPT_TASKFILE;
UC D14_SECTOR_NUMBER;
UC D14_BYTECOUNT_LSB_TASKFILE;
UC D14_BYTECOUNT_MSB_TASKFILE;
UC D14_DRIVE_SELECT_TASKFILE;
UC D14_ALT_STATUS_DEVCNTRL_TASKFILE;
UC D14_TASKFILE;
DMA_INT D14_DMA_INT;
UC DUMMY_52;
UC DUMMY_53;
DMA_INT_ENABLE D14_DMA_INT_ENABLE;
UC DUMMY_56;
UC DUMMY_57;
UC D14_DMA_ENDPOINT;
UC DUMMY_59;
UC DUMMY_5A;
UC DUMMY_5B;
UC DUMMY_5C;
UC DUMMY_5D;
UC DUMMY_5E;
UC DUMMY_5F;
DMA_STROBE DMA_STROBE_TIMING;
UC DUMMY_61;
UC DUMMY_62;
UC DUMMY_63;
UC D14_DMA_BURST_COUNTER_LSB;
UC D14_DMA_BURST_COUNTER_MSB;
UC DUMMY_66;
UC DUMMY_67;
UC DUMMY_68;
UC DUMMY_69;
UC DUMMY_6A;
UC DUMMY_6B;
UC DUMMY_6C;
UC DUMMY_6D;
UC DUMMY_6E;
UC DUMMY_6F;
UC D14_CHIP_ID_LSB;
UC D14_CHIP_ID_MBYTE;
UC D14_CHIP_ID_MSB;
UC DUMMY_73;
FRAME_NO D14_FRAME_NUMBER;
UC DUMMY_76;
UC DUMMY_77;
UI D14_SCRATCH_REGISTER;
UC DUMMY_7A;
UC DUMMY_7B;
UC D14_UNLOCK_DEVICE_LSB;
UC D14_UNLOCK_DEVICE_MSB;
UC DUMMY_7E;
UC DUMMY_7F;
UC DUMMY_80;
UC DUMMY_81;
UC DUMMY_82;
UC DUMMY_83;
TESTMODE D14_TEST_MODE;
}D14_CNTRL_REG;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -