var_io.h

来自「eCos操作系统源码」· C头文件 代码 · 共 599 行 · 第 1/2 页

H
599
字号
#define AT91_TC_CMR_CLKS_MCK2      (0<<0)#define AT91_TC_CMR_CLKS_MCK8      (1<<0)#define AT91_TC_CMR_CLKS_MCK32     (2<<0)#define AT91_TC_CMR_CLKS_MCK128    (3<<0)#define AT91_TC_CMR_CLKS_MCK1024   (4<<0)#define AT91_TC_CMR_CLKS_XC0       (5<<0)#define AT91_TC_CMR_CLKS_XC1       (6<<0)#define AT91_TC_CMR_CLKS_XC2       (7<<0)#define AT91_TC_CMR_CLKI           (1<<3)#define AT91_TC_CMR_BURST_NONE     (0<<4)#define AT91_TC_CMR_BURST_XC0      (1<<4)#define AT91_TC_CMR_BURST_XC1      (2<<4)#define AT91_TC_CMR_BURST_XC2      (3<<4)#define AT91_TC_CMR_LDBSTOP        (1<<6)#define AT91_TC_CMR_LDBDIS         (1<<7)#define AT91_TC_CMR_TRIG_NONE      (0<<8)#define AT91_TC_CMR_TRIG_NEG       (1<<8)#define AT91_TC_CMR_TRIG_POS       (2<<8)#define AT91_TC_CMR_TRIG_BOTH      (3<<8)#define AT91_TC_CMR_EXT_TRIG_TIOB  (0<<10)#define AT91_TC_CMR_EXT_TRIG_TIOA  (1<<10)#define AT91_TC_CMR_CPCTRG         (1<<14)#define AT91_TC_CMR_LDRA_NONE      (0<<16)#define AT91_TC_CMR_LDRA_TIOA_NEG  (1<<16)#define AT91_TC_CMR_LDRA_TIOA_POS  (2<<16)#define AT91_TC_CMR_LDRA_TIOA_BOTH (3<<16)#define AT91_TC_CMR_LDRB_NONE      (0<<16)#define AT91_TC_CMR_LDRB_TIOA_NEG  (1<<16)#define AT91_TC_CMR_LDRB_TIOA_POS  (2<<16)#define AT91_TC_CMR_LDRB_TIOA_BOTH (3<<16)// Waveform mode definitions [missing]#define AT91_TC_CV      0x10#define AT91_TC_RA      0x14#define AT91_TC_RB      0x18#define AT91_TC_RC      0x1C#define AT91_TC_SR      0x20#define AT91_TC_SR_COVF    (1<<0)  // Counter overrun#define AT91_TC_SR_LOVR    (1<<1)  // Load overrun#define AT91_TC_SR_CPA     (1<<2)  // RA compare#define AT91_TC_SR_CPB     (1<<3)  // RB compare#define AT91_TC_SR_CPC     (1<<4)  // RC compare#define AT91_TC_SR_LDRA    (1<<5)  // Load A status#define AT91_TC_SR_LDRB    (1<<6)  // Load B status#define AT91_TC_SR_EXT     (1<<7)  // External trigger#define AT91_TC_SR_CLKSTA  (1<<16) // Clock enable/disable status#define AT91_TC_SR_MTIOA   (1<<17) // TIOA mirror#define AT91_TC_SR_MTIOB   (1<<18) // TIOB mirror#define AT91_TC_IER     0x24#define AT91_TC_IER_COVF   (1<<0)  // Counter overrun#define AT91_TC_IER_LOVR   (1<<1)  // Load overrun#define AT91_TC_IER_CPA    (1<<2)  // RA compare#define AT91_TC_IER_CPB    (1<<3)  // RB compare#define AT91_TC_IER_CPC    (1<<4)  // RC compare#define AT91_TC_IER_LDRA   (1<<5)  // Load A status#define AT91_TC_IER_LDRB   (1<<6)  // Load B status#define AT91_TC_IER_EXT    (1<<7)  // External trigger#define AT91_TC_IDR     0x28#define AT91_TC_IMR     0x2C#define AT91_TC_TC1     0x40#define AT91_TC_TC2     0x80#define AT91_TC_BCR     0xC0#define AT91_TC_BCR_SYNC   0x01#define AT91_TC_BMR     0xC4//=============================================================================// External Bus Interface#ifndef AT91_EBI#define AT91_EBI        0xFFE00000#endif#define AT91_EBI_CSR0 	0x00#define AT91_EBI_CSR1 	0x04#define AT91_EBI_CSR2 	0x08#define AT91_EBI_CSR3 	0x0C#define AT91_EBI_CSR4 	0x10#define AT91_EBI_CSR5 	0x14#define AT91_EBI_CSR6 	0x18#define AT91_EBI_CSR7 	0x1C  	   // Chip select#define AT91_EBI_CSR_DBW_16 0x1    // Data bus 16 bits wide#define AT91_EBI_CSR_DBW_8  0x2    // Data bus  8 bits wide#define AT91_EBI_CSR_NWS_1  (0x0 << 2)#define AT91_EBI_CSR_NWS_2  (0x1 << 2)#define AT91_EBI_CSR_NWS_3  (0x2 << 2)#define AT91_EBI_CSR_NWS_4  (0x3 << 2)#define AT91_EBI_CSR_NWS_5  (0x4 << 2)#define AT91_EBI_CSR_NWS_6  (0x5 << 2)#define AT91_EBI_CSR_NWS_7  (0x6 << 2)#define AT91_EBI_CSR_NWS_8  (0x7 << 2)	// Number of wait states#define AT91_EBI_CSR_WSE    (0x1 << 5)	// Wait state enable#define AT91_EBI_CSR_PAGES_1M  (0x0 << 7)#define AT91_EBI_CSR_PAGES_4M  (0x1 << 7)#define AT91_EBI_CSR_PAGES_16M (0x2 << 7)#define AT91_EBI_CSR_PAGES_64M (0x3 << 7) // Page size#define AT91_EBI_CSR_TDF_0  (0x0 << 9)#define AT91_EBI_CSR_TDF_1  (0x1 << 9)#define AT91_EBI_CSR_TDF_2  (0x2 << 9)#define AT91_EBI_CSR_TDF_3  (0x3 << 9)#define AT91_EBI_CSR_TDF_4  (0x4 << 9)#define AT91_EBI_CSR_TDF_5  (0x5 << 9)#define AT91_EBI_CSR_TDF_6  (0x6 << 9)#define AT91_EBI_CSR_TDF_7  (0x7 << 9)	// Data float output time#define AT91_EBI_CSR_BAT    (0x1 << 12) // Byte access type#define AT91_EBI_CSR_CSEN   (0x1 << 13) // Chip select enable#define AT91_EBI_CSR_BA     (0xFFF << 20) // Base address#define AT91_EBI_RCR    0x20       // Reset control#define AT91_EBI_RCR_RCB    0x1    // Remap command bit#define AT91_EBI_MCR  	0x24  	   // Memory control#define AT91_EBI_MCR_ALE_16M  0x0#define AT91_EBI_MCR_ALE_8M   0x4#define AT91_EBI_MCR_ALE_4M   0x5#define AT91_EBI_MCR_ALE_2M   0x6#define AT91_EBI_MCR_ALE_1M   0x7   // Address line enable#define AT91_EBI_MCR_DRP      (0x1 << 4)  // Data read protocol//=============================================================================// Power Saving or Management#if defined(CYGHWR_HAL_ARM_AT91_R40807) || \    defined(CYGHWR_HAL_ARM_AT91_R40008)// Power Saving#ifndef AT91_PS#define AT91_PS         0xFFFF4000#endif#define AT91_PS_CR        0x000    // Control#define AT91_PS_CR_CPU    (1<<0)   // Disable CPU clock (idle mode)#define AT91_PS_PCER      0x004    // Peripheral clock enable#define AT91_PS_PCDR      0x008    // Peripheral clock disable#define AT91_PS_PCSR      0x00c    // Peripheral clock status#elif defined(CYGHWR_HAL_ARM_AT91_M42800A) || \      defined(CYGHWR_HAL_ARM_AT91_M55800A)// (Advanced) Power Management#ifndef AT91_PMC#define AT91_PMC        0xFFFF4000#endif#define AT91_PMC_SCER           0x00#define AT91_PMC_SCDR           0x04#define AT91_PMC_SCSR           0x08#define AT91_PMC_PCER           0x10#define AT91_PMC_PCDR           0x14#define AT91_PMC_PCSR           0x18#define AT91_PMC_CGMR           0x20    #define AT91_PMC_SR             0x30#define AT91_PMC_IER            0x34#define AT91_PMC_IDR            0x38#define AT91_PMC_IMR            0x3c#if defined(CYGHWR_HAL_ARM_AT91_M42800A)#define AT91_PMC_PCER_US0       (1<<2)#define AT91_PMC_PCER_US1       (1<<3)#define AT91_PMC_PCER_SPIA      (1<<4)#define AT91_PMC_PCER_SPIB      (1<<5)#define AT91_PMC_PCER_TC0       (1<<6)#define AT91_PMC_PCER_TC1       (1<<7)#define AT91_PMC_PCER_TC2       (1<<8)#define AT91_PMC_PCER_TC3       (1<<9)#define AT91_PMC_PCER_TC4       (1<<10)#define AT91_PMC_PCER_TC5       (1<<11)#define AT91_PMC_PCER_PIOA      (1<<13)#define AT91_PMC_PCER_PIOB      (1<<14)    #define AT91_PMC_CGMR_PRES_NONE       0#define AT91_PMC_CGMR_PRES_DIV2       1#define AT91_PMC_CGMR_PRES_DIV4       2#define AT91_PMC_CGMR_PRES_DIV8       3#define AT91_PMC_CGMR_PRES_DIV16      4#define AT91_PMC_CGMR_PRES_DIV32      5#define AT91_PMC_CGMR_PRES_DIV64      6#define AT91_PMC_CGMR_PRES_RES        7#define AT91_PMC_CGMR_PLLA         0x00#define AT91_PMC_CGMR_PLLB         0x08#define AT91_PMC_CGMR_MCK_SLCK   (0<<4)#define AT91_PMC_CGMR_MCK_MCK    (1<<4)#define AT91_PMC_CGMR_MCK_MCKINV (2<<4)#define AT91_PMC_CGMR_MCK_MCKD2  (3<<4)#define AT91_PMC_CGMR_MCKO_ENA   (0<<6)#define AT91_PMC_CGMR_MCKO_DIS   (1<<6)#define AT91_PMC_CGMR_CSS_SLCK   (0<<7)#define AT91_PMC_CGMR_CSS_PLL    (1<<7)#define AT91_PMC_CGMR_PLL_MUL(x) ((x)<<8)#define AT91_PMC_CGMR_PLL_CNT(x) ((x)<<24)#define AT91_PMC_SR_LOCK        0x01    #elif defined(CYGHWR_HAL_ARM_AT91_M55800A)#define AT91_PMC_PCER_US0       (1<<2)#define AT91_PMC_PCER_US1       (1<<3)#define AT91_PMC_PCER_US2       (1<<4)#define AT91_PMC_PCER_SPI       (1<<5)#define AT91_PMC_PCER_TC0       (1<<6)#define AT91_PMC_PCER_TC1       (1<<7)#define AT91_PMC_PCER_TC2       (1<<8)#define AT91_PMC_PCER_TC3       (1<<9)#define AT91_PMC_PCER_TC4       (1<<10)#define AT91_PMC_PCER_TC5       (1<<11)#define AT91_PMC_PCER_PIOA      (1<<13)#define AT91_PMC_PCER_PIOB      (1<<14)#define AT91_PMC_PCER_ADC0      (1<<15)#define AT91_PMC_PCER_ADC1      (1<<16)#define AT91_PMC_PCER_DAC0      (1<<17)#define AT91_PMC_PCER_DAC1      (1<<18)#define AT91_PMC_CGMR_MOSC_XTAL       0#define AT91_PMC_CGMR_MOSC_BYP        1#define AT91_PMC_CGMR_MOSC_DIS   (0<<1)#define AT91_PMC_CGMR_MOSC_ENA   (1<<1)#define AT91_PMC_CGMR_MCKO_ENA   (0<<2)#define AT91_PMC_CGMR_MCKO_DIS   (1<<2)#define AT91_PMC_CGMR_PRES_NONE  (0<<4)#define AT91_PMC_CGMR_PRES_DIV2  (1<<4)#define AT91_PMC_CGMR_PRES_DIV4  (2<<4)#define AT91_PMC_CGMR_PRES_DIV8  (3<<4)#define AT91_PMC_CGMR_PRES_DIV16 (4<<4)#define AT91_PMC_CGMR_PRES_DIV32 (5<<4)#define AT91_PMC_CGMR_PRES_DIV64 (6<<4)#define AT91_PMC_CGMR_PRES_RES   (7<<4)#define AT91_PMC_CGMR_CSS_LF     (0<<14)#define AT91_PMC_CGMR_CSS_MOSC   (1<<14)#define AT91_PMC_CGMR_CSS_PLL    (2<<14)#define AT91_PMC_CGMR_CSS_RES    (3<<14)    #define AT91_PMC_CGMR_PLL_MUL(x) ((x)<<8)#define AT91_PMC_CGMR_OSC_CNT(x) ((x)<<16)#define AT91_PMC_CGMR_PLL_CNT(x) ((x)<<24)#define AT91_PMC_PCR            0x28#define AT91_PMC_PCR_SHDALC     1#define AT91_PMC_PCR_WKACKC     2    #define AT91_PMC_PMR            0x2c#define AT91_PMC_PMR_SHDALS_TRI         0#define AT91_PMC_PMR_SHDALS_LEVEL0      1#define AT91_PMC_PMR_SHDALS_LEVEL1      2#define AT91_PMC_PMR_SHDALS_RES         3#define AT91_PMC_PMR_WKACKS_TRI    (0<<2)#define AT91_PMC_PMR_WKACKS_LEVEL0 (1<<2)#define AT91_PMC_PMR_WKACKS_LEVEL1 (2<<2)#define AT91_PMC_PMR_WKACKS_RES    (3<<2)#define AT91_PMC_PMR_ALWKEN        (1<<4)#define AT91_PMC_PMR_ALSHEN        (1<<5)#define AT91_PMC_PMR_WKEDG_NONE    (0<<6)#define AT91_PMC_PMR_WKEDG_POS     (1<<6)#define AT91_PMC_PMR_WKEDG_NEG     (2<<6)#define AT91_PMC_PMR_WKEDG_BOTH    (3<<6)#define AT91_PMC_SR_MOSCS       0x01#define AT91_PMC_SR_LOCK        0x02#endif#else#error Unknown AT91 variant#endif//=============================================================================// Watchdog#ifndef AT91_WD#define AT91_WD             0xFFFF8000#endif#define AT91_WD_OMR         0x00#define AT91_WD_OMR_WDEN    0x00000001#define AT91_WD_OMR_RSTEN   0x00000002#define AT91_WD_OMR_IRQEN   0x00000004#define AT91_WD_OMR_EXTEN   0x00000008#define AT91_WD_OMR_OKEY    (0x00000234 << 4)#define AT91_WD_CMR         0x04#define AT91_WD_CMR_WDCLKS  0x00000003#define AT91_WD_CMR_HPCV    0x0000003C#define AT91_WD_CMR_CKEY    (0x0000006E << 7)#define AT91_WD_CR          0x08#define AT91_WD_CR_RSTKEY   0x0000C071#define AT91_WD_SR          0x0C#define AT91_WD_SR_WDOVF    0x00000001//-----------------------------------------------------------------------------// end of var_io.h#endif // CYGONCE_HAL_VAR_IO_H

⌨️ 快捷键说明

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