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

📄 l7205-hardware.h

📁 Linux2.4.20针对三星公司的s3c2440内核基础上的一些设备驱动代码
💻 H
📖 第 1 页 / 共 2 页
字号:
/* * linux/drivers/usbd/l7205_bi/hardware.h -- L7205 USB controller driver.  * * Copyright (c) 2000, 2001, 2002 Lineo * * By:  *      Stuart Lynne <sl@lineo.com>,  *      Tom Rushworth <tbr@lineo.com>,  *      Bruce Balden <balden@lineo.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * */#define __IOA(x) ( (x) < IO_START_2 ?  \        (volatile unsigned char*) (IO_BASE + (x) - IO_START) : \        (volatile unsigned char*) (IO_BASE_2 + (x) - IO_START_2) )/*  * usb interrupt */#define IRQ_USBF        32/* * PMU Software */#define SYSTEM_BASE                     0x80050000#if 0#define SYS_CONFIG_CURRENT              (SYSTEM_BASE+0x000)#define SYS_CONFIG_NEXT                 (SYSTEM_BASE+0x004)#define SYS_CONFIG_RUN                  (SYSTEM_BASE+0x00c)#define SYS_CONFIG_COMM                 (SYSTEM_BASE+0x010)#define SYS_CONFIG_SDRAM                (SYSTEM_BASE+0x014)#define IO_SYS_CONFIG_CURRENT           __IOL(SYSTEM_BASE+0x000)#define IO_SYS_CONFIG_NEXT              __IOL(SYSTEM_BASE+0x004)#define IO_SYS_CONFIG_RUN               __IOL(SYSTEM_BASE+0x00c)#define IO_SYS_CONFIG_COMM              __IOL(SYSTEM_BASE+0x010)#define IO_SYS_CONFIG_SDRAM             __IOL(SYSTEM_BASE+0x014)#endif/*  * Current Configuration Register - SYS_CONFIG_CURRENT */#define SYSC_CURR_NFASTBUS              0x00000001#define SYSC_CURR_DSRF_SEL              0x00000002#define SYSC_CURR_SDRB_SEL              0x00000004#define SYSC_CURR_BCLK_DIV              0x00000018#define SYSC_CURR_PLLMUX                0x00000080#define SYSC_CURR_PLLEN                 0x00000100#define SYSC_CURR_PLLMUL                0x00007e00#define SYSC_CURR_OSCMUX                0x00080000#define SYSC_CURR_OSCEN                 0x00100000#define SYSC_CURR_TRANSOP               0x06000000/* * Next Configuration Register - SYS_CONFIG_NEXT */#define SYSC_NEXT_NFASTBUS              0x00000001#define SYSC_NEXT_SDRF_SEL              0x00000002#define SYSC_NEXT_SDRB_SEL              0x00000004#define SYSC_NEXT_BCLK_DIV              0x00000018#define SYSC_NEXT_SYSCLKEN              0x00000020#define SYSC_NEXT_SDR_STOP              0x00000040#define SYSC_NEXT_PLLMUX                0x00000080#define SYSC_NEXT_PLLEN                 0x00000100#define SYSC_NEXT_PLLMUL                0x00007e00#define SYSC_NEXT_OSCMUX                0x00008000#define SYSC_NEXT_OSCEN                 0x00010000#define SYSC_NEXT_INTRET                0x00020000#define SYSC_NEXT_CLOCKRECOVERY         0x01fc0000#define SYSC_NEXT_TRANSOP               0x06000000/*  * Run Configuration Register - SYS_CONFIG_RUN */#define SYSC_RUN_NFASTBUS               0x00000001#define SYSC_RUN_DSRF_SEL               0x00000002#define SYSC_RUN_SDRB_SEL               0x00000004#define SYSC_RUN_BCLK_DIV               0x00000018#define SYSC_RUN_PLLMUX                 0x00000080#define SYSC_RUN_PLLEN                  0x00000100#define SYSC_RUN_PLLMUL                 0x00007e00#define SYSC_RUN_OSCMUX                 0x00080000#define SYSC_RUN_OSCEN                  0x00100000/* * System Control */#if 0#define SYS_CLOCK_ENABLE                (SYSTEM_BASE+0x030)#define SYS_CLOCK_ESYNC                 (SYSTEM_BASE+0x034)#define SYS_CLOCK_SELECT                (SYSTEM_BASE+0x038)#define IO_SYS_CLOCK_ENABLE             __IOL(SYSTEM_BASE+0x030)#define IO_SYS_CLOCK_ESYNC              __IOL(SYSTEM_BASE+0x034)#define IO_SYS_CLOCK_SELECT             __IOL(SYSTEM_BASE+0x038)#endif#define SYS_CLOCK_AUX                   (SYSTEM_BASE+0x03c)#define IO_SYS_CLOCK_AUX                __IOL(SYSTEM_BASE+0x03c)/* * Clock Enable Register - SYS_CLOCK_ENABLE */#define SYS_CLOCK_SYN_EN                0x00000001#define SYS_CLOCK_B18M_EN               0x00000002#define SYS_CLOCK_3M6_EN                0x00000004#define SYS_CLOCK_FIR_EN                0x00000020#define SYS_CLOCK_MIRM_EN               0x00000040#define SYS_CLOCK_UARTM_EN              0x00000080#define SYS_CLOCK_SIBADC_EN             0x00000100#define SYS_CLOCK_ALTD_EN               0x00000200#define SYS_CLOCK_CLCLK_EN              0x00000400#define SYS_CLOCK_STCLK_EN              0x00000800#define SYS_CLOCK_AUXPLL_EN             0x00001000#define SYS_CLOCK_AUXCLK_EN             0x00002000#define SYS_CLOCK_18SYN_EN              0x00004000#define SYS_CLOCK_SICSYN_EN             0x00008000#define SYS_CLOCK_NDMA_EN               0x00010000#define SYS_CLOCK_USBFUNC_EN            0x00020000#define SYS_CLOCK_USBHOST_EN            0x00080000/* * Clock Multiplexor and Divider Control Register - SYS_CLOCK_SELECT */#define SYS_CLOCK_18M_DIV               0x00000001#define SYS_CLOCK_MIR_SEL               0x00000002#define SYS_CLOCK_UART_SEL              0x0000000c#define SYS_CLOCK_ALT_CLCLK_SEL         0x00000010#define SYS_CLOCK_MM_DIV                0x00000020#define SYS_CLOCK_MM_SEL                0x00000030#define SYS_CLOCK_ADC_SEL               0x00001f80#define SYS_CLOCK_ALTD_SEL              0x00002000#define SYS_CLOCK_CL_SEL                0x00004000#define SYS_CLOCK_18SRC_SEL             0x00008000#define SYS_CLOCK_18BY_SEL              0x00010000#define SYS_CLOCK_SICDIV_SEL            0x000e0000#define SYS_CLOCK_SICBY_SEL             0x00100000#define SYS_CLOCK_SICSYN_SEL            0x00600000#define SYS_CLOCK_18_AUX_SEL            0x00800000#define SYS_CLOCK_FIRAUX_SEL            0x01000000#define SYS_CLOCK_SICAUX_SEL            0x02000000/* * Auxillary PLL Configuration Register - SYS_CLOCK_AUX */#define SYS_CLOCK_AUXOSCMUX             0x00000001#define SYS_CLOCK_AUXPLLMUX             0x00000002#define SYS_CLOCK_AUXPLLMUL             0x000000fc#define SYS_CLOCK_AUXPLLMUL_18          0x00000014#define SYS_CLOCK_AUXPLLMUL_48          0x00000034/* * USB Function Controller */#define USB_FUNCTION_BASE               0x8004b000#if 0#define USBF_REVISION     		(USB_FUNCTION_BASE+0x000)#define USBF_CONTROL      		(USB_FUNCTION_BASE+0x004)#define USBF_STATUS       		(USB_FUNCTION_BASE+0x008)#define USBF_RAWSTATUS    		(USB_FUNCTION_BASE+0x00c)#define USBF_INTENA       		(USB_FUNCTION_BASE+0x010)#define USBF_INTDIS       		(USB_FUNCTION_BASE+0x014)#define USBF_INTCLR       		(USB_FUNCTION_BASE+0x018)// reserved                             (USB_FUNCTION_BASE+0x01c)#define USBF_CONFIGBUF1   		(USB_FUNCTION_BASE+0x020)#define USBF_ENDPTBUF0    		(USB_FUNCTION_BASE+0x024)#define USBF_ENDPTBUF1    		(USB_FUNCTION_BASE+0x028)#define USBF_ENDPTBUF2    		(USB_FUNCTION_BASE+0x02c)#define USBF_ENDPTBUF3    		(USB_FUNCTION_BASE+0x030)#define USBF_STRINGBUF0   		(USB_FUNCTION_BASE+0x034)#define USBF_STRINGBUF1   		(USB_FUNCTION_BASE+0x038)#define USBF_STRINGBUF2   		(USB_FUNCTION_BASE+0x03c)#define USBF_STRINGBUF3   		(USB_FUNCTION_BASE+0x040)#define USBF_STRINGBUF4   		(USB_FUNCTION_BASE+0x044)#define USBF_F0BCNT       		(USB_FUNCTION_BASE+0x048)#define USBF_F1BCNT       		(USB_FUNCTION_BASE+0x04c)#define USBF_F1TOUT       		(USB_FUNCTION_BASE+0x050)#define USBF_F2BCNT       		(USB_FUNCTION_BASE+0x054)#define USBF_F3BCNT       		(USB_FUNCTION_BASE+0x058)#define USBF_F2TAIL       		(USB_FUNCTION_BASE+0x05c)#define USBF_DESCRIPTORS  		(USB_FUNCTION_BASE+0x100)#endif#define USBF_DESCRIPTORS_MAX            168#if 0#define USBF_FIFO0        		(USB_FUNCTION_BASE+0x070)#define USBF_FIFO1        		(USB_FUNCTION_BASE+0x080)#define USBF_FIFO2        		(USB_FUNCTION_BASE+0x0a0)#define USBF_FIFO3        		(USB_FUNCTION_BASE+0x0c0)#endif#define USBF_FIFOS     		        (USBF_DESCRIPTORS+USBF_DESCRIPTORS_MAX)#define USBF_RFIFO0    		        (USBF_DESCRIPTORS+USBF_DESCRIPTORS_MAX+8)#define USBF_RFIFO1    		        (USBF_DESCRIPTORS+USBF_DESCRIPTORS_MAX+8+8)#define USBF_RFIFO2    		        (USBF_DESCRIPTORS+USBF_DESCRIPTORS_MAX+8+8+32)#define USBF_RFIFO3    		        (USBF_DESCRIPTORS+USBF_DESCRIPTORS_MAX+8+8+32+32)#define IO_USBF_REVISION     		__IOL(USB_FUNCTION_BASE+0x000)#define IO_USBF_CONTROL      		__IOL(USB_FUNCTION_BASE+0x004)#define IO_USBF_STATUS       		__IOL(USB_FUNCTION_BASE+0x008)#define IO_USBF_RAWSTATUS    		__IOL(USB_FUNCTION_BASE+0x00c)#define IO_USBF_INTENA       		__IOL(USB_FUNCTION_BASE+0x010)#define IO_USBF_INTDIS       		__IOL(USB_FUNCTION_BASE+0x014)#define IO_USBF_INTCLR       		__IOL(USB_FUNCTION_BASE+0x018)// reserved                             __IOL(USB_FUNCTION_BASE+0x01c)#define IO_USBF_CONFIGBUF1   		__IOL(USB_FUNCTION_BASE+0x020)#define IO_USBF_ENDPTBUF0    		__IOL(USB_FUNCTION_BASE+0x024)#define IO_USBF_ENDPTBUF1    		__IOL(USB_FUNCTION_BASE+0x028)#define IO_USBF_ENDPTBUF2    		__IOL(USB_FUNCTION_BASE+0x02c)#define IO_USBF_ENDPTBUF3    		__IOL(USB_FUNCTION_BASE+0x030)#define IO_USBF_STRINGBUF0   		__IOL(USB_FUNCTION_BASE+0x034)#define IO_USBF_STRINGBUF1   		__IOL(USB_FUNCTION_BASE+0x038)#define IO_USBF_STRINGBUF2   		__IOL(USB_FUNCTION_BASE+0x03c)#define IO_USBF_STRINGBUF3   		__IOL(USB_FUNCTION_BASE+0x040)#define IO_USBF_STRINGBUF4   		__IOL(USB_FUNCTION_BASE+0x044)#define IO_USBF_F0BCNT       		__IOL(USB_FUNCTION_BASE+0x048)#define IO_USBF_F1BCNT       		__IOL(USB_FUNCTION_BASE+0x04c)#define IO_USBF_F1TOUT       		__IOL(USB_FUNCTION_BASE+0x050)#define IO_USBF_F2BCNT       		__IOL(USB_FUNCTION_BASE+0x054)#define IO_USBF_F3BCNT       		__IOL(USB_FUNCTION_BASE+0x058)#define IO_USBF_F2TAIL       		__IOL(USB_FUNCTION_BASE+0x05c)#define IO_USBF_F2TAIL_1       		__IOL(USB_FUNCTION_BASE+0x05c)#define IO_USBF_F2TAIL_2     		__IOL(USB_FUNCTION_BASE+0x060)#define IO_USBF_F2TAIL_3     		__IOL(USB_FUNCTION_BASE+0x064)#define IO_USBF_FIFO0        		__IOL(USB_FUNCTION_BASE+0x070)#define IO_USBF_FIFO1        		__IOL(USB_FUNCTION_BASE+0x080)#define IO_USBF_FIFO2        		__IOL(USB_FUNCTION_BASE+0x0a0)#define IO_USBF_FIFO3        		__IOL(USB_FUNCTION_BASE+0x0c0)#define IO_USBF_DESCRIPTORS  		__IOA(USB_FUNCTION_BASE+0x100)#define IO_USBF_FIFOS     		__IOA(USB_FUNCTION_BASE+0x100+USBF_DESCRIPTORS_MAX)#define IO_USBF_FIFO_RX   		__IOA(USB_FUNCTION_BASE+0x100+USBF_DESCRIPTORS_MAX+16)#define IO_USBF_FIFO_TX   		__IOA(USB_FUNCTION_BASE+0x100+USBF_DESCRIPTORS_MAX+48)/* * Revision Register - USBF_REVISION */#define USBF_REVISION_11                0x3/* * Control Register - USBF_CONTROL */#define USBF_CONTROL_ENBL               0x00000001#define USBF_CONTROL_INTD               0x00000002#define USBF_CONTROL_FRST               0x00000004

⌨️ 快捷键说明

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