162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright 2013-2016 Freescale Semiconductor Inc. 462306a36Sopenharmony_ci * Copyright 2016-2018 NXP 562306a36Sopenharmony_ci */ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#ifndef __FSL_DPRTC_H 862306a36Sopenharmony_ci#define __FSL_DPRTC_H 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci/* Data Path Real Time Counter API 1162306a36Sopenharmony_ci * Contains initialization APIs and runtime control APIs for RTC 1262306a36Sopenharmony_ci */ 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_cistruct fsl_mc_io; 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci#define DPRTC_MAX_IRQ_NUM 1 1762306a36Sopenharmony_ci#define DPRTC_IRQ_INDEX 0 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci#define DPRTC_EVENT_PPS 0x08000000 2062306a36Sopenharmony_ci#define DPRTC_EVENT_ETS1 0x00800000 2162306a36Sopenharmony_ci#define DPRTC_EVENT_ETS2 0x00400000 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ciint dprtc_open(struct fsl_mc_io *mc_io, 2462306a36Sopenharmony_ci u32 cmd_flags, 2562306a36Sopenharmony_ci int dprtc_id, 2662306a36Sopenharmony_ci u16 *token); 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ciint dprtc_close(struct fsl_mc_io *mc_io, 2962306a36Sopenharmony_ci u32 cmd_flags, 3062306a36Sopenharmony_ci u16 token); 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ciint dprtc_set_irq_enable(struct fsl_mc_io *mc_io, 3362306a36Sopenharmony_ci u32 cmd_flags, 3462306a36Sopenharmony_ci u16 token, 3562306a36Sopenharmony_ci u8 irq_index, 3662306a36Sopenharmony_ci u8 en); 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ciint dprtc_get_irq_enable(struct fsl_mc_io *mc_io, 3962306a36Sopenharmony_ci u32 cmd_flags, 4062306a36Sopenharmony_ci u16 token, 4162306a36Sopenharmony_ci u8 irq_index, 4262306a36Sopenharmony_ci u8 *en); 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ciint dprtc_set_irq_mask(struct fsl_mc_io *mc_io, 4562306a36Sopenharmony_ci u32 cmd_flags, 4662306a36Sopenharmony_ci u16 token, 4762306a36Sopenharmony_ci u8 irq_index, 4862306a36Sopenharmony_ci u32 mask); 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ciint dprtc_get_irq_mask(struct fsl_mc_io *mc_io, 5162306a36Sopenharmony_ci u32 cmd_flags, 5262306a36Sopenharmony_ci u16 token, 5362306a36Sopenharmony_ci u8 irq_index, 5462306a36Sopenharmony_ci u32 *mask); 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ciint dprtc_get_irq_status(struct fsl_mc_io *mc_io, 5762306a36Sopenharmony_ci u32 cmd_flags, 5862306a36Sopenharmony_ci u16 token, 5962306a36Sopenharmony_ci u8 irq_index, 6062306a36Sopenharmony_ci u32 *status); 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ciint dprtc_clear_irq_status(struct fsl_mc_io *mc_io, 6362306a36Sopenharmony_ci u32 cmd_flags, 6462306a36Sopenharmony_ci u16 token, 6562306a36Sopenharmony_ci u8 irq_index, 6662306a36Sopenharmony_ci u32 status); 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ci#endif /* __FSL_DPRTC_H */ 69