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