|
| #define | MAX22007_REV_ID_REG 0x00 |
| |
| #define | MAX22007_STAT_AND_INTR_REG 0x01 |
| |
| #define | MAX22007_INR_ENABLE_REG 0x02 |
| |
| #define | MAX22007_CONFIG_REG 0x03 |
| |
| #define | MAX22007_CTRL_REG 0x04 |
| |
| #define | MAX22007_CHANNEL_MODE_REG 0x05 |
| |
| #define | MAX22007_SOFT_RESET_REG 0x06 |
| |
| #define | MAX22007_CHANNEL_DATA_REG(channel) |
| |
| #define | MAX22007_GPIO_CTRL_REG 0x0B |
| |
| #define | MAX22007_GPIO_DATA_REG 0x0C |
| |
| #define | MAX22007_GPIO_EDGE_CTRL_REG 0x0D |
| |
| #define | MAX22007_GPIO_EDGE_DETECTION_STAT_REG 0x0E |
| |
| #define | MAX22007_REV_ID_MASK NO_OS_GENMASK(7, 0) |
| |
| #define | MAX22007_PART_ID_MASK NO_OS_GENMASK(15, 8) |
| |
| #define | MAX22007_CONFIG_LD_CNFG_MASK NO_OS_GENMASK(15, 12) |
| |
| #define | MAX22007_CONFIG_COMP_EDGE_MASK NO_OS_GENMASK(11, 10) |
| |
| #define | MAX22007_CONFIG_REF_SEL_MASK NO_OS_BIT(8) |
| |
| #define | MAX22007_TIMEOUT_SEL_MASK NO_OS_GENMASK(7, 4) |
| |
| #define | MAX22007_TIMEOUT_CNFG_MASK NO_OS_BIT(3) |
| |
| #define | MAX22007_TIMEOUT_EN_MASK NO_OS_BIT(2) |
| |
| #define | MAX22007_OVERCURRENT_CTRL_MASK NO_OS_BIT(1) |
| |
| #define | MAX22007_CRC_EN_MASK NO_OS_BIT(0) |
| |
| #define | MAX22007_LD_CTRL_MASK NO_OS_GENMASK(15, 12) |
| |
| #define | LD_CTRL_CH_MASK(channel) |
| |
| #define | MAX22007_CH_MODE_MASK NO_OS_GENMASK(15, 12) |
| |
| #define | MAX22007_CH_MODE_CH_MASK(channel) |
| |
| #define | MAX22007_CH_PWR_MASK NO_OS_GENMASK(11, 8) |
| |
| #define | MAX22007_CH_PWR_CH_MASK(channel) |
| |
| #define | MAX22007_SW_CLR_MASK NO_OS_BIT(12) |
| |
| #define | MAX22007_SW_RST_MASK NO_OS_BIT(8) |
| |
| #define | MAX22007_GPIO_CTRL_MASK NO_OS_GENMASK(15, 8) |
| |
| #define | MAX22007_GPIO_DIR_MASK NO_OS_GENMASK(7, 0) |
| |
| #define | DAC_CH_DATA_MASK NO_OS_GENMASK(15, 4) |
| |
| #define | MAX22007_GPO_DATA_MASK NO_OS_GENMASK(15, 8) |
| |
| #define | MAX22007_GPI_DATA_MASK NO_OS_GENMASK(7, 0) |
| |
| #define | MAX22007_SPI_READ 0x80 |
| |
| #define | MAX22007_NUM_CHANNELS 4 |
| |
| #define | MAX22007_REV_ID_REV0 0xBB45 |
| |
| #define | MAX22007_REV_ID_REV1 0xBB47 |
| |
| #define | MAX22007_ADRR_MASK NO_OS_GENMASK(7, 1) |
| |
| #define | MAX22007_RW_MASK NO_OS_BIT(0) |
| |
| #define | MAX22007_FRAME_SIZE 3 |
| |
| #define | MAX22007_PAYLOAD_LSB_MASK NO_OS_GENMASK(7, 0) |
| |
| #define | MAX22007_PAYLOAD_MSB_MASK NO_OS_GENMASK(15, 8) |
| |
|
| int | max22007_reg_read (struct max22007_dev *dev, uint8_t reg_addr, uint16_t *reg_data) |
| | Read from a register.
|
| |
| int | max22007_reg_write (struct max22007_dev *dev, uint8_t reg_addr, uint16_t reg_data) |
| | Write to a register.
|
| |
| int | max22007_reg_write_msk (struct max22007_dev *dev, uint8_t reg_addr, uint16_t data, uint16_t mask) |
| | Register write with mask.
|
| |
| int | max22007_set_latch_mode (struct max22007_dev *dev, uint8_t ch, enum max22007_dac_latch_mode mode) |
| | Set DAC latch mode.
|
| |
| int | max22007_get_latch_mode (struct max22007_dev *dev, uint8_t ch, enum max22007_dac_latch_mode *mode) |
| | Get DAC latch mode.
|
| |
| int | max22007_set_reference (struct max22007_dev *dev, enum max22007_ref_mode mode) |
| | Set reference source.
|
| |
| int | max22007_get_reference (struct max22007_dev *dev, enum max22007_ref_mode *mode) |
| | Get reference source.
|
| |
| int | max22007_set_timeout (struct max22007_dev *dev, bool timeout_en, enum max22007_timeout_sel timeout_sel, enum max22007_timeout_cnfg timeout_cnfg) |
| | Set timeout configuration.
|
| |
| int | max22007_set_channel_mode (struct max22007_dev *dev, uint8_t ch, enum max22007_channel_mode mode) |
| | Set channel mode.
|
| |
| int | max22007_get_channel_mode (struct max22007_dev *dev, uint8_t ch, enum max22007_channel_mode *mode) |
| | Get channel mode.
|
| |
| int | max22007_set_channel_power (struct max22007_dev *dev, uint8_t ch, enum max22007_channel_power mode) |
| | Set channel power.
|
| |
| int | max22007_get_channel_power (struct max22007_dev *dev, uint8_t ch, enum max22007_channel_power *mode) |
| | Get channel power.
|
| |
| int | max22007_configure_crc (struct max22007_dev *dev, bool crc_en) |
| | Configure CRC.
|
| |
| int | max22007_write_ldac (struct max22007_dev *dev, uint8_t ch_mask) |
| | Write to LDAC register to update DAC output.
|
| |
| int | max22007_write_channel_data (struct max22007_dev *dev, uint8_t ch, uint16_t data) |
| | Write data to a DAC channel data register.
|
| |
| int | max22007_read_channel_data (struct max22007_dev *dev, uint8_t ch, uint16_t *data) |
| | Read data from a DAC channel data register.
|
| |
| int | max22007_init (struct max22007_dev **device, struct max22007_init_param init_param) |
| | MAX22007 descriptor initialization function.
|
| |
| int | max22007_remove (struct max22007_dev *dev) |
| | Deallocates all the resources used at initialization.
|
| |
Header file of MAX22007 Driver.
- Author
- Janani Sunil (janan.nosp@m.i.su.nosp@m.nil@a.nosp@m.nalo.nosp@m.g.com)
Copyright 2025(c) Analog Devices, Inc.
SPDX-License-Identifier: BSD-3-Clause