no-OS
Loading...
Searching...
No Matches
iio_ltm4686.c File Reference

Source file for the LTM4686 IIO Driver. More...

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "no_os_alloc.h"
#include "no_os_error.h"
#include "no_os_units.h"
#include "no_os_util.h"
#include "ltm4686.h"
#include "iio_ltm4686.h"
Include dependency graph for iio_ltm4686.c:

Macros

#define LTM4686_IIO_REG_CHAN(reg, chan)
 
#define LTM4686_IIO_REG(x)
 
#define LTM4686_IIO_CHAN(x)
 
#define LTM4686_IIO_VOUT_CHAN_GROUP(inst)
 
#define LTM4686_IIO_LIM(_name, _reg, _chan)
 
#define LTM4686_IIO_STATUS(_name, _reg, _chan)
 

Enumerations

enum  lt7182s_iio_enable_type {
  LT7182S_IIO_OUTPUT_ENABLE ,
  LT7182S_IIO_PULSE_ENABLE ,
  LT7182S_IIO_SYNC_ENABLE
}
 
enum  ltm4686_iio_chan_type {
  LTM4686_IIO_VOUT_CHAN_GROUP =(0) ,
  LTM4686_IIO_VOUT_CHAN_GROUP =(0) ,
  LTM4686_IIO_VOUT_CHAN_GROUP =(0) ,
  LTM4686_IIO_VOUT_CHAN_GROUP =(0) ,
  LTM4686_IIO_VIN_CHAN ,
  LTM4686_IIO_IIN_CHAN ,
  LTM4686_IIO_TEMP_CHAN
}
 

Functions

int ltm4686_iio_init (struct ltm4686_iio_desc **iio_desc, struct ltm4686_iio_desc_init_param *init_param)
 Initializes the LTM4686 IIO descriptor.
 
int ltm4686_iio_remove (struct ltm4686_iio_desc *iio_desc)
 Free resources allocated by the init function.
 

Detailed Description

Source file for the LTM4686 IIO Driver.

Author
Cedric Justine Encarnacion (cedri.nosp@m.cjus.nosp@m.tine..nosp@m.enca.nosp@m.rnaci.nosp@m.on@a.nosp@m.nalog.nosp@m..com)

Copyright 2024(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Macro Definition Documentation

◆ LTM4686_IIO_CHAN

#define LTM4686_IIO_CHAN ( x)
Value:
((x >> 8) & 0xFF)

◆ LTM4686_IIO_LIM

#define LTM4686_IIO_LIM ( _name,
_reg,
_chan )
Value:
{ \
.name = _name, \
.show = ltm4686_iio_read_limits, \
.store = ltm4686_iio_write_limits, \
.priv = LTM4686_IIO_REG_CHAN(_reg, _chan) \
}
#define LTM4686_IIO_REG_CHAN(reg, chan)
Definition iio_ltm4686.c:21

◆ LTM4686_IIO_REG

#define LTM4686_IIO_REG ( x)
Value:
(x & 0xFF)

◆ LTM4686_IIO_REG_CHAN

#define LTM4686_IIO_REG_CHAN ( reg,
chan )
Value:
(reg | (chan << 8))

◆ LTM4686_IIO_STATUS

#define LTM4686_IIO_STATUS ( _name,
_reg,
_chan )
Value:
{ \
.name = _name, \
.show = ltm4686_iio_read_status, \
.priv = LTM4686_IIO_REG_CHAN(_reg, _chan) \
}

◆ LTM4686_IIO_VOUT_CHAN_GROUP

#define LTM4686_IIO_VOUT_CHAN_GROUP ( inst)
Value:
LTM4686_IIO_VOUT_ ##inst## _CHAN, \
LTM4686_IIO_IOUT_ ##inst## _CHAN

Enumeration Type Documentation

◆ lt7182s_iio_enable_type

Enumerator
LT7182S_IIO_OUTPUT_ENABLE 
LT7182S_IIO_PULSE_ENABLE 
LT7182S_IIO_SYNC_ENABLE 

◆ ltm4686_iio_chan_type

Enumerator
LTM4686_IIO_VOUT_CHAN_GROUP 
LTM4686_IIO_VOUT_CHAN_GROUP 
LTM4686_IIO_VOUT_CHAN_GROUP 
LTM4686_IIO_VOUT_CHAN_GROUP 
LTM4686_IIO_VIN_CHAN 
LTM4686_IIO_IIN_CHAN 
LTM4686_IIO_TEMP_CHAN 

Function Documentation

◆ ltm4686_iio_init()

int ltm4686_iio_init ( struct ltm4686_iio_desc ** iio_desc,
struct ltm4686_iio_desc_init_param * init_param )

Initializes the LTM4686 IIO descriptor.

Parameters
iio_desc- The iio device descriptor.
init_param- The structure that contains the device initial parameters.
Returns
0 in case of success, an error code otherwise.

◆ ltm4686_iio_remove()

int ltm4686_iio_remove ( struct ltm4686_iio_desc * iio_desc)

Free resources allocated by the init function.

Parameters
iio_desc- The iio device descriptor.
Returns
0 in case of success, an error code otherwise.