Implementation of AD5592R/AD5593R IIO driver.
More...
#include <errno.h>
#include <assert.h>
#include <string.h>
#include "no_os_alloc.h"
#include "no_os_list.h"
#include "iio_ad559xr.h"
#include "ad5592r.h"
#include "ad5593r.h"
Implementation of AD5592R/AD5593R IIO driver.
- Author
- Niel Acuna (niel..nosp@m.acun.nosp@m.a@ana.nosp@m.log..nosp@m.com)
-
Marc Paolo Sosa (MarcP.nosp@m.aolo.nosp@m..Sosa.nosp@m.@ana.nosp@m.log.c.nosp@m.om)
Copyright 2026(c) Analog Devices, Inc.
SPDX-License-Identifier: BSD-3-Clause
◆ DEFINE_AD559XR_ATTR
| #define DEFINE_AD559XR_ATTR |
( |
| _name, |
|
|
| _priv ) |
Value: {\
.name = _name, \
.priv = _priv, \
.show = ad559xr_iio_show, \
.store = ad559xr_iio_store, \
}
◆ DEFINE_AD559XR_AVAIL_ATTR
| #define DEFINE_AD559XR_AVAIL_ATTR |
( |
| _name, |
|
|
| _priv ) |
Value: {\
.name = _name, \
.priv = _priv, \
.show = ad559xr_iio_avail_show, \
}
◆ DEFINE_AD559XR_GPI_ATTR
| #define DEFINE_AD559XR_GPI_ATTR |
( |
| _name, |
|
|
| _priv ) |
Value: {\
.name = _name, \
.priv = _priv, \
.show = ad559xr_iio_show, \
}
◆ DEFINE_AD559XR_GPO_ATTR
| #define DEFINE_AD559XR_GPO_ATTR |
( |
| _name, |
|
|
| _priv ) |
Value: {\
.name = _name, \
.priv = _priv, \
.show = ad559xr_iio_show, \
.store = ad559xr_iio_store, \
}
◆ iio_ad559xr_aio_init()
Initialize an ad559xr iio descriptor for all ADC and DAC channels for one ad559xr device.
- Parameters
-
- Returns
- 0 on success
-
-EINVAL when
desc is NULL.
-
-ENODEV when ad5592r is NULL.
-
-ENOMEM when memory cannot be allocated.
◆ iio_ad559xr_gpio_init()
Initialize an ad559xr iio descriptor for all GPIO channels.
This function takes an array called a gpio_map. It collects all the channels defined in all ad559xr devices declared in the gpio_map and creates one single ad559xr iio descriptor for all.
- Parameters
-
| [in] | desc | pointer to iio_ad559xr_desc ad559xr iio descriptor |
| [in] | gpio_map | pointer to gpio_map |
| [in] | count | number of gpio_maps |
- Returns
- 0 on success
-
-EINVAL when
desc and gpio_map are both NULL.
-
-ENODEV when gpio_map contains an NULL ad559xr device descriptor.
◆ iio_ad559xr_remove()
Remove an ad559xr iio descriptor.
Releases memory associated with an ad559xr iio descriptor and also frees up the iio descriptor memory itself.
- Parameters
-