source: rtems/c/src/libchip/rtc/icm7170_reg.c @ 602e395

4.115
Last change on this file since 602e395 was c499856, checked in by Chris Johns <chrisj@…>, on 03/20/14 at 21:10:47

Change all references of rtems.com to rtems.org.

  • 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 icm7170 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.org/license/LICENSE.
14 */
15
16#include <rtems.h>
17#include <libchip/rtc.h>
18#include <libchip/icm7170.h>
19
20#ifndef _ICM7170_MULTIPLIER
21#define _ICM7170_MULTIPLIER 1
22#define _ICM7170_NAME(_X) _X
23#define _ICM7170_TYPE uint8_t
24#endif
25
26#define CALCULATE_REGISTER_ADDRESS( _base, _reg ) \
27  (_ICM7170_TYPE *)((_base) + ((_reg) * _ICM7170_MULTIPLIER ))
28
29/*
30 *  ICM7170 Get Register Routine
31 */
32
33uint32_t   _ICM7170_NAME(icm7170_get_register)(
34  uintptr_t   ulCtrlPort,
35  uint8_t     ucRegNum
36)
37{
38  _ICM7170_TYPE *port;
39
40  port = CALCULATE_REGISTER_ADDRESS( ulCtrlPort, ucRegNum );
41
42  return *port;
43}
44
45/*
46 *  ICM7170 Set Register Routine
47 */
48
49void  _ICM7170_NAME(icm7170_set_register)(
50  uintptr_t   ulCtrlPort,
51  uint8_t     ucRegNum,
52  uint32_t    ucData
53)
54{
55  _ICM7170_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.