source: rtems/bsps/shared/dev/rtc/icm7170_reg.c @ 762fa62

5
Last change on this file since 762fa62 was 27de4e1f, checked in by Sebastian Huber <sebastian.huber@…>, on 04/03/18 at 05:20:11

bsps: Move libchip to bsps

This patch is a part of the BSP source reorganization.

Update #3285.

  • 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.