36 lines
1.5 KiB
C
36 lines
1.5 KiB
C
//soc confreg
|
|
|
|
#define CONFREG_CR0 0xbfd00000
|
|
#define CONFREG_CR1 0xbfd00004
|
|
#define CONFREG_CR2 0xbfd00008
|
|
#define CONFREG_CR3 0xbfd0000c
|
|
#define CONFREG_CR4 0xbfd00010
|
|
#define CONFREG_CR5 0xbfd00014
|
|
#define CONFREG_CR6 0xbfd00018
|
|
#define CONFREG_CR7 0xbfd0001c
|
|
|
|
#define UART_ADDR 0xbfe40000
|
|
#define LED_ADDR 0xbfd0f000
|
|
#define LED_RG0_ADDR 0xbfd0f004
|
|
#define LED_RG1_ADDR 0xbfd0f008
|
|
#define NUM_ADDR 0xbfd0f010
|
|
#define SWITCH_ADDR 0xbfd0f020
|
|
#define BTN_KEY_ADDR 0xbfd0f024
|
|
#define BTN_STEP_ADDR 0xbfd0f028
|
|
#define TIMER_ADDR 0xbfd0e000
|
|
|
|
#define SOC_LED (* (volatile unsigned *) LED_ADDR )
|
|
#define SOC_LED_RG0 (* (volatile unsigned *) LED_RG0_ADDR )
|
|
#define SOC_LED_RG1 (* (volatile unsigned *) LED_RG1_ADDR )
|
|
#define SOC_NUM (* (volatile unsigned *) NUM_ADDR )
|
|
#define SOC_SWITCHE (* (volatile unsigned *) SWITCH_ADDR )
|
|
#define SOC_BTN_KEY (* (volatile unsigned *) BTN_KEY_ADDR )
|
|
#define SOC_BTN_STEP (* (volatile unsigned *) BTN_STEP_ADDR )
|
|
#define SOC_TIMER (* (volatile unsigned *) TIMER_ADDR )
|
|
|
|
#define write_confreg_cr(num,data) *((volatile int *)(CONFREG_CR0+4*num)) = data
|
|
#define read_confreg_cr(num,data) data=*((volatile int *)(CONFREG_CR0+4*num))
|
|
#define NOP addu zero, zero, zero
|
|
#define LI(reg, imm) \
|
|
li reg, imm
|