1 /*
2  * Copyright (c) 2019 Vestas Wind Systems A/S
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #ifndef ZEPHYR_INCLUDE_DRIVERS_ADC_LMP90XXX_H_
8 #define ZEPHYR_INCLUDE_DRIVERS_ADC_LMP90XXX_H_
9 
10 #include <zephyr/device.h>
11 #include <zephyr/drivers/gpio.h>
12 
13 /* LMP90xxx supports GPIO D0..D6 */
14 #define LMP90XXX_GPIO_MAX 6
15 
16 int lmp90xxx_gpio_set_output(const struct device *dev, uint8_t pin);
17 
18 int lmp90xxx_gpio_set_input(const struct device *dev, uint8_t pin);
19 
20 int lmp90xxx_gpio_set_pin_value(const struct device *dev, uint8_t pin,
21 				bool value);
22 
23 int lmp90xxx_gpio_get_pin_value(const struct device *dev, uint8_t pin,
24 				bool *value);
25 
26 int lmp90xxx_gpio_port_get_raw(const struct device *dev,
27 			       gpio_port_value_t *value);
28 
29 int lmp90xxx_gpio_port_set_masked_raw(const struct device *dev,
30 				      gpio_port_pins_t mask,
31 				      gpio_port_value_t value);
32 
33 int lmp90xxx_gpio_port_set_bits_raw(const struct device *dev,
34 				    gpio_port_pins_t pins);
35 
36 int lmp90xxx_gpio_port_clear_bits_raw(const struct device *dev,
37 				      gpio_port_pins_t pins);
38 
39 int lmp90xxx_gpio_port_toggle_bits(const struct device *dev,
40 				   gpio_port_pins_t pins);
41 
42 #endif /* ZEPHYR_INCLUDE_DRIVERS_ADC_LMP90XXX_H_ */
43