Bridle API 4.1.99
A Zephyr based application framework
Loading...
Searching...
No Matches
SC18IM604 MFD Interface

MFD interface for an SC18IM604 bridge. More...

Macros

#define READ_SC18IS604_REG(dev, reg, val)    mfd_sc18is604_read_register((dev), SC18IS604_REG_##reg, (val));
 
#define WRITE_SC18IS604_REG(dev, reg, val)    mfd_sc18is604_write_register((dev), SC18IS604_REG_##reg, (val));
 

Functions

int mfd_sc18is604_transfer (const struct device *dev, uint8_t *cmd, size_t cmd_len, uint8_t *tx_data, size_t tx_len, uint8_t *rx_data, size_t rx_len)
 Perform a data transfer to and from an SC18IS604 device.
 
int mfd_sc18is604_read_register (const struct device *dev, uint8_t reg, uint8_t *val)
 Write to an internal register.
 
int mfd_sc18is604_write_register (const struct device *dev, uint8_t reg, uint8_t val)
 Read from an internal register.
 
int mfd_sc18is604_read_buffer (const struct device *dev, uint8_t *data, size_t len)
 Read data from the internal buffer of an SC18IS604.
 
int mfd_sc18is604_add_callback (const struct device *dev, struct gpio_callback *callback)
 Register an interrupt callback.
 
int mfd_sc18is604_remove_callback (const struct device *dev, struct gpio_callback *callback)
 Remove a previously registered interrupt callback.
 
int mfd_sc18is604_claim (const struct device *dev, k_timeout_t timeout)
 Claim a lock on an SC18IS604 device, preventing other users from accessing the device until the lock is released.
 
void mfd_sc18is604_release (const struct device *dev)
 Release a previously acquired lock on an SC18IS604 device.
 

Detailed Description

MFD interface for an SC18IM604 bridge.

Since
3.7
Version
1.0.0

The MFD interface for an SC18IM604 SPI to I2C and GPIO controller bridge.

Macro Definition Documentation

◆ READ_SC18IS604_REG

#define READ_SC18IS604_REG (   dev,
  reg,
  val 
)     mfd_sc18is604_read_register((dev), SC18IS604_REG_##reg, (val));

◆ WRITE_SC18IS604_REG

#define WRITE_SC18IS604_REG (   dev,
  reg,
  val 
)     mfd_sc18is604_write_register((dev), SC18IS604_REG_##reg, (val));

Function Documentation

◆ mfd_sc18is604_add_callback()

int mfd_sc18is604_add_callback ( const struct device *  dev,
struct gpio_callback *  callback 
)

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

Register an interrupt callback.

Parameters
devAn SC18IS604 device
callbackThe callback to add.
Return values
0On success.
Returns
Negative error code on failure.

◆ mfd_sc18is604_claim()

int mfd_sc18is604_claim ( const struct device *  dev,
k_timeout_t  timeout 
)

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

Claim a lock on an SC18IS604 device, preventing other users from accessing the device until the lock is released.

Parameters
devThe SC18IS604 MFD device to be locked.
timeoutTimeout after which trying to claim the device is aborted.
Returns
A value from k_sem_take.

◆ mfd_sc18is604_read_buffer()

int mfd_sc18is604_read_buffer ( const struct device *  dev,
uint8_t *  data,
size_t  len 
)

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

Read data from the internal buffer of an SC18IS604.

Parameters
devAn SC18IS604 MFD device.
[out]dataData read from the buffer.
lenNumber of bytes to read from the buffer.
Returns
A value from mfd_sc18is604_transfer().

◆ mfd_sc18is604_read_register()

int mfd_sc18is604_read_register ( const struct device *  dev,
uint8_t  reg,
uint8_t *  val 
)

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

Write to an internal register.

Parameters
devAn SC18IS604 MFD device.
regRegister address to write to.
valueValue to write into the register.
Returns
A value from mfd_sc18is604_transfer().

◆ mfd_sc18is604_release()

void mfd_sc18is604_release ( const struct device *  dev)

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

Release a previously acquired lock on an SC18IS604 device.

Parameters
devThe SC18IS604 MFD device to be unlocked.

◆ mfd_sc18is604_remove_callback()

int mfd_sc18is604_remove_callback ( const struct device *  dev,
struct gpio_callback *  callback 
)

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

Remove a previously registered interrupt callback.

Parameters
devAn SC18IS604 device
callbackThe callback to remove.
Return values
0On success.
Returns
Negative error code on failure.

◆ mfd_sc18is604_transfer()

int mfd_sc18is604_transfer ( const struct device *  dev,
uint8_t *  cmd,
size_t  cmd_len,
uint8_t *  tx_data,
size_t  tx_len,
uint8_t *  rx_data,
size_t  rx_len 
)

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

Perform a data transfer to and from an SC18IS604 device.

Parameters
devAn SC18IS604 MFD device.
cmdA command sequence sent before the TX data. Can be NULL, in which case no command sequence is sent).
cmd_lenLength of the command sequence.
tx_dataData to be sent to the device. Can be NULL, in which case no data is send).
tx_lenLength of the TX data buffer.
[out]rx_dataBuffer to hold data received from the device. Can be NULL, in which case no data is received.
rx_lenLength of the RX data buffer.
Return values
0On success.
Returns
Negative error code on failure.

◆ mfd_sc18is604_write_register()

int mfd_sc18is604_write_register ( const struct device *  dev,
uint8_t  reg,
uint8_t  val 
)

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

Read from an internal register.

Parameters
devAn SC18IS604 MFD device.
regRegister address to read from.
[out]valueValue read from the register.
Returns
A value from mfd_sc18is604_transfer().