aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/ports/KINETIS/KL2x/kinetis_tpm.h
blob: 99ffc9cbf29f6111c2a44e5a9f0cc55ba9443849 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
/*
    ChibiOS - Copyright (C) 2014 Adam J. Porter

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
*/

/**
 * @file    KL2x/kinetis_tpm.h
 * @brief   Kinetis TPM registers layout header.
 *
 * @addtogroup HAL
 * @{
 */

#ifndef _KINETIS_TPM_H_
#define _KINETIS_TPM_H_

/*===========================================================================*/
/* Driver constants.                                                         */
/*===========================================================================*/

/**
 * @name    TPM_SC register
 * @{
 */
#define TPM_SC_CMOD_DISABLE       (0 << 3)
#define TPM_SC_CMOD_LPTPM_CLK     (1 << 3)
#define TPM_SC_CMOD_LPTPM_EXTCLK  (2 << 3)
#define TPM_SC_CPWMS              (1 << 5)
#define TPM_SC_TOIE               (1 << 6)
#define TPM_SC_TOF                (1 << 7)
#define TPM_SC_DMA                (1 << 8)
/** @} */

/**
 * @name    TPM_MOD register
 * @{
 */
#define TPM_MOD_MASK            (0xFFFF)
/** @} */

/**
 * @name    TPM_CnSC register
 * @{
 */
#define TPM_CnSC_DMA   (1 << 0)
#define TPM_CnSC_ELSA  (1 << 2)
#define TPM_CnSC_ELSB  (1 << 3)
#define TPM_CnSC_MSA   (1 << 4)
#define TPM_CnSC_MSB   (1 << 5)
#define TPM_CnSC_CHIE  (1 << 6)
#define TPM_CnSC_CHF   (1 << 7)
/** @} */

/**
 * @name    TPM_CnV register
 * @{
 */
#define TPM_CnV_VAL_MASK (0xFFFF)
/** @} */

/**
 * @name    TPM_STATUS register
 * @{
 */
#define TPM_STATUS_CH0F (1 << 0)
#define TPM_STATUS_CH1F (1 << 1)
#define TPM_STATUS_CH2F (1 << 2)
#define TPM_STATUS_CH3F (1 << 3)
#define TPM_STATUS_CH4F (1 << 4)
#define TPM_STATUS_CH5F (1 << 5)
#define TPM_STATUS_TOF  (1 << 8)
/** @} */

/**
 * @name    TPM_CONF register
 * @{
 */
#define TPM_CONF_DOZEEN         (1 << 5)
#define TPM_CONF_DBGMODE_CONT   (3 << 6)
#define TPM_CONF_DBGMODE_PAUSE  (0 << 6)
#define TPM_CONF_GTBEEN         (1 << 9)
#define TPM_CONF_CSOT           (1 << 16)
#define TPM_CONF_CSOO           (1 << 17)
#define TPM_CONF_CROT           (1 << 18)
#define TPM_CONF_TRGSEL(n)      ((n) << 24)
/** @{ */

/*===========================================================================*/
/* Driver pre-compile time settings.                                         */
/*===========================================================================*/

/*===========================================================================*/
/* Derived constants and error checks.                                       */
/*===========================================================================*/

/*===========================================================================*/
/* Driver data structures and types.                                         */
/*===========================================================================*/

/*===========================================================================*/
/* Driver macros.                                                            */
/*===========================================================================*/

/*===========================================================================*/
/* External declarations.                                                    */
/*===========================================================================*/
#endif /* _KINETIS_TPM_H_ */

/** @} */