42#define MAX22190_FRAME_SIZE 2
43#define MAX22190_CHANNELS 8
44#define MAX22190_FAULT2_ENABLES 5
46#define MAX22190_WIRE_BREAK_REG 0x0
47#define MAX22190_DIGITAL_INPUT_REG 0x2
48#define MAX22190_FAULT1_REG 0x4
49#define MAX22190_FILTER_IN_REG(x) (0x6 + (2 * (x)))
50#define MAX22190_CONFIG_REG 0x18
51#define MAX22190_INPUT_EN_REG 0x1A
52#define MAX22190_FAULT2_REG 0x1C
53#define MAX22190_FAULT2_EN_REG 0x1E
54#define MAX22190_GPO_REG 0x22
55#define MAX22190_FAULT1_EN_REG 0x24
57#define MAX22190_NO_OP_REG 0x26
59#define MAX22190_CH_STATE_MASK(x) NO_OS_BIT(x)
60#define MAX22190_DELAY_MASK NO_OS_GENMASK(2, 0)
61#define MAX22190_FBP_MASK NO_OS_BIT(3)
62#define MAX22190_WBE_MASK NO_OS_BIT(4)
63#define MAX22190_RW_MASK NO_OS_BIT(7)
64#define MAX22190_ADDR_MASK NO_OS_GENMASK(6, 0)
65#define MAX22190_ALARM_MASK NO_OS_GENMASK(4, 3)
66#define MAX22190_POR_MASK NO_OS_BIT(6)
68#define MAX22190_FAULT_MASK(x) NO_OS_BIT(x)
69#define MAX22190_FAULT2_WBE_MASK NO_OS_BIT(4)
71#define MAX22190_FAULT2_EN_MASK NO_OS_GENMASK(5, 0)
73#define MAX22190_CFG_REFDI_MASK NO_OS_BIT(0)
74#define MAX22190_CFG_CLRF_MASK NO_OS_BIT(3)
75#define MAX22190_CFG_24VF_MASK NO_OS_BIT(4)
int max22190_wbe_get(struct max22190_desc *, uint32_t, bool *)
Get Wire Break detection for requested channel.
Definition max22190.c:183
#define MAX22190_CHANNELS
Definition max22190.h:43
int max22190_reg_update(struct max22190_desc *, uint32_t, uint32_t, uint32_t)
Register update function for MAX22190.
Definition max22190.c:405
max22190_ch_state
Definition max22190.h:77
@ MAX22190_CH_ON
Definition max22190.h:79
@ MAX22190_CH_OFF
Definition max22190.h:78
max22190_fault_enable
Definition max22190.h:108
@ MAX22190_FAULT2_RFWBSE
Definition max22190.h:115
@ MAX22190_FAULT2_OTSHDNE
Definition max22190.h:119
@ MAX22190_FAULT2_RFWBOE
Definition max22190.h:116
@ MAX22190_CFG_24VF
Definition max22190.h:121
@ MAX22190_FAULT1_24VLE
Definition max22190.h:111
@ MAX22190_FAULT2_RFDIOE
Definition max22190.h:118
@ MAX22190_CFG_REFDI_SH_ENA
Definition max22190.h:122
@ MAX22190_FAULT1_WBGE
Definition max22190.h:109
@ MAX22190_FAULT1_ALRMT2E
Definition max22190.h:113
@ MAX22190_FAULT2_RFDISE
Definition max22190.h:117
@ MAX22190_FAULT2_FAULT8CKE
Definition max22190.h:120
@ MAX22190_FAULT1_ALRMT1E
Definition max22190.h:112
@ MAX22190_FAULT1_24VME
Definition max22190.h:110
@ MAX22190_FAULT1_FAULT2E
Definition max22190.h:114
int max22190_fault_enable_set(struct max22190_desc *, enum max22190_fault_enable, bool)
Set fault enable in the fault registers.
Definition max22190.c:273
max22190_delay
Definition max22190.h:97
@ MAX22190_DELAY_3200US
Definition max22190.h:103
@ MAX22190_DELAY_400US
Definition max22190.h:100
@ MAX22190_DELAY_12800US
Definition max22190.h:104
@ MAX22190_DELAY_800US
Definition max22190.h:101
@ MAX22190_DELAY_1800US
Definition max22190.h:102
@ MAX22190_DELAY_100US
Definition max22190.h:99
@ MAX22190_DELAY_20MS
Definition max22190.h:105
@ MAX22190_DELAY_50US
Definition max22190.h:98
int max22190_init(struct max22190_desc **, struct max22190_init_param *)
MAX22190 Initialization function.
Definition max22190.c:427
int max22190_chan_state(struct max22190_desc *, uint32_t, enum max22190_ch_state)
Switch selected channel's state to disabled or enabled.
Definition max22190.c:157
int max22190_reg_read(struct max22190_desc *, uint32_t, uint32_t *)
Register read function for MAX22190.
Definition max22190.c:332
int max22190_reg_write(struct max22190_desc *, uint32_t, uint32_t)
Register write function for MAX22190.
Definition max22190.c:375
#define MAX22190_FRAME_SIZE
Definition max22190.h:42
int max22190_filter_set(struct max22190_desc *, uint32_t, uint32_t, uint32_t, enum max22190_delay)
Set filter delay, wite break detection and if the filter is used or bypassed.
Definition max22190.c:93
int max22190_wbe_set(struct max22190_desc *, uint32_t, bool)
Set Wire Break detection for requested channel.
Definition max22190.c:207
int max22190_fault_enable_get(struct max22190_desc *, enum max22190_fault_enable, bool *)
Get fault enable from the fault registers.
Definition max22190.c:225
int max22190_remove(struct max22190_desc *)
Free the resources allocated by initialization.
Definition max22190.c:485
int max22190_filter_get(struct max22190_desc *, uint32_t, uint32_t *, uint32_t *, enum max22190_delay *)
Get filter delay, wite break detection and if the filter is used or bypassed.
Definition max22190.c:125
Header file of GPIO Interface.
Header file of SPI Interface.
Header file of utility functions.
struct no_os_spi_desc * comm_desc
Definition max22190.h:89
uint8_t buff[MAX22190_FRAME_SIZE+1]
Definition max22190.h:91
struct no_os_gpio_desc * en_gpio
Definition max22190.h:90
uint8_t fault2en
Definition max22190.h:93
bool crc_en
Definition max22190.h:94
enum max22190_ch_state channels[MAX22190_CHANNELS]
Definition max22190.h:92
struct no_os_gpio_init_param * en_gpio_param
Definition max22190.h:84
struct no_os_spi_init_param * comm_param
Definition max22190.h:83
bool crc_en
Definition max22190.h:85
Structure holding the GPIO descriptor.
Definition no_os_gpio.h:84
Structure holding the parameters for GPIO initialization.
Definition no_os_gpio.h:67
Structure holding SPI descriptor.
Definition no_os_spi.h:180
Structure holding the parameters for SPI initialization.
Definition no_os_spi.h:128