Loading...
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright 2013-2016 Freescale Semiconductor Inc.
4 * Copyright 2016-2018 NXP
5 */
6
7#ifndef __FSL_DPRTC_H
8#define __FSL_DPRTC_H
9
10/* Data Path Real Time Counter API
11 * Contains initialization APIs and runtime control APIs for RTC
12 */
13
14struct fsl_mc_io;
15
16#define DPRTC_MAX_IRQ_NUM 1
17#define DPRTC_IRQ_INDEX 0
18
19#define DPRTC_EVENT_PPS 0x08000000
20#define DPRTC_EVENT_ETS1 0x00800000
21#define DPRTC_EVENT_ETS2 0x00400000
22
23int dprtc_open(struct fsl_mc_io *mc_io,
24 u32 cmd_flags,
25 int dprtc_id,
26 u16 *token);
27
28int dprtc_close(struct fsl_mc_io *mc_io,
29 u32 cmd_flags,
30 u16 token);
31
32int dprtc_set_irq_enable(struct fsl_mc_io *mc_io,
33 u32 cmd_flags,
34 u16 token,
35 u8 irq_index,
36 u8 en);
37
38int dprtc_get_irq_enable(struct fsl_mc_io *mc_io,
39 u32 cmd_flags,
40 u16 token,
41 u8 irq_index,
42 u8 *en);
43
44int dprtc_set_irq_mask(struct fsl_mc_io *mc_io,
45 u32 cmd_flags,
46 u16 token,
47 u8 irq_index,
48 u32 mask);
49
50int dprtc_get_irq_mask(struct fsl_mc_io *mc_io,
51 u32 cmd_flags,
52 u16 token,
53 u8 irq_index,
54 u32 *mask);
55
56int dprtc_get_irq_status(struct fsl_mc_io *mc_io,
57 u32 cmd_flags,
58 u16 token,
59 u8 irq_index,
60 u32 *status);
61
62int dprtc_clear_irq_status(struct fsl_mc_io *mc_io,
63 u32 cmd_flags,
64 u16 token,
65 u8 irq_index,
66 u32 status);
67
68#endif /* __FSL_DPRTC_H */
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright 2013-2016 Freescale Semiconductor Inc.
4 * Copyright 2016-2018 NXP
5 */
6
7#ifndef __FSL_DPRTC_H
8#define __FSL_DPRTC_H
9
10/* Data Path Real Time Counter API
11 * Contains initialization APIs and runtime control APIs for RTC
12 */
13
14struct fsl_mc_io;
15
16/**
17 * Number of irq's
18 */
19#define DPRTC_MAX_IRQ_NUM 1
20#define DPRTC_IRQ_INDEX 0
21
22#define DPRTC_EVENT_PPS 0x08000000
23
24int dprtc_open(struct fsl_mc_io *mc_io,
25 u32 cmd_flags,
26 int dprtc_id,
27 u16 *token);
28
29int dprtc_close(struct fsl_mc_io *mc_io,
30 u32 cmd_flags,
31 u16 token);
32
33int dprtc_set_irq_enable(struct fsl_mc_io *mc_io,
34 u32 cmd_flags,
35 u16 token,
36 u8 irq_index,
37 u8 en);
38
39int dprtc_get_irq_enable(struct fsl_mc_io *mc_io,
40 u32 cmd_flags,
41 u16 token,
42 u8 irq_index,
43 u8 *en);
44
45int dprtc_set_irq_mask(struct fsl_mc_io *mc_io,
46 u32 cmd_flags,
47 u16 token,
48 u8 irq_index,
49 u32 mask);
50
51int dprtc_get_irq_mask(struct fsl_mc_io *mc_io,
52 u32 cmd_flags,
53 u16 token,
54 u8 irq_index,
55 u32 *mask);
56
57int dprtc_get_irq_status(struct fsl_mc_io *mc_io,
58 u32 cmd_flags,
59 u16 token,
60 u8 irq_index,
61 u32 *status);
62
63int dprtc_clear_irq_status(struct fsl_mc_io *mc_io,
64 u32 cmd_flags,
65 u16 token,
66 u8 irq_index,
67 u32 status);
68
69#endif /* __FSL_DPRTC_H */