Bridle API 4.1.99
A Zephyr based application framework
Loading...
Searching...
No Matches
SIPO/MUX GP MFD Interface

MFD interface for an generic latched SIPO/MUX GP matrix controller. More...

Functions

int mfd_sipomuxgp_num_bits (const struct device *dev)
 Get number of available bits from SIPO/MUX GP.
 
int mfd_sipomuxgp_bits (const struct device *dev, size_t offs, uint32_t *val)
 Read 32 bits from SIPO/MUX GP.
 
int mfd_sipomuxgp_bit_on (const struct device *dev, size_t bit)
 Write logical one to a single bit on SIPO/MUX GP.
 
int mfd_sipomuxgp_bit_off (const struct device *dev, size_t bit)
 Write logical zero to a single bit on SIPO/MUX GP.
 
int mfd_sipomuxgp_xy_on (const struct device *dev, size_t x, size_t y)
 Write logical one to a single XY position on SIPO/MUX GP.
 
int mfd_sipomuxgp_xy_off (const struct device *dev, size_t x, size_t y)
 Write logical zero to a single XY position on SIPO/MUX GP.
 
int mfd_sipomuxgp_output_ratio (const struct device *dev, uint8_t percent)
 Change ratio of SIPO/MUX GP output enable signal.
 

Detailed Description

MFD interface for an generic latched SIPO/MUX GP matrix controller.

Since
3.6
Version
1.0.0

The MFD interface for an generic latched SIPO/MUX General Purpose (GP) matrix controller.

SIPO/MUX:
Serial Input Parallel Output / Multiplexing hardware

Function Documentation

◆ mfd_sipomuxgp_bit_off()

int mfd_sipomuxgp_bit_off ( const struct device *  dev,
size_t  bit 
)

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

Write logical zero to a single bit on SIPO/MUX GP.

Parameters
devsipomuxgp mfd device
bitNumber of the bit where to write logical zero
Return values
0If successful
-errnoIn case of any error

◆ mfd_sipomuxgp_bit_on()

int mfd_sipomuxgp_bit_on ( const struct device *  dev,
size_t  bit 
)

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

Write logical one to a single bit on SIPO/MUX GP.

Parameters
devsipomuxgp mfd device
bitNumber of the bit where to write logical one
Return values
0If successful
-errnoIn case of any error

◆ mfd_sipomuxgp_bits()

int mfd_sipomuxgp_bits ( const struct device *  dev,
size_t  offs,
uint32_t *  val 
)

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

Read 32 bits from SIPO/MUX GP.

Parameters
devsipomuxgp mfd device
offsOffset number where starting to read bits
valPointer to buffer for exactly 32-bit data
Return values
0If successful
-errnoIn case of any error

◆ mfd_sipomuxgp_num_bits()

int mfd_sipomuxgp_num_bits ( const struct device *  dev)

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

Get number of available bits from SIPO/MUX GP.

Parameters
devsipomuxgp mfd device
Return values
num_bitsNumber of bits

◆ mfd_sipomuxgp_output_ratio()

int mfd_sipomuxgp_output_ratio ( const struct device *  dev,
uint8_t  percent 
)

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

Change ratio of SIPO/MUX GP output enable signal.

The percentage value affects the duty cycle of the outgoing data. If the matrix is used to drive LEDs, for example, this affects the brightness.

Only three ratios are supported due to the time critical design:

- full force (100%), or
- half force (50%), or
- none (0%)
Parameters
devsipomuxgp mfd device
percentPercentage ratio of the ON phase
Return values
0If successful
-errnoIn case of any error

◆ mfd_sipomuxgp_xy_off()

int mfd_sipomuxgp_xy_off ( const struct device *  dev,
size_t  x,
size_t  y 
)

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

Write logical zero to a single XY position on SIPO/MUX GP.

Parameters
devsipomuxgp mfd device
xNumber of the X coordinate where to write logical zero
yNumber of the Y coordinate where to write logical zero
Return values
0If successful
-errnoIn case of any error

◆ mfd_sipomuxgp_xy_on()

int mfd_sipomuxgp_xy_on ( const struct device *  dev,
size_t  x,
size_t  y 
)

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

Write logical one to a single XY position on SIPO/MUX GP.

Parameters
devsipomuxgp mfd device
xNumber of the X coordinate where to write logical one
yNumber of the Y coordinate where to write logical one
Return values
0If successful
-errnoIn case of any error