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

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

#include <errno.h>
#include <stdio.h>
#include <stdlib.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 "lt8722.h"
#include "iio_lt8722.h"
Include dependency graph for iio_lt8722.c:

Classes

struct  lt8722_iio_attr_avail
 Structure holding the available values for an attribute. More...
 

Enumerations

enum  lt8722_iio_spis_command_attrs {
  LT8722_ENABLE_REQ ,
  LT8722_SWEN_REQ ,
  LT8722_SW_FRQ_SET ,
  LT8722_SW_FRQ_ADJ ,
  LT8722_SYS_DC ,
  LT8722_VCC_VREG ,
  LT8722_SW_VC_INT ,
  LT8722_SPI_RST ,
  LT8722_PWR_LIM
}
 
enum  lt8722_iio_spis_status_attrs {
  LT8722_SWEN ,
  LT8722_SRVO_ILIM ,
  LT8722_SRVO_PLIM ,
  LT8722_MIN_OT ,
  LT8722_POR_OCC ,
  LT8722_OVER_CURRENT ,
  LT8722_TSD ,
  LT8722_VCC_UVLO ,
  LT8722_VDDIO_UVLO ,
  LT8722_CP_UVLO ,
  LT8722_V2P5_UVLO
}
 
enum  lt8722_iio_spis_amux_attrs {
  LT8722_AMUX ,
  LT8722_AMUX_TEST ,
  LT8722_AOUT_EN
}
 
enum  lt8722_iio_pins {
  LT8722_EN_PIN ,
  LT8722_SWEN_PIN
}
 

Functions

uint32_t lt8722_iio_get_mask_command (enum lt8722_iio_spis_command_attrs attr)
 Get the mask for the SPIS command register.
 
uint32_t lt8722_iio_get_mask_status (enum lt8722_iio_spis_status_attrs attr)
 Get the mask for the SPIS status register.
 
uint32_t lt8722_iio_get_mask_amux (enum lt8722_iio_spis_amux_attrs attr)
 Get the mask for the SPIS AMUX register.
 
struct lt8722_iio_attr_avail lt8722_iio_get_command_available (enum lt8722_iio_spis_command_attrs attr)
 Get the list of available values of a SPIS_COMMAND register attribute.
 
struct lt8722_iio_attr_avail lt8722_iio_get_status_attr_available (enum lt8722_iio_spis_status_attrs attr)
 Get the list of available values of a SPIS_STATUS register attribute.
 
struct lt8722_iio_attr_avail lt8722_iio_get_amux_available (enum lt8722_iio_spis_amux_attrs attr)
 Get the list of available values of a SPIS_AMUX register attribute.
 
int lt8722_iio_init (struct lt8722_iio_dev **iio_dev, struct lt8722_iio_dev_init_param *init_param)
 Initializes the LT8722 IIO descriptor.
 
int lt8722_iio_remove (struct lt8722_iio_dev *desc)
 Free resources allocated by the init function.
 

Detailed Description

Source file for the LT8722 IIO Driver.

Author
Ramon Cristopher Calam (ramon.nosp@m.cris.nosp@m.tophe.nosp@m.r.ca.nosp@m.lam@a.nosp@m.nalo.nosp@m.g.com)

Copyright 2024(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Enumeration Type Documentation

◆ lt8722_iio_pins

Enumerator
LT8722_EN_PIN 
LT8722_SWEN_PIN 

◆ lt8722_iio_spis_amux_attrs

Enumerator
LT8722_AMUX 
LT8722_AMUX_TEST 
LT8722_AOUT_EN 

◆ lt8722_iio_spis_command_attrs

Enumerator
LT8722_ENABLE_REQ 
LT8722_SWEN_REQ 
LT8722_SW_FRQ_SET 
LT8722_SW_FRQ_ADJ 
LT8722_SYS_DC 
LT8722_VCC_VREG 
LT8722_SW_VC_INT 
LT8722_SPI_RST 
LT8722_PWR_LIM 

◆ lt8722_iio_spis_status_attrs

Enumerator
LT8722_SWEN 
LT8722_SRVO_ILIM 
LT8722_SRVO_PLIM 
LT8722_MIN_OT 
LT8722_POR_OCC 
LT8722_OVER_CURRENT 
LT8722_TSD 
LT8722_VCC_UVLO 
LT8722_VDDIO_UVLO 
LT8722_CP_UVLO 
LT8722_V2P5_UVLO 

Function Documentation

◆ lt8722_iio_get_amux_available()

struct lt8722_iio_attr_avail lt8722_iio_get_amux_available ( enum lt8722_iio_spis_amux_attrs attr)

Get the list of available values of a SPIS_AMUX register attribute.

Parameters
attr- The attribute for which the list is needed.
Returns
The list of available values of the attribute.

◆ lt8722_iio_get_command_available()

struct lt8722_iio_attr_avail lt8722_iio_get_command_available ( enum lt8722_iio_spis_command_attrs attr)

Get the list of available values of a SPIS_COMMAND register attribute.

Parameters
attr- The attribute for which the list is needed.
Returns
The list of available values of the attribute.

◆ lt8722_iio_get_mask_amux()

uint32_t lt8722_iio_get_mask_amux ( enum lt8722_iio_spis_amux_attrs attr)

Get the mask for the SPIS AMUX register.

Parameters
attr- The attribute for which the mask is needed.
Returns
The mask for the SPIS AMUX register.

◆ lt8722_iio_get_mask_command()

uint32_t lt8722_iio_get_mask_command ( enum lt8722_iio_spis_command_attrs attr)

Get the mask for the SPIS command register.

Parameters
attr- The attribute for which the mask is needed.
Returns
The mask for the SPIS command register.

◆ lt8722_iio_get_mask_status()

uint32_t lt8722_iio_get_mask_status ( enum lt8722_iio_spis_status_attrs attr)

Get the mask for the SPIS status register.

Parameters
attr- The attribute for which the mask is needed.
Returns
The mask for the SPIS status register.

◆ lt8722_iio_get_status_attr_available()

struct lt8722_iio_attr_avail lt8722_iio_get_status_attr_available ( enum lt8722_iio_spis_status_attrs attr)

Get the list of available values of a SPIS_STATUS register attribute.

Parameters
attr- The attribute for which the list is needed.
Returns
The list of available values of the attribute.

◆ lt8722_iio_init()

int lt8722_iio_init ( struct lt8722_iio_dev ** iio_dev,
struct lt8722_iio_dev_init_param * init_param )

Initializes the LT8722 IIO descriptor.

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

◆ lt8722_iio_remove()

int lt8722_iio_remove ( struct lt8722_iio_dev * desc)

Free resources allocated by the init function.

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