Bridle API 4.1.99
A Zephyr based application framework
|
MFD Driver for an SIPO/MUX GP matrix controller. More...
Functions | |
LOG_MODULE_REGISTER (mfd_sipomuxgp, CONFIG_MFD_LOG_LEVEL) | |
int | mfd_sipomuxgp_num_bits (const struct device *dev) |
Get number of available bits from SIPO/MUX GP. | |
static int | mfd_sipomuxgp_get_bit (const struct device *dev, uint32_t bit, uint8_t *value) |
int | mfd_sipomuxgp_bits (const struct device *dev, size_t offs, uint32_t *val) |
Read 32 bits from SIPO/MUX GP. | |
static int | mfd_sipomuxgp_set_bit (const struct device *dev, uint32_t bit, uint8_t value) |
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. | |
static void | mfd_sipomuxgp_process (const struct device *dev) |
static int | mfd_sipomuxgp_set_oe (const struct device *dev, const uint8_t value) |
static int | mfd_sipomuxgp_set_addr (const struct device *dev, const uint8_t addr) |
static int | mfd_sipomuxgp_cfg_oe (const struct device *dev) |
static int | mfd_sipomuxgp_cfg_addr (const struct device *dev) |
static void | mfd_sipomuxgp_refresh_worker (struct k_work *work) |
static void | mfd_sipomuxgp_refresh_timer (struct k_timer *timer) |
static int | mfd_sipomuxgp_init (const struct device *dev) |
MFD Driver for an SIPO/MUX GP matrix controller.
#define DT_INST_FOREACH_SIPOMUXGP_STATUS_OKAY | ( | b | ) |
#define INST_DT_SIPOMUXGP | ( | n, | |
b | |||
) | DT_INST(n, sipo_mux_gp_##b) |
#define MFD_SIPOMUXGP_CTX_BACKEND | ( | n, | |
b | |||
) |
#define MFD_SIPOMUXGP_CTX_BITBUF | ( | n, | |
b | |||
) | (uint8_t [(MFD_SIPOMUXGP_CTX_BITBUF_SZ(n, b))]) {} |
#define MFD_SIPOMUXGP_CTX_BITBUF_SZ | ( | n, | |
b | |||
) | (__TOTAL_BYTES(MFD_SIPOMUXGP_CTX_NUM_BITS(n, b))) |
#define MFD_SIPOMUXGP_CTX_COLUMNS | ( | n, | |
b | |||
) | DT_PROP(INST_DT_SIPOMUXGP(n, b), data_width) |
#define MFD_SIPOMUXGP_CTX_FOREACH_ELEM | ( | n, | |
b, | |||
p | |||
) |
#define MFD_SIPOMUXGP_CTX_GPIO_ENABLE | ( | n, | |
b | |||
) | GPIO_DT_SPEC_GET_OR(INST_DT_SIPOMUXGP(n, b), oe_gpios, {0}) |
#define MFD_SIPOMUXGP_CTX_GPIOS_ADDR | ( | n, | |
b | |||
) |
#define MFD_SIPOMUXGP_CTX_NUM_ADDR | ( | n, | |
b | |||
) | DT_PROP_LEN(INST_DT_SIPOMUXGP(n, b), addr_gpios) |
#define MFD_SIPOMUXGP_CTX_NUM_BITS | ( | n, | |
b | |||
) | (MFD_SIPOMUXGP_CTX_ROWS(n, b) * MFD_SIPOMUXGP_CTX_COLUMNS(n, b)) |
#define MFD_SIPOMUXGP_CTX_PADDING | ( | n, | |
b | |||
) | (MFD_SIPOMUXGP_CTX_SHIFTING(n, b) - MFD_SIPOMUXGP_CTX_COLUMNS(n, b)) |
#define MFD_SIPOMUXGP_CTX_PADDING_SZ | ( | n, | |
b | |||
) | (__TOTAL_BYTES(MFD_SIPOMUXGP_CTX_PADDING(n, b))) |
#define MFD_SIPOMUXGP_CTX_RFSTIME | ( | n, | |
b | |||
) | DT_PROP(INST_DT_SIPOMUXGP(n, b), refresh_time_us) |
#define MFD_SIPOMUXGP_CTX_ROWS | ( | n, | |
b | |||
) | BIT(MFD_SIPOMUXGP_CTX_NUM_ADDR(n, b)) |
#define MFD_SIPOMUXGP_CTX_SHIFTING | ( | n, | |
b | |||
) | DT_PROP(INST_DT_SIPOMUXGP(n, b), shift_width) |
#define MFD_SIPOMUXGP_CTX_SPEC_ELEM | ( | _node_id, | |
_prop, | |||
_idx | |||
) | GPIO_DT_SPEC_GET_BY_IDX(_node_id, _prop, _idx), |
#define SIPOMUXGP_INIT | ( | n, | |
b | |||
) |
LOG_MODULE_REGISTER | ( | mfd_sipomuxgp | , |
CONFIG_MFD_LOG_LEVEL | |||
) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |