diff options
Diffstat (limited to 'libgloss/mips/jmr3904-io.c')
-rw-r--r-- | libgloss/mips/jmr3904-io.c | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/libgloss/mips/jmr3904-io.c b/libgloss/mips/jmr3904-io.c deleted file mode 100644 index 8d43007..0000000 --- a/libgloss/mips/jmr3904-io.c +++ /dev/null @@ -1,104 +0,0 @@ - - -#define READ_UINT8( _register_, _value_ ) \ - ((_value_) = *((volatile unsigned char *)(_register_))) - -#define WRITE_UINT8( _register_, _value_ ) \ - (*((volatile unsigned char *)(_register_)) = (_value_)) - - /* - Board specific addresses for serial chip */ -#define DIAG_BASE 0xfffff300 -#define DIAG_SLCR (DIAG_BASE+0x00) -#define DIAG_SLSR (DIAG_BASE+0x04) -#define DIAG_SLDICR (DIAG_BASE+0x08) -#define DIAG_SLDISR (DIAG_BASE+0x0C) -#define DIAG_SFCR (DIAG_BASE+0x10) -#define DIAG_SBRG (DIAG_BASE+0x14) -#define DIAG_TFIFO (DIAG_BASE+0x20) -#define DIAG_RFIFO (DIAG_BASE+0x30) - -#define BRG_T0 0x0000 -#define BRG_T2 0x0100 -#define BRG_T4 0x0200 -#define BRG_T5 0x0300 - - -#define READ_UINT16( _register_, _value_ ) \ - ((_value_) = *((volatile unsigned short *)(_register_))) - -#define WRITE_UINT16( _register_, _value_ ) \ - (*((volatile unsigned short *)(_register_)) = (_value_)) - -unsigned char -inbyte (void) -{ - unsigned char c; - unsigned short disr; - - for (;;) - { - READ_UINT16 (DIAG_SLDISR, disr); - if (disr & 0x0001) - break; - } - disr = disr & ~0x0001; - READ_UINT8 (DIAG_RFIFO, c); - WRITE_UINT16 (DIAG_SLDISR, disr); - return c; -} - -void -outbyte (unsigned char c) -{ - unsigned short disr; - - for (;;) - { - READ_UINT16 (DIAG_SLDISR, disr); - if (disr & 0x0002) - break; - } - disr = disr & ~0x0002; - WRITE_UINT8 (DIAG_TFIFO, c); - WRITE_UINT16 (DIAG_SLDISR, disr); -} - -/* Stuff required to setup IO on this board */ -void board_serial_init (void) -{ - WRITE_UINT16 (DIAG_SLCR, 0x0020); - WRITE_UINT16 (DIAG_SLDICR, 0x0000); - WRITE_UINT16 (DIAG_SFCR, 0x0000); - WRITE_UINT16 (DIAG_SBRG, BRG_T2 | 5); -} - -/* If you want this to be initialized as part of the stuff which gets called - by crt0, it should be named 'hardware_init_hook'. - Local implementations may want to move or add to this function OR - do the initializations after main() is entered. -*/ -void hardware_init_hook(void) -{ - board_serial_init() ; -} - -/* Structure filled in by get_mem_info. Only the size field is - actually used (by sbrk), so the others aren't even filled in. */ - -struct s_mem -{ - unsigned int size; - unsigned int icsize; - unsigned int dcsize; -}; - -/* mem_size is provided in the linker script so that we don't have to - define it here. */ -extern char _mem_size[]; - -void -get_mem_info (mem) - struct s_mem *mem; -{ - mem->size = (unsigned int)_mem_size; -} |