source: rtems/c/src/libchip/serial/mc68681_reg.c @ 2698728

4.115
Last change on this file since 2698728 was 642c500, checked in by Joel Sherrill <joel.sherrill@…>, on 04/26/10 at 00:58:39

2010-04-25 Joel Sherrill <joel.sherrilL@…>

  • libchip/serial/mc68681.c, libchip/serial/mc68681_reg.c, libchip/serial/ns16550.c, libchip/serial/serial.h, libchip/serial/z85c30.c, libchip/serial/z85c30_reg.c: Use uintptr_t or intptr_t instead of uint32_t or int32_t.
  • Property mode set to 100644
File size: 1.3 KB
Line 
1/*
2 *  This file contains a typical set of register access routines which may be
3 *  used with the mc68681 chip if accesses to the chip are as follows:
4 *
5 *    + registers are accessed as bytes
6 *    + registers are only byte-aligned (no address gaps)
7 *
8 *  COPYRIGHT (c) 1989-1997.
9 *  On-Line Applications Research Corporation (OAR).
10 *
11 *  The license and distribution terms for this file may be
12 *  found in the file LICENSE in this distribution or at
13 *  http://www.rtems.com/license/LICENSE.
14 *
15 *  $Id$
16 */
17
18#include <rtems.h>
19
20#ifndef _MC68681_MULTIPLIER
21#define _MC68681_MULTIPLIER 1
22#define _MC68681_NAME(_X) _X
23#define _MC68681_TYPE uint8_t
24#endif
25
26#define CALCULATE_REGISTER_ADDRESS( _base, _reg ) \
27  (_MC68681_TYPE *)((_base) + ((_reg) * _MC68681_MULTIPLIER ))
28
29/*
30 *  MC68681 Get Register Routine
31 */
32
33uint8_t   _MC68681_NAME(mc68681_get_register)(
34  uintptr_t   ulCtrlPort,
35  uint8_t     ucRegNum
36)
37{
38  _MC68681_TYPE *port;
39
40  port = CALCULATE_REGISTER_ADDRESS( ulCtrlPort, ucRegNum );
41
42  return *port;
43}
44
45/*
46 *  MC68681 Set Register Routine
47 */
48
49void  _MC68681_NAME(mc68681_set_register)(
50  uintptr_t   ulCtrlPort,
51  uint8_t     ucRegNum,
52  uint8_t     ucData
53)
54{
55  _MC68681_TYPE *port;
56
57  port = CALCULATE_REGISTER_ADDRESS( ulCtrlPort, ucRegNum );
58
59  *port = ucData;
60}
Note: See TracBrowser for help on using the repository browser.