Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * Copyright 2013-2016 Freescale Semiconductor Inc.
0004  * Copyright 2016-2018 NXP
0005  */
0006 
0007 #ifndef __FSL_DPRTC_H
0008 #define __FSL_DPRTC_H
0009 
0010 /* Data Path Real Time Counter API
0011  * Contains initialization APIs and runtime control APIs for RTC
0012  */
0013 
0014 struct fsl_mc_io;
0015 
0016 #define DPRTC_MAX_IRQ_NUM   1
0017 #define DPRTC_IRQ_INDEX     0
0018 
0019 #define DPRTC_EVENT_PPS     0x08000000
0020 #define DPRTC_EVENT_ETS1    0x00800000
0021 #define DPRTC_EVENT_ETS2    0x00400000
0022 
0023 int dprtc_open(struct fsl_mc_io *mc_io,
0024            u32 cmd_flags,
0025            int dprtc_id,
0026            u16 *token);
0027 
0028 int dprtc_close(struct fsl_mc_io *mc_io,
0029         u32 cmd_flags,
0030         u16 token);
0031 
0032 int dprtc_set_irq_enable(struct fsl_mc_io *mc_io,
0033              u32 cmd_flags,
0034              u16 token,
0035              u8 irq_index,
0036              u8 en);
0037 
0038 int dprtc_get_irq_enable(struct fsl_mc_io *mc_io,
0039              u32 cmd_flags,
0040              u16 token,
0041              u8 irq_index,
0042              u8 *en);
0043 
0044 int dprtc_set_irq_mask(struct fsl_mc_io *mc_io,
0045                u32 cmd_flags,
0046                u16 token,
0047                u8 irq_index,
0048                u32 mask);
0049 
0050 int dprtc_get_irq_mask(struct fsl_mc_io *mc_io,
0051                u32 cmd_flags,
0052                u16 token,
0053                u8 irq_index,
0054                u32 *mask);
0055 
0056 int dprtc_get_irq_status(struct fsl_mc_io *mc_io,
0057              u32 cmd_flags,
0058              u16 token,
0059              u8 irq_index,
0060              u32 *status);
0061 
0062 int dprtc_clear_irq_status(struct fsl_mc_io *mc_io,
0063                u32 cmd_flags,
0064                u16 token,
0065                u8 irq_index,
0066                u32 status);
0067 
0068 #endif /* __FSL_DPRTC_H */