Zephyr API Documentation 4.2.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
pca9422.h
Go to the documentation of this file.
1/*
2 * Copyright 2025 NXP
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_DRIVERS_MFD_PCA9422_H_
8#define ZEPHYR_INCLUDE_DRIVERS_MFD_PCA9422_H_
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
19
20#include <stddef.h>
21#include <stdint.h>
22
23#include <zephyr/device.h>
24
25typedef void (*child_isr_t)(const struct device *dev);
26
36
45void mfd_pca9422_set_irqhandler(const struct device *dev, const struct device *child_dev,
46 enum child_dev child_idx, child_isr_t handler);
47
58int mfd_pca9422_reg_burst_read(const struct device *dev, uint8_t reg, uint8_t *value, size_t len);
59
69int mfd_pca9422_reg_read_byte(const struct device *dev, uint8_t reg, uint8_t *value);
70
81int mfd_pca9422_reg_burst_write(const struct device *dev, uint8_t reg, uint8_t *value, size_t len);
82
92int mfd_pca9422_reg_write_byte(const struct device *dev, uint8_t reg, uint8_t value);
93
104int mfd_pca9422_reg_update_byte(const struct device *dev, uint8_t reg, uint8_t mask, uint8_t value);
105
107
108#ifdef __cplusplus
109}
110#endif
111
112#endif /* ZEPHYR_INCLUDE_DRIVERS_MFD_PCA9422_H_ */
int mfd_pca9422_reg_write_byte(const struct device *dev, uint8_t reg, uint8_t value)
Write single register to pca9422.
int mfd_pca9422_reg_read_byte(const struct device *dev, uint8_t reg, uint8_t *value)
Read single register from pca9422.
int mfd_pca9422_reg_update_byte(const struct device *dev, uint8_t reg, uint8_t mask, uint8_t value)
Update selected bits in pca9422 register.
int mfd_pca9422_reg_burst_read(const struct device *dev, uint8_t reg, uint8_t *value, size_t len)
Read multiple registers from pca9422.
int mfd_pca9422_reg_burst_write(const struct device *dev, uint8_t reg, uint8_t *value, size_t len)
Write multiple registers to pca9422.
child_dev
Child device of pca9422.
Definition pca9422.h:30
void mfd_pca9422_set_irqhandler(const struct device *dev, const struct device *child_dev, enum child_dev child_idx, child_isr_t handler)
Set child interrupt handler of pca9422.
@ PCA9422_DEV_MAX
Fuelgauge.
Definition pca9422.h:34
@ PCA9422_DEV_CHG
Regulator.
Definition pca9422.h:32
@ PCA9422_DEV_REG
Definition pca9422.h:31
@ PCA9422_DEV_FG
Charger.
Definition pca9422.h:33
void(* child_isr_t)(const struct device *dev)
Definition nxp_lp_flexcomm.h:11
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
Runtime device structure (in ROM) per driver instance.
Definition device.h:510