GNU Linux-libre 5.19-rc6-gnu
[releases.git] / drivers / staging / pi433 / rf69_enum.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * enumerations for HopeRf rf69 radio module
4  *
5  * Copyright (C) 2016 Wolf-Entwicklungen
6  *      Marcus Wolf <linux@wolf-entwicklungen.de>
7  */
8
9 #ifndef RF69_ENUM_H
10 #define RF69_ENUM_H
11
12 enum mode {
13         mode_sleep,
14         standby,
15         synthesizer,
16         transmit,
17         receive
18 };
19
20 enum modulation {
21         OOK,
22         FSK,
23         UNDEF
24 };
25
26 enum mod_shaping {
27         SHAPING_OFF,
28         SHAPING_1_0,
29         SHAPING_0_5,
30         SHAPING_0_3,
31         SHAPING_BR,
32         SHAPING_2BR
33 };
34
35 enum pa_ramp {
36         ramp3400,
37         ramp2000,
38         ramp1000,
39         ramp500,
40         ramp250,
41         ramp125,
42         ramp100,
43         ramp62,
44         ramp50,
45         ramp40,
46         ramp31,
47         ramp25,
48         ramp20,
49         ramp15,
50         ramp12,
51         ramp10
52 };
53
54 enum antenna_impedance {
55         fifty_ohm,
56         two_hundred_ohm
57 };
58
59 enum lna_gain {
60         automatic,
61         max,
62         max_minus_6,
63         max_minus_12,
64         max_minus_24,
65         max_minus_36,
66         max_minus_48,
67         undefined
68 };
69
70 enum mantisse {
71         mantisse16,
72         mantisse20,
73         mantisse24
74 };
75
76 enum threshold_decrement {
77         dec_every8th,
78         dec_every4th,
79         dec_every2nd,
80         dec_once,
81         dec_twice,
82         dec_4times,
83         dec_8times,
84         dec_16times
85 };
86
87 enum fifo_fill_condition {
88         after_sync_interrupt,
89         always
90 };
91
92 enum packet_format {
93         /*
94          * Used when the size of payload is fixed in advance. This mode of
95          * operation may be of interest to minimize RF overhead by 1 byte as
96          * no length byte field is required
97          */
98         packet_length_fix,
99         /*
100          * Used when the size of payload isn't known in advance. It requires the
101          * transmitter to send the length byte in each packet so the receiver
102          * would know how to operate properly
103          */
104         packet_length_var
105 };
106
107 enum tx_start_condition {
108         /* the number of bytes in the FIFO exceeds FIFO_THRESHOLD */
109         fifo_level,
110         /* at least one byte in the FIFO */
111         fifo_not_empty
112 };
113
114 enum address_filtering {
115         filtering_off,
116         node_address,
117         node_or_broadcast_address
118 };
119
120 enum dagc {
121         normal_mode,
122         improve,
123         improve_for_low_modulation_index
124 };
125
126 #endif