diff options
author | Joel Sherrill <joel.sherrill@oarcorp.com> | 2014-10-08 15:06:52 -0500 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@oarcorp.com> | 2014-10-10 10:16:57 -0500 |
commit | 8536b67bab9886ea992f08fe23e35a84579df573 (patch) | |
tree | 4d4997eacaacc0ea4ecbb6f6a8f10797dfe731a6 /c/src/lib/libbsp/mips/genmongoosev/console/mg5uart_reg.c | |
parent | arm: Fix warning (diff) | |
download | rtems-8536b67bab9886ea992f08fe23e35a84579df573.tar.bz2 |
Move Mongoose-V specific devices into BSP.
Putting the duart in libcpu was very optimistic and presumptuous.
It has never been used again on another SoC and is BSP specific.
Diffstat (limited to 'c/src/lib/libbsp/mips/genmongoosev/console/mg5uart_reg.c')
-rw-r--r-- | c/src/lib/libbsp/mips/genmongoosev/console/mg5uart_reg.c | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/mips/genmongoosev/console/mg5uart_reg.c b/c/src/lib/libbsp/mips/genmongoosev/console/mg5uart_reg.c new file mode 100644 index 0000000000..134695fb98 --- /dev/null +++ b/c/src/lib/libbsp/mips/genmongoosev/console/mg5uart_reg.c @@ -0,0 +1,58 @@ +/* + * This file contains a typical set of register access routines which may be + * used with the mg5uart chip if accesses to the chip are as follows: + * + * + registers are accessed as uint32_t 's + * + registers are only u32-aligned (no address gaps) + * + * COPYRIGHT (c) 1989-2001. + * On-Line Applications Research Corporation (OAR). + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +#include <rtems.h> + +#ifndef _MG5UART_MULTIPLIER +#define _MG5UART_MULTIPLIER 1 +#define _MG5UART_NAME(_X) _X +#define _MG5UART_TYPE uint32_t +#endif + +#define CALCULATE_REGISTER_ADDRESS( _base, _reg ) \ + (_MG5UART_TYPE *)((_base) + ((_reg) * _MG5UART_MULTIPLIER )) + +/* + * MG5UART Get Register Routine + */ + +uint8_t _MG5UART_NAME(mg5uart_get_register)( + uint32_t ulCtrlPort, + uint8_t ucRegNum +) +{ + _MG5UART_TYPE *port; + + port = CALCULATE_REGISTER_ADDRESS( ulCtrlPort, ucRegNum ); + + return *port; +} + +/* + * MG5UART Set Register Routine + */ + +void _MG5UART_NAME(mg5uart_set_register)( + uint32_t ulCtrlPort, + uint8_t ucRegNum, + uint8_t ucData +) +{ + _MG5UART_TYPE *port; + + port = CALCULATE_REGISTER_ADDRESS( ulCtrlPort, ucRegNum ); + + *port = ucData; +} |