printf: Remove unused 'bprintf'
[drm/drm-misc.git] / drivers / ptp / ptp_fc3.h
blob89710157920724df7db7c3d51a3a8d1d7e60545c
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3 * PTP hardware clock driver for the FemtoClock3 family of timing and
4 * synchronization devices.
6 * Copyright (C) 2023 Integrated Device Technology, Inc., a Renesas Company.
7 */
8 #ifndef PTP_IDTFC3_H
9 #define PTP_IDTFC3_H
11 #include <linux/ktime.h>
12 #include <linux/ptp_clock.h>
13 #include <linux/regmap.h>
15 #define FW_FILENAME "idtfc3.bin"
17 #define MAX_FFO_PPB (244000)
18 #define TDC_GET_PERIOD (10)
20 struct idtfc3 {
21 struct ptp_clock_info caps;
22 struct ptp_clock *ptp_clock;
23 struct device *dev;
24 /* Mutex to protect operations from being interrupted */
25 struct mutex *lock;
26 struct device *mfd;
27 struct regmap *regmap;
28 struct idtfc3_hw_param hw_param;
29 u32 sub_sync_count;
30 u32 ns_per_sync;
31 int tdc_offset_sign;
32 u64 tdc_apll_freq;
33 u32 time_ref_freq;
34 u16 fod_n;
35 u8 lpf_mode;
36 /* Time counter */
37 u32 last_counter;
38 s64 ns;
39 u32 ns_per_counter;
40 u32 tc_update_period;
41 u32 tc_write_timeout;
42 s64 tod_write_overhead;
45 #endif /* PTP_IDTFC3_H */