📄 dec21285.h
字号:
#define CSR_PCI_CMD 0x004#define CSR_PCI_REVID 0x008#define CSR_PCI_CACHELINESZ 0x00c#define CSR_PCI_LATENCY_TIMER 0x00d#define CSR_CSRMEMBASE 0x010#define CSR_CSRIOBASE 0x014#define CSR_SDRAMBASE 0x018#define CSR_ROMBASEADDR 0x030#define CSR_OIMR 0x034#define CSR_MIN_GRANT 0x03e#define CSR_MAX_LATENCY 0x03f#define CSR_CSRBASEADDRMASK 0x0f8#define CSR_CSRBASEADDR 0x0fc#define CSR_SDRAMBASEADDRMASK 0x100#define CSR_SDRAMBASEOFF 0x104#define CSR_ROMBASEADDRMASK 0x108#define CSR_CTRL 0x13c#define CSR_CTRL_INITCOMPLETE (1 << 0)#define CSR_CTRL_PCINRST (1 << 9)#define CSR_CTRL_PCICFN (1 << 31)#define CSR_PCIEXTN 0x140#define CSR_PREFETCHRANGE 0x144#define CSR_PREFETCHRANGE_ENABLE (1 << 0)#define CSR_PREFETCHRANGE_TYPE (1 << 1)#define CSR_PREFETCHRANGE_LEN1 (0 << 2)#define CSR_PREFETCHRANGE_LEN2 (1 << 2)#define CSR_PREFETCHRANGE_LEN4 (2 << 2)#define CSR_PREFETCHRANGE_LEN8 (3 << 2)#define CSR_PREFETCHRANGE_LEN16 (4 << 2)#define CSR_PREFETCHRANGE_LEN32 (5 << 2)#define CSR_DPMR 0x150#define CSR_DSMR 0x154#define CSR_IRQ_STATUS 0x180#define CSR_IRQ_ENABLE 0x188#define CSR_IRQ_DISABLE 0x18c#define CSR_FIQ_STATUS 0x280#define CSR_FIQ_ENABLE 0x288#define CSR_FIQ_DISABLE 0x28c#define CSR_TIMER1_LOAD 0x300#define CSR_TIMER1_VALUE 0x304#define CSR_TIMER1_CNTL 0x308#define CSR_TIMER1_CLR 0x30c#define TIMER_CNTL_ENABLE (1 << 7)#define TIMER_CNTL_AUTORELOAD (1 << 6)#define TIMER_CNTL_DIV1 (0)#define TIMER_CNTL_DIV16 (1 << 2)#define TIMER_CNTL_DIV256 (2 << 2)#define TIMER_CNTL_CNTEXT (3 << 2)#define CLOCK_TICK_RATE 50000000typedef unsigned int csr_long_t;typedef unsigned int csr_word_t;static __inline__ void csr_write_long(csr_long_t data, int offset){ unsigned int base = 0x42000000; __asm__("str %0, [%1, %2]" : : "r" (data), "r" (base), "Jr" (offset));}static __inline__ void csr_write_word(csr_word_t data, int offset){ unsigned int base = 0x42000000; __asm__("strh %0, [%1]" : : "r" (data), "r" (base + offset));}static __inline__ csr_long_t csr_read_long(int offset){ unsigned int base = 0x42000000; csr_long_t data; __asm__("ldr %0, [%1, %2]" : "=r" (data) : "r" (base), "Jr" (offset)); return data;}static __inline__ csr_word_t csr_read_word(int offset){ unsigned int base = 0x42000000; csr_word_t data; __asm__("ldrh %0, [%1]" : "=r" (data) : "r" (base + offset)); return data;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -