1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
2 | /* |
3 | * dds.h - sysfs attributes associated with DDS devices |
4 | * |
5 | * Copyright (c) 2010 Analog Devices Inc. |
6 | */ |
7 | #ifndef IIO_DDS_H_ |
8 | #define IIO_DDS_H_ |
9 | |
10 | /** |
11 | * /sys/bus/iio/devices/.../out_altvoltageX_frequencyY |
12 | */ |
13 | |
14 | #define IIO_DEV_ATTR_FREQ(_channel, _num, _mode, _show, _store, _addr) \ |
15 | IIO_DEVICE_ATTR(out_altvoltage##_channel##_frequency##_num, \ |
16 | _mode, _show, _store, _addr) |
17 | |
18 | /** |
19 | * /sys/bus/iio/devices/.../out_altvoltageX_frequencyY_scale |
20 | */ |
21 | |
22 | #define IIO_CONST_ATTR_FREQ_SCALE(_channel, _string) \ |
23 | IIO_CONST_ATTR(out_altvoltage##_channel##_frequency_scale, _string) |
24 | |
25 | /** |
26 | * /sys/bus/iio/devices/.../out_altvoltageX_frequencysymbol |
27 | */ |
28 | |
29 | #define IIO_DEV_ATTR_FREQSYMBOL(_channel, _mode, _show, _store, _addr) \ |
30 | IIO_DEVICE_ATTR(out_altvoltage##_channel##_frequencysymbol, \ |
31 | _mode, _show, _store, _addr) |
32 | |
33 | /** |
34 | * /sys/bus/iio/devices/.../out_altvoltageX_phaseY |
35 | */ |
36 | |
37 | #define IIO_DEV_ATTR_PHASE(_channel, _num, _mode, _show, _store, _addr) \ |
38 | IIO_DEVICE_ATTR(out_altvoltage##_channel##_phase##_num, \ |
39 | _mode, _show, _store, _addr) |
40 | |
41 | /** |
42 | * /sys/bus/iio/devices/.../out_altvoltageX_phaseY_scale |
43 | */ |
44 | |
45 | #define IIO_CONST_ATTR_PHASE_SCALE(_channel, _string) \ |
46 | IIO_CONST_ATTR(out_altvoltage##_channel##_phase_scale, _string) |
47 | |
48 | /** |
49 | * /sys/bus/iio/devices/.../out_altvoltageX_phasesymbol |
50 | */ |
51 | |
52 | #define IIO_DEV_ATTR_PHASESYMBOL(_channel, _mode, _show, _store, _addr) \ |
53 | IIO_DEVICE_ATTR(out_altvoltage##_channel##_phasesymbol, \ |
54 | _mode, _show, _store, _addr) |
55 | |
56 | /** |
57 | * /sys/bus/iio/devices/.../out_altvoltageX_pincontrol_en |
58 | */ |
59 | |
60 | #define IIO_DEV_ATTR_PINCONTROL_EN(_channel, _mode, _show, _store, _addr)\ |
61 | IIO_DEVICE_ATTR(out_altvoltage##_channel##_pincontrol_en, \ |
62 | _mode, _show, _store, _addr) |
63 | |
64 | /** |
65 | * /sys/bus/iio/devices/.../out_altvoltageX_pincontrol_frequency_en |
66 | */ |
67 | |
68 | #define IIO_DEV_ATTR_PINCONTROL_FREQ_EN(_channel, _mode, _show, _store, _addr)\ |
69 | IIO_DEVICE_ATTR(out_altvoltage##_channel##_pincontrol_frequency_en,\ |
70 | _mode, _show, _store, _addr) |
71 | |
72 | /** |
73 | * /sys/bus/iio/devices/.../out_altvoltageX_pincontrol_phase_en |
74 | */ |
75 | |
76 | #define IIO_DEV_ATTR_PINCONTROL_PHASE_EN(_channel, _mode, _show, _store, _addr)\ |
77 | IIO_DEVICE_ATTR(out_altvoltage##_channel##_pincontrol_phase_en, \ |
78 | _mode, _show, _store, _addr) |
79 | |
80 | /** |
81 | * /sys/bus/iio/devices/.../out_altvoltageX_out_enable |
82 | */ |
83 | |
84 | #define IIO_DEV_ATTR_OUT_ENABLE(_channel, _mode, _show, _store, _addr) \ |
85 | IIO_DEVICE_ATTR(out_altvoltage##_channel##_out_enable, \ |
86 | _mode, _show, _store, _addr) |
87 | |
88 | /** |
89 | * /sys/bus/iio/devices/.../out_altvoltageX_outY_enable |
90 | */ |
91 | |
92 | #define IIO_DEV_ATTR_OUTY_ENABLE(_channel, _output, \ |
93 | _mode, _show, _store, _addr) \ |
94 | IIO_DEVICE_ATTR(out_altvoltage##_channel##_out##_output##_enable,\ |
95 | _mode, _show, _store, _addr) |
96 | |
97 | /** |
98 | * /sys/bus/iio/devices/.../out_altvoltageX_outY_wavetype |
99 | */ |
100 | |
101 | #define IIO_DEV_ATTR_OUT_WAVETYPE(_channel, _output, _store, _addr) \ |
102 | IIO_DEVICE_ATTR(out_altvoltage##_channel##_out##_output##_wavetype,\ |
103 | 0200, NULL, _store, _addr) |
104 | |
105 | /** |
106 | * /sys/bus/iio/devices/.../out_altvoltageX_outY_wavetype_available |
107 | */ |
108 | |
109 | #define IIO_CONST_ATTR_OUT_WAVETYPES_AVAILABLE(_channel, _output, _modes)\ |
110 | IIO_CONST_ATTR( \ |
111 | out_altvoltage##_channel##_out##_output##_wavetype_available, _modes) |
112 | |
113 | #endif /* IIO_DDS_H_ */ |
114 | |