6b13f685e
김민수
BSP 최초 추가
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
#ifndef _PPS_H_
#define _PPS_H_
#include <linux/types.h>
#define PPS_VERSION "5.3.6"
#define PPS_MAX_SOURCES 16 /* should be enough... */
#define PPS_API_VERS_1 1
#define PPS_API_VERS PPS_API_VERS_1 /* we use API version 1 */
#define PPS_MAX_NAME_LEN 32
struct pps_ktime {
__s64 sec;
__s32 nsec;
__u32 flags;
};
#define PPS_TIME_INVALID (1<<0) /* used to specify timeout==NULL */
struct pps_kinfo {
__u32 assert_sequence;
__u32 clear_sequence;
struct pps_ktime assert_tu;
struct pps_ktime clear_tu;
int current_mode;
};
struct pps_kparams {
int api_version;
int mode;
struct pps_ktime assert_off_tu;
struct pps_ktime clear_off_tu;
};
#define PPS_CAPTUREASSERT 0x01 /* capture assert events */
#define PPS_CAPTURECLEAR 0x02 /* capture clear events */
#define PPS_CAPTUREBOTH 0x03 /* capture assert and clear events */
#define PPS_OFFSETASSERT 0x10 /* apply compensation for assert ev. */
#define PPS_OFFSETCLEAR 0x20 /* apply compensation for clear ev. */
#define PPS_CANWAIT 0x100 /* can we wait for an event? */
#define PPS_CANPOLL 0x200 /* bit reserved for future use */
#define PPS_ECHOASSERT 0x40 /* feed back assert event to output */
#define PPS_ECHOCLEAR 0x80 /* feed back clear event to output */
#define PPS_TSFMT_TSPEC 0x1000 /* select timespec format */
#define PPS_TSFMT_NTPFP 0x2000 /* select NTP format */
#define PPS_KC_HARDPPS 0 /* hardpps() (or equivalent) */
#define PPS_KC_HARDPPS_PLL 1 /* hardpps() constrained to
use a phase-locked loop */
#define PPS_KC_HARDPPS_FLL 2 /* hardpps() constrained to
use a frequency-locked loop */
struct pps_fdata {
struct pps_kinfo info;
struct pps_ktime timeout;
};
struct pps_bind_args {
int tsformat;
int edge;
int consumer;
};
#include <linux/ioctl.h>
#define PPS_GETPARAMS _IOR('p', 0xa1, struct pps_kparams *)
#define PPS_SETPARAMS _IOW('p', 0xa2, struct pps_kparams *)
#define PPS_GETCAP _IOR('p', 0xa3, int *)
#define PPS_FETCH _IOWR('p', 0xa4, struct pps_fdata *)
#define PPS_KC_BIND _IOW('p', 0xa5, struct pps_bind_args *)
#endif /* _PPS_H_ */
|