| /* |
| * Copyright (c) 2025 Analog Devices Inc. |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #ifndef ZEPHYR_DRIVERS_GPIO_GPIO_MAX14917_H_ |
| #define ZEPHYR_DRIVERS_GPIO_GPIO_MAX14917_H_ |
| |
| #define MAX14917_CHANNELS 8 |
| |
| #define MAX14917_MAX_PKT_SIZE 2 |
| |
| #define MAX14917_COMM_ERR BIT(7) |
| #define MAX14917_VERR BIT(6) |
| #define MAX14917_THERM_ERR BIT(5) |
| |
| #define MAX14917_CRC_POLY 0x15 |
| #define MAX14917_CRC_INI_VAL 0x1F |
| #define MAX14917_CRC_EXTRA_BYTE 0x00 |
| #define MAX14917_CRC_MASK 0x1F |
| |
| struct max14917_config { |
| struct spi_dt_spec spi; |
| /* Input gpios */ |
| struct gpio_dt_spec vddok_gpio; |
| struct gpio_dt_spec ready_gpio; |
| struct gpio_dt_spec comerr_gpio; |
| struct gpio_dt_spec fault_gpio; |
| /* Output gpios */ |
| struct gpio_dt_spec en_gpio; |
| struct gpio_dt_spec sync_gpio; |
| struct gpio_dt_spec crcen_gpio; |
| bool crc_en; |
| uint8_t pkt_size; |
| }; |
| |
| struct max14917_data { |
| uint8_t gpios_ON; /* GPIO states */ |
| uint8_t gpios_fault; |
| bool comm_err; |
| bool verr; |
| bool therm_err; |
| }; |
| |
| #endif |