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

MFD interface for an SC16IS75x bridge. More...

Macros

#define SC16IS75X_FIFO_CAPACITY   64
 FIFO capacity in byte.
 
#define SC16IS75X_IO_NUM_PINS_MAX   8
 Maximum programmable I/O pins.
 
#define SC16IS75X_UART_CHANNELS_MAX   2
 Maximum UART channels.
 
#define READ_SC16IS75X_REG(dev, reg, val)    mfd_sc16is75x_read_register((dev), 0, SC16IS75X_REG_##reg, (val));
 
#define READ_SC16IS75X_CHREG(dev, ch, reg, val)    mfd_sc16is75x_read_register((dev), (ch), SC16IS75X_REG_##reg, (val));
 
#define WRITE_SC16IS75X_REG(dev, reg, val)    mfd_sc16is75x_write_register((dev), 0, SC16IS75X_REG_##reg, (val));
 
#define WRITE_SC16IS75X_CHREG(dev, ch, reg, val)    mfd_sc16is75x_write_register((dev), (ch), SC16IS75X_REG_##reg, (val));
 
#define SETBIT_SC16IS75X_REG(dev, reg, bit, val)
 
#define SETBIT_SC16IS75X_CHREG(dev, ch, reg, bit, val)
 

Functions

int mfd_sc16is75x_read_register (const struct device *dev, const uint8_t channel, const uint8_t reg, uint8_t *value)
 Read from an internal register.
 
int mfd_sc16is75x_write_register (const struct device *dev, const uint8_t channel, const uint8_t reg, const uint8_t value)
 Write to an internal register.
 
int mfd_sc16is75x_set_register_bit (const struct device *dev, const uint8_t channel, const uint8_t reg, const uint8_t bit, const bool value)
 Enable or disable a bit in an internal register.
 
int mfd_sc16is75x_read_fifo (const struct device *dev, const uint8_t channel, uint8_t *buf, const size_t len)
 Read data from FIFO.
 
int mfd_sc16is75x_write_fifo (const struct device *dev, const uint8_t channel, const uint8_t *buf, const size_t len)
 Write data to FIFO.
 

Detailed Description

MFD interface for an SC16IS75x bridge.

Since
3.7
Version
1.0.0

The MFD interface for an SC16IS75x SPI or I2C to UART and GPIO controller bridge.

Macro Definition Documentation

◆ READ_SC16IS75X_CHREG

#define READ_SC16IS75X_CHREG (   dev,
  ch,
  reg,
  val 
)     mfd_sc16is75x_read_register((dev), (ch), SC16IS75X_REG_##reg, (val));

◆ READ_SC16IS75X_REG

#define READ_SC16IS75X_REG (   dev,
  reg,
  val 
)     mfd_sc16is75x_read_register((dev), 0, SC16IS75X_REG_##reg, (val));

◆ SC16IS75X_FIFO_CAPACITY

#define SC16IS75X_FIFO_CAPACITY   64

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

FIFO capacity in byte.

◆ SC16IS75X_IO_NUM_PINS_MAX

#define SC16IS75X_IO_NUM_PINS_MAX   8

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

Maximum programmable I/O pins.

◆ SC16IS75X_UART_CHANNELS_MAX

#define SC16IS75X_UART_CHANNELS_MAX   2

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

Maximum UART channels.

◆ SETBIT_SC16IS75X_CHREG

#define SETBIT_SC16IS75X_CHREG (   dev,
  ch,
  reg,
  bit,
  val 
)

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

Value:
mfd_sc16is75x_set_register_bit((dev), (ch), SC16IS75X_REG_##reg, \
(bit), (val));
int mfd_sc16is75x_set_register_bit(const struct device *dev, const uint8_t channel, const uint8_t reg, const uint8_t bit, const bool value)
Enable or disable a bit in an internal register.
Definition mfd_sc16is75x.c:101

◆ SETBIT_SC16IS75X_REG

#define SETBIT_SC16IS75X_REG (   dev,
  reg,
  bit,
  val 
)

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

Value:
mfd_sc16is75x_set_register_bit((dev), 0, SC16IS75X_REG_##reg, \
(bit), (val));

◆ WRITE_SC16IS75X_CHREG

#define WRITE_SC16IS75X_CHREG (   dev,
  ch,
  reg,
  val 
)     mfd_sc16is75x_write_register((dev), (ch), SC16IS75X_REG_##reg, (val));

◆ WRITE_SC16IS75X_REG

#define WRITE_SC16IS75X_REG (   dev,
  reg,
  val 
)     mfd_sc16is75x_write_register((dev), 0, SC16IS75X_REG_##reg, (val));

Function Documentation

◆ mfd_sc16is75x_read_fifo()

int mfd_sc16is75x_read_fifo ( const struct device *  dev,
const uint8_t  channel,
uint8_t *  buf,
const size_t  len 
)

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

Read data from FIFO.

Parameters
devAn SC16IS75x device.
channelChannel whose FIFO to read.
[out]bufData read from FIFO.
lenNumber of bytes to read.
Return values
0On success.
Returns
Negative error code on failure.

◆ mfd_sc16is75x_read_register()

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

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

Read from an internal register.

Parameters
devAn SC16IS75x device.
channelChannel to access.
regRegister address to read from.
[out]valueValue of that register.
Return values
0On succes.
Returns
Negative error code on failure.

◆ mfd_sc16is75x_set_register_bit()

int mfd_sc16is75x_set_register_bit ( const struct device *  dev,
const uint8_t  channel,
const uint8_t  reg,
const uint8_t  bit,
const bool  value 
)

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

Enable or disable a bit in an internal register.

Parameters
devAn SC16IS75x device.
channelChannel to access.
regRegister address to change the bit.
bitBit number to change.
valueValue to be written (true = set to one, false = set to zero).
Return values
0On success.
Returns
Negative error code on failure.

◆ mfd_sc16is75x_write_fifo()

int mfd_sc16is75x_write_fifo ( const struct device *  dev,
const uint8_t  channel,
const uint8_t *  buf,
const size_t  len 
)

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

Write data to FIFO.

Parameters
devAn SC16IS75x device.
channelChannel whose FIFO to read.
bufData to be written.
lenNumber of bytes to write.
Return values
0On success.
Returns
Negative error code on failure.

◆ mfd_sc16is75x_write_register()

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

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

Write to an internal register.

Parameters
devAn SC16IS75x device.
channelChannel to access.
regRegister address to write to.
valueValue to be written.
Return values
0On success.
Returns
Negative error code on failure.