13#ifndef ZEPHYR_INCLUDE_DRIVERS_MFD_M5PM1_H_
14#define ZEPHYR_INCLUDE_DRIVERS_MFD_M5PM1_H_
int mfd_m5pm1_burst_write(const struct device *dev, uint8_t reg, const uint8_t *buf, size_t len)
Write multiple consecutive M5PM1 registers in a single I2C transaction.
int mfd_m5pm1_toggle_reg(const struct device *dev, uint8_t reg, uint8_t mask)
Toggle selected bits of an M5PM1 register.
int mfd_m5pm1_update_reg(const struct device *dev, uint8_t reg, uint8_t mask, uint8_t val)
Read-modify-write selected bits of an M5PM1 register.
int mfd_m5pm1_write_reg(const struct device *dev, uint8_t reg, uint8_t val)
Write a single 8-bit M5PM1 register.
m5pm1_pin_func
Semantic function of an M5PM1 multiplexed pin.
Definition m5pm1.h:143
int mfd_m5pm1_read_reg(const struct device *dev, uint8_t reg, uint8_t *val)
Read a single 8-bit M5PM1 register.
int mfd_m5pm1_burst_read(const struct device *dev, uint8_t reg, uint8_t *buf, size_t len)
Read multiple consecutive M5PM1 registers in a single I2C transaction.
int mfd_m5pm1_pin_request(const struct device *dev, const struct device *client, uint8_t pin, enum m5pm1_pin_func func)
Claim a pin for a given function on behalf of a sibling driver.
int mfd_m5pm1_pin_release(const struct device *dev, const struct device *client, uint8_t pin)
Release a pin previously claimed with mfd_m5pm1_pin_request().
@ M5PM1_PIN_FUNC_GPIO
Standard GPIO (FUNC field 0b00).
Definition m5pm1.h:144
@ M5PM1_PIN_FUNC_NEOPIXEL
NeoPixel output (FUNC field 0b11, IO0 only).
Definition m5pm1.h:148
@ M5PM1_PIN_FUNC_IRQ
IRQ input (FUNC field 0b01).
Definition m5pm1.h:145
@ M5PM1_PIN_FUNC_PWM
PWM output (FUNC field 0b11, IO3/IO4 only).
Definition m5pm1.h:147
@ M5PM1_PIN_FUNC_ADC
ADC input (FUNC field 0b11, IO1/IO2 only).
Definition m5pm1.h:146
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
Runtime device structure (in ROM) per driver instance.
Definition device.h:513