Zephyr API Documentation 4.0.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
ti_dmtimer.h
Go to the documentation of this file.
1/* Copyright (C) 2023 BeagleBoard.org Foundation
2 * Copyright (C) 2023 S Prashanth
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_DRIVERS_TIMERS_TI_DMTIMER_H_
8#define ZEPHYR_DRIVERS_TIMERS_TI_DMTIMER_H_
9
10#include <zephyr/devicetree.h>
11
12#define TI_DM_TIMER_TIDR (0x00)
13#define TI_DM_TIMER_TIOCP_CFG (0x10)
14#define TI_DM_TIMER_IRQ_EOI (0x20)
15#define TI_DM_TIMER_IRQSTATUS_RAW (0x24)
16#define TI_DM_TIMER_IRQSTATUS (0x28) /* Interrupt status register */
17#define TI_DM_TIMER_IRQENABLE_SET (0x2c) /* Interrupt enable register */
18#define TI_DM_TIMER_IRQENABLE_CLR (0x30) /* Interrupt disable register */
19#define TI_DM_TIMER_IRQWAKEEN (0x34)
20#define TI_DM_TIMER_TCLR (0x38) /* Control register */
21#define TI_DM_TIMER_TCRR (0x3c) /* Counter register */
22#define TI_DM_TIMER_TLDR (0x40) /* Load register */
23#define TI_DM_TIMER_TTGR (0x44)
24#define TI_DM_TIMER_TWPS (0x48)
25#define TI_DM_TIMER_TMAR (0x4c) /* Match register */
26#define TI_DM_TIMER_TCAR1 (0x50)
27#define TI_DM_TIMER_TSICR (0x54)
28#define TI_DM_TIMER_TCAR2 (0x58)
29#define TI_DM_TIMER_TPIR (0x5c)
30#define TI_DM_TIMER_TNIR (0x60)
31#define TI_DM_TIMER_TCVR (0x64)
32#define TI_DM_TIMER_TOCR (0x68)
33#define TI_DM_TIMER_TOWR (0x6c)
34
35#define TI_DM_TIMER_IRQSTATUS_MAT_IT_FLAG_SHIFT (0)
36#define TI_DM_TIMER_IRQSTATUS_MAT_IT_FLAG_MASK (0x00000001)
37
38#define TI_DM_TIMER_IRQSTATUS_OVF_IT_FLAG_SHIFT (1)
39#define TI_DM_TIMER_IRQSTATUS_OVF_IT_FLAG_MASK (0x00000002)
40
41#define TI_DM_TIMER_IRQSTATUS_TCAR_IT_FLAG_SHIFT (2)
42#define TI_DM_TIMER_IRQSTATUS_TCAR_IT_FLAG_MASK (0x00000004)
43
44#define TI_DM_TIMER_IRQENABLE_SET_MAT_EN_FLAG_SHIFT (0)
45#define TI_DM_TIMER_IRQENABLE_SET_MAT_EN_FLAG_MASK (0x00000001)
46
47#define TI_DM_TIMER_IRQENABLE_SET_OVF_EN_FLAG_SHIFT (1)
48#define TI_DM_TIMER_IRQENABLE_SET_OVF_EN_FLAG_MASK (0x00000002)
49
50#define TI_DM_TIMER_IRQENABLE_SET_TCAR_EN_FLAG_SHIFT (2)
51#define TI_DM_TIMER_IRQENABLE_SET_TCAR_EN_FLAG_MASK (0x00000004)
52
53#define TI_DM_TIMER_IRQENABLE_CLR_MAT_EN_FLAG_SHIFT (0)
54#define TI_DM_TIMER_IRQENABLE_CLR_MAT_EN_FLAG_MASK (0x00000001)
55
56#define TI_DM_TIMER_IRQENABLE_CLR_OVF_EN_FLAG_SHIFT (1)
57#define TI_DM_TIMER_IRQENABLE_CLR_OVF_EN_FLAG_MASK (0x00000002)
58
59#define TI_DM_TIMER_IRQENABLE_CLR_TCAR_EN_FLAG_SHIFT (2)
60#define TI_DM_TIMER_IRQENABLE_CLR_TCAR_EN_FLAG_MASK (0x00000004)
61
62#define TI_DM_TIMER_TCLR_ST_SHIFT (0)
63#define TI_DM_TIMER_TCLR_ST_MASK (0x00000001)
64
65#define TI_DM_TIMER_TCLR_AR_SHIFT (1)
66#define TI_DM_TIMER_TCLR_AR_MASK (0x00000002)
67
68#define TI_DM_TIMER_TCLR_PTV_SHIFT (2)
69#define TI_DM_TIMER_TCLR_PTV_MASK (0x0000001c)
70
71#define TI_DM_TIMER_TCLR_PRE_SHIFT (5)
72#define TI_DM_TIMER_TCLR_PRE_MASK (0x00000020)
73
74#define TI_DM_TIMER_TCLR_CE_SHIFT (6)
75#define TI_DM_TIMER_TCLR_CE_MASK (0x00000040)
76
77#define TI_DM_TIMER_TCLR_SCPWM_SHIFT (7)
78#define TI_DM_TIMER_TCLR_SCPWM_MASK (0x00000080)
79
80#define TI_DM_TIMER_TCLR_TCM_SHIFT (8)
81#define TI_DM_TIMER_TCLR_TCM_MASK (0x00000300)
82
83#define TI_DM_TIMER_TCLR_TRG_SHIFT (10)
84#define TI_DM_TIMER_TCLR_TRG_MASK (0x00000c00)
85
86#define TI_DM_TIMER_TCLR_PT_SHIFT (12)
87#define TI_DM_TIMER_TCLR_PT_MASK (0x00001000)
88
89#define TI_DM_TIMER_TCLR_CAPT_MODE_SHIFT (13)
90#define TI_DM_TIMER_TCLR_CAPT_MODE_MASK (0x00002000)
91
92#define TI_DM_TIMER_TCLR_GPO_CFG_SHIFT (14)
93#define TI_DM_TIMER_TCLR_GPO_CFG_MASK (0x00004000)
94
95#define TI_DM_TIMER_TCRR_TIMER_COUNTER_SHIFT (0)
96#define TI_DM_TIMER_TCRR_TIMER_COUNTER_MASK (0xffffffff)
97
98#define TI_DM_TIMER_TLDR_LOAD_VALUE_SHIFT (0)
99#define TI_DM_TIMER_TLDR_LOAD_VALUE_MASK (0xffffffff)
100
101#define TI_DM_TIMER_TMAR_COMPARE_VALUE_SHIFT (0)
102#define TI_DM_TIMER_TMAR_COMPARE_VALUE_MASK (0xffffffff)
103
104#endif /* ZEPHYR_DRIVERS_TIMERS_TI_DMTIMER_H_ */
Devicetree main header.