📄 ixp4xx-regs.h
字号:
#define PCI_CRP_AD_CBE IXP4XX_PCI_CSR(PCI_CRP_AD_CBE_OFFSET)#define PCI_CRP_WDATA IXP4XX_PCI_CSR(PCI_CRP_WDATA_OFFSET)#define PCI_CRP_RDATA IXP4XX_PCI_CSR(PCI_CRP_RDATA_OFFSET)#define PCI_CSR IXP4XX_PCI_CSR(PCI_CSR_OFFSET) #define PCI_ISR IXP4XX_PCI_CSR(PCI_ISR_OFFSET)#define PCI_INTEN IXP4XX_PCI_CSR(PCI_INTEN_OFFSET)#define PCI_DMACTRL IXP4XX_PCI_CSR(PCI_DMACTRL_OFFSET)#define PCI_AHBMEMBASE IXP4XX_PCI_CSR(PCI_AHBMEMBASE_OFFSET)#define PCI_AHBIOBASE IXP4XX_PCI_CSR(PCI_AHBIOBASE_OFFSET)#define PCI_PCIMEMBASE IXP4XX_PCI_CSR(PCI_PCIMEMBASE_OFFSET)#define PCI_AHBDOORBELL IXP4XX_PCI_CSR(PCI_AHBDOORBELL_OFFSET)#define PCI_PCIDOORBELL IXP4XX_PCI_CSR(PCI_PCIDOORBELL_OFFSET)#define PCI_ATPDMA0_AHBADDR IXP4XX_PCI_CSR(PCI_ATPDMA0_AHBADDR_OFFSET)#define PCI_ATPDMA0_PCIADDR IXP4XX_PCI_CSR(PCI_ATPDMA0_PCIADDR_OFFSET)#define PCI_ATPDMA0_LENADDR IXP4XX_PCI_CSR(PCI_ATPDMA0_LENADDR_OFFSET)#define PCI_ATPDMA1_AHBADDR IXP4XX_PCI_CSR(PCI_ATPDMA1_AHBADDR_OFFSET)#define PCI_ATPDMA1_PCIADDR IXP4XX_PCI_CSR(PCI_ATPDMA1_PCIADDR_OFFSET)#define PCI_ATPDMA1_LENADDR IXP4XX_PCI_CSR(PCI_ATPDMA1_LENADDR_OFFSET)/* * PCI register values and bit definitions *//* CSR bit definitions */#define PCI_CSR_HOST 0x00000001#define PCI_CSR_ARBEN 0x00000002#define PCI_CSR_ADS 0x00000004#define PCI_CSR_PDS 0x00000008#define PCI_CSR_ABE 0x00000010#define PCI_CSR_DBT 0x00000020#define PCI_CSR_ASE 0x00000100#define PCI_CSR_IC 0x00008000/* ISR (Interrupt status) Register bit definitions */#define PCI_ISR_PSE 0x00000001#define PCI_ISR_PFE 0x00000002#define PCI_ISR_PPE 0x00000004#define PCI_ISR_AHBE 0x00000008#define PCI_ISR_APDC 0x00000010#define PCI_ISR_PADC 0x00000020#define PCI_ISR_ADB 0x00000040#define PCI_ISR_PDB 0x00000080/* INTEN (Interrupt Enable) Register bit definitions */#define PCI_INTEN_PSE 0x00000001#define PCI_INTEN_PFE 0x00000002#define PCI_INTEN_PPE 0x00000004#define PCI_INTEN_AHBE 0x00000008#define PCI_INTEN_APDC 0x00000010#define PCI_INTEN_PADC 0x00000020#define PCI_INTEN_ADB 0x00000040#define PCI_INTEN_PDB 0x00000080/* * Shift value for byte enable on NP cmd/byte enable register */#define IXP4XX_PCI_NP_CBE_BESL 4/* * PCI commands supported by NP access unit */#define NP_CMD_IOREAD 0x2#define NP_CMD_IOWRITE 0x3#define NP_CMD_CONFIGREAD 0xa#define NP_CMD_CONFIGWRITE 0xb#define NP_CMD_MEMREAD 0x6#define NP_CMD_MEMWRITE 0x7/* * Constants for CRP access into local config space */#define CRP_AD_CBE_BESL 20#define CRP_AD_CBE_WRITE 0x00010000/* * USB Device Controller * * These are used by the USB gadget driver, so they don't follow the * IXP4XX_ naming convetions. * */# define IXP4XX_USB_REG(x) (*((volatile u32 *)(x)))/* UDC Undocumented - Reserved1 */#define UDC_RES1 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0004) /* UDC Undocumented - Reserved2 */#define UDC_RES2 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0008) /* UDC Undocumented - Reserved3 */#define UDC_RES3 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x000C) /* UDC Control Register */#define UDCCR IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0000) /* UDC Endpoint 0 Control/Status Register */#define UDCCS0 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0010) /* UDC Endpoint 1 (IN) Control/Status Register */#define UDCCS1 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0014) /* UDC Endpoint 2 (OUT) Control/Status Register */#define UDCCS2 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0018) /* UDC Endpoint 3 (IN) Control/Status Register */#define UDCCS3 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x001C) /* UDC Endpoint 4 (OUT) Control/Status Register */#define UDCCS4 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0020) /* UDC Endpoint 5 (Interrupt) Control/Status Register */#define UDCCS5 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0024) /* UDC Endpoint 6 (IN) Control/Status Register */#define UDCCS6 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0028) /* UDC Endpoint 7 (OUT) Control/Status Register */#define UDCCS7 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x002C) /* UDC Endpoint 8 (IN) Control/Status Register */#define UDCCS8 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0030) /* UDC Endpoint 9 (OUT) Control/Status Register */#define UDCCS9 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0034) /* UDC Endpoint 10 (Interrupt) Control/Status Register */#define UDCCS10 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0038) /* UDC Endpoint 11 (IN) Control/Status Register */#define UDCCS11 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x003C) /* UDC Endpoint 12 (OUT) Control/Status Register */#define UDCCS12 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0040) /* UDC Endpoint 13 (IN) Control/Status Register */#define UDCCS13 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0044) /* UDC Endpoint 14 (OUT) Control/Status Register */#define UDCCS14 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0048) /* UDC Endpoint 15 (Interrupt) Control/Status Register */#define UDCCS15 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x004C) /* UDC Frame Number Register High */#define UFNRH IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0060) /* UDC Frame Number Register Low */#define UFNRL IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0064) /* UDC Byte Count Reg 2 */#define UBCR2 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0068) /* UDC Byte Count Reg 4 */#define UBCR4 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x006c) /* UDC Byte Count Reg 7 */#define UBCR7 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0070) /* UDC Byte Count Reg 9 */#define UBCR9 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0074) /* UDC Byte Count Reg 12 */#define UBCR12 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0078) /* UDC Byte Count Reg 14 */#define UBCR14 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x007c) /* UDC Endpoint 0 Data Register */#define UDDR0 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0080) /* UDC Endpoint 1 Data Register */#define UDDR1 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0100) /* UDC Endpoint 2 Data Register */#define UDDR2 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0180) /* UDC Endpoint 3 Data Register */#define UDDR3 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0200) /* UDC Endpoint 4 Data Register */#define UDDR4 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0400) /* UDC Endpoint 5 Data Register */#define UDDR5 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x00A0) /* UDC Endpoint 6 Data Register */#define UDDR6 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0600) /* UDC Endpoint 7 Data Register */#define UDDR7 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0680) /* UDC Endpoint 8 Data Register */#define UDDR8 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0700) /* UDC Endpoint 9 Data Register */#define UDDR9 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0900) /* UDC Endpoint 10 Data Register */#define UDDR10 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x00C0) /* UDC Endpoint 11 Data Register */#define UDDR11 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0B00) /* UDC Endpoint 12 Data Register */#define UDDR12 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0B80) /* UDC Endpoint 13 Data Register */#define UDDR13 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0C00) /* UDC Endpoint 14 Data Register */#define UDDR14 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0E00) /* UDC Endpoint 15 Data Register */#define UDDR15 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x00E0) /* UDC Interrupt Control Register 0 */#define UICR0 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0050) /* UDC Interrupt Control Register 1 */#define UICR1 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0054) /* UDC Status Interrupt Register 0 */#define USIR0 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x0058) /* UDC Status Interrupt Register 1 */#define USIR1 IXP4XX_USB_REG(IXP4XX_USB_BASE_VIRT+0x005C) #define UDCCR_UDE (1 << 0) /* UDC enable */#define UDCCR_UDA (1 << 1) /* UDC active */#define UDCCR_RSM (1 << 2) /* Device resume */#define UDCCR_RESIR (1 << 3) /* Resume interrupt request */#define UDCCR_SUSIR (1 << 4) /* Suspend interrupt request */#define UDCCR_SRM (1 << 5) /* Suspend/resume interrupt mask */#define UDCCR_RSTIR (1 << 6) /* Reset interrupt request */#define UDCCR_REM (1 << 7) /* Reset interrupt mask */#define UDCCS0_OPR (1 << 0) /* OUT packet ready */#define UDCCS0_IPR (1 << 1) /* IN packet ready */#define UDCCS0_FTF (1 << 2) /* Flush Tx FIFO */#define UDCCS0_DRWF (1 << 3) /* Device remote wakeup feature */#define UDCCS0_SST (1 << 4) /* Sent stall */#define UDCCS0_FST (1 << 5) /* Force stall */#define UDCCS0_RNE (1 << 6) /* Receive FIFO no empty */#define UDCCS0_SA (1 << 7) /* Setup active */#define UDCCS_BI_TFS (1 << 0) /* Transmit FIFO service */#define UDCCS_BI_TPC (1 << 1) /* Transmit packet complete */#define UDCCS_BI_FTF (1 << 2) /* Flush Tx FIFO */#define UDCCS_BI_TUR (1 << 3) /* Transmit FIFO underrun */#define UDCCS_BI_SST (1 << 4) /* Sent stall */#define UDCCS_BI_FST (1 << 5) /* Force stall */#define UDCCS_BI_TSP (1 << 7) /* Transmit short packet */#define UDCCS_BO_RFS (1 << 0) /* Receive FIFO service */#define UDCCS_BO_RPC (1 << 1) /* Receive packet complete */#define UDCCS_BO_DME (1 << 3) /* DMA enable */#define UDCCS_BO_SST (1 << 4) /* Sent stall */#define UDCCS_BO_FST (1 << 5) /* Force stall */#define UDCCS_BO_RNE (1 << 6) /* Receive FIFO not empty */#define UDCCS_BO_RSP (1 << 7) /* Receive short packet */#define UDCCS_II_TFS (1 << 0) /* Transmit FIFO service */#define UDCCS_II_TPC (1 << 1) /* Transmit packet complete */#define UDCCS_II_FTF (1 << 2) /* Flush Tx FIFO */#define UDCCS_II_TUR (1 << 3) /* Transmit FIFO underrun */#define UDCCS_II_TSP (1 << 7) /* Transmit short packet */#define UDCCS_IO_RFS (1 << 0) /* Receive FIFO service */#define UDCCS_IO_RPC (1 << 1) /* Receive packet complete */#define UDCCS_IO_ROF (1 << 3) /* Receive overflow */#define UDCCS_IO_DME (1 << 3) /* DMA enable */#define UDCCS_IO_RNE (1 << 6) /* Receive FIFO not empty */#define UDCCS_IO_RSP (1 << 7) /* Receive short packet */#define UDCCS_INT_TFS (1 << 0) /* Transmit FIFO service */#define UDCCS_INT_TPC (1 << 1) /* Transmit packet complete */#define UDCCS_INT_FTF (1 << 2) /* Flush Tx FIFO */#define UDCCS_INT_TUR (1 << 3) /* Transmit FIFO underrun */#define UDCCS_INT_SST (1 << 4) /* Sent stall */#define UDCCS_INT_FST (1 << 5) /* Force stall */#define UDCCS_INT_TSP (1 << 7) /* Transmit short packet */#define UICR0_IM0 (1 << 0) /* Interrupt mask ep 0 */#define UICR0_IM1 (1 << 1) /* Interrupt mask ep 1 */#define UICR0_IM2 (1 << 2) /* Interrupt mask ep 2 */#define UICR0_IM3 (1 << 3) /* Interrupt mask ep 3 */#define UICR0_IM4 (1 << 4) /* Interrupt mask ep 4 */#define UICR0_IM5 (1 << 5) /* Interrupt mask ep 5 */#define UICR0_IM6 (1 << 6) /* Interrupt mask ep 6 */#define UICR0_IM7 (1 << 7) /* Interrupt mask ep 7 */#define UICR1_IM8 (1 << 0) /* Interrupt mask ep 8 */#define UICR1_IM9 (1 << 1) /* Interrupt mask ep 9 */#define UICR1_IM10 (1 << 2) /* Interrupt mask ep 10 */#define UICR1_IM11 (1 << 3) /* Interrupt mask ep 11 */#define UICR1_IM12 (1 << 4) /* Interrupt mask ep 12 */#define UICR1_IM13 (1 << 5) /* Interrupt mask ep 13 */#define UICR1_IM14 (1 << 6) /* Interrupt mask ep 14 */#define UICR1_IM15 (1 << 7) /* Interrupt mask ep 15 */#define USIR0_IR0 (1 << 0) /* Interrup request ep 0 */#define USIR0_IR1 (1 << 1) /* Interrup request ep 1 */#define USIR0_IR2 (1 << 2) /* Interrup request ep 2 */#define USIR0_IR3 (1 << 3) /* Interrup request ep 3 */#define USIR0_IR4 (1 << 4) /* Interrup request ep 4 */#define USIR0_IR5 (1 << 5) /* Interrup request ep 5 */#define USIR0_IR6 (1 << 6) /* Interrup request ep 6 */#define USIR0_IR7 (1 << 7) /* Interrup request ep 7 */#define USIR1_IR8 (1 << 0) /* Interrup request ep 8 */#define USIR1_IR9 (1 << 1) /* Interrup request ep 9 */#define USIR1_IR10 (1 << 2) /* Interrup request ep 10 */#define USIR1_IR11 (1 << 3) /* Interrup request ep 11 */#define USIR1_IR12 (1 << 4) /* Interrup request ep 12 */#define USIR1_IR13 (1 << 5) /* Interrup request ep 13 */#define USIR1_IR14 (1 << 6) /* Interrup request ep 14 */#define USIR1_IR15 (1 << 7) /* Interrup request ep 15 */#define DCMD_LENGTH 0x01fff /* length mask (max = 8K - 1) */#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -