dds.h 3.2 KB

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