Zephyr API Documentation 4.2.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
MFD PCA9422 Interface

Typedefs

typedef void(* child_isr_t) (const struct device *dev)

Enumerations

enum  child_dev { PCA9422_DEV_REG = 0 , PCA9422_DEV_CHG , PCA9422_DEV_FG , PCA9422_DEV_MAX }
 Child device of pca9422. More...

Functions

void mfd_pca9422_set_irqhandler (const struct device *dev, const struct device *child_dev, enum child_dev child_idx, child_isr_t handler)
 Set child interrupt handler of pca9422.
int mfd_pca9422_reg_burst_read (const struct device *dev, uint8_t reg, uint8_t *value, size_t len)
 Read multiple registers from pca9422.
int mfd_pca9422_reg_read_byte (const struct device *dev, uint8_t reg, uint8_t *value)
 Read single register from pca9422.
int mfd_pca9422_reg_burst_write (const struct device *dev, uint8_t reg, uint8_t *value, size_t len)
 Write multiple registers to pca9422.
int mfd_pca9422_reg_write_byte (const struct device *dev, uint8_t reg, uint8_t value)
 Write single register to pca9422.
int mfd_pca9422_reg_update_byte (const struct device *dev, uint8_t reg, uint8_t mask, uint8_t value)
 Update selected bits in pca9422 register.

Detailed Description

Typedef Documentation

◆ child_isr_t

typedef void(* child_isr_t) (const struct device *dev)

Enumeration Type Documentation

◆ child_dev

enum child_dev

#include <zephyr/drivers/mfd/pca9422.h>

Child device of pca9422.

Enumerator
PCA9422_DEV_REG 
PCA9422_DEV_CHG 

Regulator.

PCA9422_DEV_FG 

Charger.

PCA9422_DEV_MAX 

Fuelgauge.

Function Documentation

◆ mfd_pca9422_reg_burst_read()

int mfd_pca9422_reg_burst_read ( const struct device * dev,
uint8_t reg,
uint8_t * value,
size_t len )

#include <zephyr/drivers/mfd/pca9422.h>

Read multiple registers from pca9422.

Parameters
devpca9422 mfd device
regRegister start address
valuePointer that stores the received data
lenNumber of bytes to read
Return values
0If successful
-errnoIn case of any bus error (see i2c_burst_read_dt())

◆ mfd_pca9422_reg_burst_write()

int mfd_pca9422_reg_burst_write ( const struct device * dev,
uint8_t reg,
uint8_t * value,
size_t len )

#include <zephyr/drivers/mfd/pca9422.h>

Write multiple registers to pca9422.

Parameters
devpca9422 mfd device
regRegister start address
valuePointer that stores the write data
lenNumber of bytes to write
Return values
0If successful
-errnoIn case of any bus error (see i2c_burst_write_dt())

◆ mfd_pca9422_reg_read_byte()

int mfd_pca9422_reg_read_byte ( const struct device * dev,
uint8_t reg,
uint8_t * value )

#include <zephyr/drivers/mfd/pca9422.h>

Read single register from pca9422.

Parameters
devpca9422 mfd device
regRegister address
valuePointer that stores the received data
Return values
0If successful
-errnoIn case of any bus error (see i2c_reg_read_byte_dt())

◆ mfd_pca9422_reg_update_byte()

int mfd_pca9422_reg_update_byte ( const struct device * dev,
uint8_t reg,
uint8_t mask,
uint8_t value )

#include <zephyr/drivers/mfd/pca9422.h>

Update selected bits in pca9422 register.

Parameters
devpca9422 mfd device
regRegister address
maskmask of bits to be modified
valuedata to write
Return values
0If successful
-errnoIn case of any bus error (see i2c_reg_update_byte_dt())

◆ mfd_pca9422_reg_write_byte()

int mfd_pca9422_reg_write_byte ( const struct device * dev,
uint8_t reg,
uint8_t value )

#include <zephyr/drivers/mfd/pca9422.h>

Write single register to pca9422.

Parameters
devpca9422 mfd device
regRegister address
valuedata to write
Return values
0If successful
-errnoIn case of any bus error (see i2c_reg_write_byte_dt())

◆ mfd_pca9422_set_irqhandler()

void mfd_pca9422_set_irqhandler ( const struct device * dev,
const struct device * child_dev,
enum child_dev child_idx,
child_isr_t handler )

#include <zephyr/drivers/mfd/pca9422.h>

Set child interrupt handler of pca9422.

Parameters
devpca9422 mfd device
child_devpca9422 child device
child_idxindex in enum type of child device
handlerinterrupt handler of child device