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

source code of linux/drivers/staging/iio/frequency/dds.h