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 14 struct 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 24 int dprtc_open(struct fsl_mc_io *mc_io, 25 u32 cmd_flags, 26 int dprtc_id, 27 u16 *token); 28 29 int dprtc_close(struct fsl_mc_io *mc_io, 30 u32 cmd_flags, 31 u16 token); 32 33 int 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 39 int 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 45 int 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 51 int 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 57 int 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 63 int 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 */ 70