#ifndef _USB_HW_H_ #define _USB_HW_H_ #include "typedef.h" //#include "generic/ioctl.h" #define USB_MAX_HW_EPNUM 5 /* #define ep_regs JL_USB_EP_TypeDef */ typedef struct { volatile u32 TXMAXP; volatile u32 TXCSR1; volatile u32 TXCSR2; volatile u32 RXMAXP; volatile u32 RXCSR1; volatile u32 RXCSR2; volatile const u32 RXCOUNT1; volatile const u32 RXCOUNT2; volatile u32 TXTYPE; volatile u32 TXINTERVAL; volatile u32 RXTYPE; volatile u32 RXINTERVAL; u32 RESERVED[0xd0 / 4]; } ep_regs; //USB_CON0 register // #define RESERVED 0 #define LOW_SPEED 1 #define USB_NRST 2 #define TM1 3 #define CID 4 #define VBUS 5 #define KEEP_DPLL 6 // #define RESERVED 7~9 #define SOFIE 10 #define SIEIE 11 #define CLR_SOF 12 #define SOF_PND 13 #define SIE_PND 14 // #define RESERVED 15~17 #define LOWP_MD_ 18 #define RST_STL 19 #define EP1_DISABLE 20 #define EP2_DISABLE 21 #define EP3_DISABLE 22 #define EP4_DISABLE 23 #define EP1_RLIM_EN 24 #define EP2_RLIM_EN 25 #define EP3_RLIM_EN 26 #define EP4_RLIM_EN 27 #define TX_BLOCK_EN 28 // #define RESERVED 29~31 //USB_CON1 register #define EP1_MTX_EN 0 #define EP1_MRX_EN 1 #define EP1_MTX_PND_CLR 2 #define EP1_MRX_PND_CLR 3 #define EP1_MTX_PND 4 #define EP1_MRX_PND 5 // #define RESERVED 6~31 //USB_TXDLY_CON register #define CLK_DIS 0 #define CLR_PND 1 #define TXDLY_PND 2 // #define RESERVED 3~15 #define USB_TXDLY_CON(x) SFR(JL_USB->TXDLY_CON, 16, 16, x) #define USB_EP1_RX_LEN(x) SFR(JL_USB->EP1_RLEN, 0, 11, x) #define USB_EP2_RX_LEN(x) SFR(JL_USB->EP2_RLEN, 0, 11, x) #define USB_EP3_RX_LEN(x) SFR(JL_USB->EP3_RLEN, 0, 11, x) #define USB_EP4_RX_LEN(x) SFR(JL_USB->EP4_RLEN, 0, 11, x) #define USB_EP1_MTX_PRD(x) SFR(JL_USB->EP1_MTX_PRD, 0, 8, x) #define USB_EP1_MTX_NUM(x) SFR(JL_USB->EP1_MTX_NUM, 0, 8, x) #define USB_EP1_MRX_PRD(x) SFR(JL_USB->EP1_MRX_PRD, 0, 8, x) #define USB_EP1_MRX_NUM(x) SFR(JL_USB->EP1_MRX_NUM, 0, 8, x) //JL_PORTUSB->CON register #define RCVEN 0 // #define RESERVED 1 #define SR0 2 // #define RESERVED 3 #define PDCHKDP 4 // #define RESERVED 5 #define DIDF 6 #define CHKDPO 7 #define IO_MODE 8 // #define RESERVED 9~10 #define DBG_SEL 11 //2bit // #define RESERVED 13~31 enum { USB0, }; #define USB_MAX_HW_NUM 1 #endif