📄 hsdramc1.h
字号:
/* * Register definitions for SDRAM Controller */#ifndef __ASM_AVR32_HSDRAMC1_H__#define __ASM_AVR32_HSDRAMC1_H__/* HSDRAMC1 register offsets */#define HSDRAMC1_MR 0x0000#define HSDRAMC1_TR 0x0004#define HSDRAMC1_CR 0x0008#define HSDRAMC1_HSR 0x000c#define HSDRAMC1_LPR 0x0010#define HSDRAMC1_IER 0x0014#define HSDRAMC1_IDR 0x0018#define HSDRAMC1_IMR 0x001c#define HSDRAMC1_ISR 0x0020#define HSDRAMC1_MDR 0x0024#define HSDRAMC1_VERSION 0x00fc/* Bitfields in MR */#define HSDRAMC1_MODE_OFFSET 0#define HSDRAMC1_MODE_SIZE 3/* Bitfields in TR */#define HSDRAMC1_COUNT_OFFSET 0#define HSDRAMC1_COUNT_SIZE 12/* Bitfields in CR */#define HSDRAMC1_NC_OFFSET 0#define HSDRAMC1_NC_SIZE 2#define HSDRAMC1_NR_OFFSET 2#define HSDRAMC1_NR_SIZE 2#define HSDRAMC1_NB_OFFSET 4#define HSDRAMC1_NB_SIZE 1#define HSDRAMC1_CAS_OFFSET 5#define HSDRAMC1_CAS_SIZE 2#define HSDRAMC1_DBW_OFFSET 7#define HSDRAMC1_DBW_SIZE 1#define HSDRAMC1_TWR_OFFSET 8#define HSDRAMC1_TWR_SIZE 4#define HSDRAMC1_TRC_OFFSET 12#define HSDRAMC1_TRC_SIZE 4#define HSDRAMC1_TRP_OFFSET 16#define HSDRAMC1_TRP_SIZE 4#define HSDRAMC1_TRCD_OFFSET 20#define HSDRAMC1_TRCD_SIZE 4#define HSDRAMC1_TRAS_OFFSET 24#define HSDRAMC1_TRAS_SIZE 4#define HSDRAMC1_TXSR_OFFSET 28#define HSDRAMC1_TXSR_SIZE 4/* Bitfields in HSR */#define HSDRAMC1_DA_OFFSET 0#define HSDRAMC1_DA_SIZE 1/* Bitfields in LPR */#define HSDRAMC1_LPCB_OFFSET 0#define HSDRAMC1_LPCB_SIZE 2#define HSDRAMC1_PASR_OFFSET 4#define HSDRAMC1_PASR_SIZE 3#define HSDRAMC1_TCSR_OFFSET 8#define HSDRAMC1_TCSR_SIZE 2#define HSDRAMC1_DS_OFFSET 10#define HSDRAMC1_DS_SIZE 2#define HSDRAMC1_TIMEOUT_OFFSET 12#define HSDRAMC1_TIMEOUT_SIZE 2/* Bitfields in IDR */#define HSDRAMC1_RES_OFFSET 0#define HSDRAMC1_RES_SIZE 1/* Bitfields in MDR */#define HSDRAMC1_MD_OFFSET 0#define HSDRAMC1_MD_SIZE 2/* Bitfields in VERSION */#define HSDRAMC1_VERSION_OFFSET 0#define HSDRAMC1_VERSION_SIZE 12#define HSDRAMC1_MFN_OFFSET 16#define HSDRAMC1_MFN_SIZE 3/* Constants for MODE */#define HSDRAMC1_MODE_NORMAL 0#define HSDRAMC1_MODE_NOP 1#define HSDRAMC1_MODE_BANKS_PRECHARGE 2#define HSDRAMC1_MODE_LOAD_MODE 3#define HSDRAMC1_MODE_AUTO_REFRESH 4#define HSDRAMC1_MODE_EXT_LOAD_MODE 5#define HSDRAMC1_MODE_POWER_DOWN 6/* Constants for NC */#define HSDRAMC1_NC_8_COLUMN_BITS 0#define HSDRAMC1_NC_9_COLUMN_BITS 1#define HSDRAMC1_NC_10_COLUMN_BITS 2#define HSDRAMC1_NC_11_COLUMN_BITS 3/* Constants for NR */#define HSDRAMC1_NR_11_ROW_BITS 0#define HSDRAMC1_NR_12_ROW_BITS 1#define HSDRAMC1_NR_13_ROW_BITS 2/* Constants for NB */#define HSDRAMC1_NB_TWO_BANKS 0#define HSDRAMC1_NB_FOUR_BANKS 1/* Constants for CAS */#define HSDRAMC1_CAS_ONE_CYCLE 1#define HSDRAMC1_CAS_TWO_CYCLES 2/* Constants for DBW */#define HSDRAMC1_DBW_32_BITS 0#define HSDRAMC1_DBW_16_BITS 1/* Constants for TIMEOUT */#define HSDRAMC1_TIMEOUT_AFTER_END 0#define HSDRAMC1_TIMEOUT_64_CYC_AFTER_END 1#define HSDRAMC1_TIMEOUT_128_CYC_AFTER_END 2/* Constants for MD */#define HSDRAMC1_MD_SDRAM 0#define HSDRAMC1_MD_LOW_POWER_SDRAM 1/* Bit manipulation macros */#define HSDRAMC1_BIT(name) \ (1 << HSDRAMC1_##name##_OFFSET)#define HSDRAMC1_BF(name,value) \ (((value) & ((1 << HSDRAMC1_##name##_SIZE) - 1)) \ << HSDRAMC1_##name##_OFFSET)#define HSDRAMC1_BFEXT(name,value) \ (((value) >> HSDRAMC1_##name##_OFFSET) \ & ((1 << HSDRAMC1_##name##_SIZE) - 1))#define HSDRAMC1_BFINS(name,value,old) \ (((old) & ~(((1 << HSDRAMC1_##name##_SIZE) - 1) \ << HSDRAMC1_##name##_OFFSET)) \ | HSDRAMC1_BF(name,value))/* Register access macros */#define hsdramc1_readl(port,reg) \ readl((port)->regs + HSDRAMC1_##reg)#define hsdramc1_writel(port,reg,value) \ writel((value), (port)->regs + HSDRAMC1_##reg)#endif /* __ASM_AVR32_HSDRAMC1_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -