Skip to content

Commit 76ae2bf

Browse files
ZhaoxiangJindleach02
authored andcommitted
include: drivers/sensor: Add NXP LPCMP Header
Add header for NXP LPCMP drivers Signed-off-by: Zhaoxiang Jin <[email protected]>
1 parent 79e134b commit 76ae2bf

File tree

1 file changed

+98
-0
lines changed

1 file changed

+98
-0
lines changed
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
/*
2+
* Copyright (c) 2020 Vestas Wind Systems A/S
3+
* Copyright 2024 NXP
4+
*
5+
* SPDX-License-Identifier: Apache-2.0
6+
*/
7+
8+
/**
9+
* @file
10+
* @brief Data structure for the NXP MCUX low-power analog comparator (LPCMP)
11+
*/
12+
13+
#ifndef ZEPHYR_INCLUDE_DRIVERS_SENSOR_MCUX_LPCMP_H_
14+
#define ZEPHYR_INCLUDE_DRIVERS_SENSOR_MCUX_LPCMP_H_
15+
16+
#ifdef __cplusplus
17+
extern "C" {
18+
#endif
19+
20+
#include <zephyr/drivers/sensor.h>
21+
22+
/**
23+
* @brief lpcmp channels.
24+
*/
25+
enum sensor_channel_mcux_lpcmp {
26+
/** LPCMP output. */
27+
SENSOR_CHAN_MCUX_LPCMP_OUTPUT = SENSOR_CHAN_PRIV_START,
28+
};
29+
30+
/**
31+
* @brief lpcmp trigger types.
32+
*/
33+
enum sensor_trigger_type_mcux_lpcmp {
34+
/** LPCMP output rising event trigger. */
35+
SENSOR_TRIG_MCUX_LPCMP_OUTPUT_RISING = SENSOR_TRIG_PRIV_START,
36+
/** LPCMP output falling event trigger. */
37+
SENSOR_TRIG_MCUX_LPCMP_OUTPUT_FALLING,
38+
};
39+
40+
/**
41+
* @brief lpcmp attribute types.
42+
*/
43+
enum sensor_attribute_mcux_lpcmp {
44+
/** LPCMP positive input mux. */
45+
SENSOR_ATTR_MCUX_LPCMP_POSITIVE_MUX_INPUT = SENSOR_ATTR_COMMON_COUNT,
46+
/** LPCMP negative input mux. */
47+
SENSOR_ATTR_MCUX_LPCMP_NEGATIVE_MUX_INPUT,
48+
49+
/**
50+
* LPCMP internal DAC enable.
51+
* 0b: disable
52+
* 1b: enable
53+
*/
54+
SENSOR_ATTR_MCUX_LPCMP_DAC_ENABLE,
55+
/**
56+
* LPCMP internal DAC high power mode disabled.
57+
* 0b: disable
58+
* 1b: enable
59+
*/
60+
SENSOR_ATTR_MCUX_LPCMP_DAC_HIGH_POWER_MODE_ENABLE,
61+
/** LPCMP internal DAC voltage reference source. */
62+
SENSOR_ATTR_MCUX_LPCMP_DAC_REFERENCE_VOLTAGE_SOURCE,
63+
/** LPCMP internal DAC output voltage value. */
64+
SENSOR_ATTR_MCUX_LPCMP_DAC_OUTPUT_VOLTAGE,
65+
66+
/** LPCMP internal filter sample enable. */
67+
SENSOR_ATTR_MCUX_LPCMP_SAMPLE_ENABLE,
68+
/** LPCMP internal filter sample count. */
69+
SENSOR_ATTR_MCUX_LPCMP_FILTER_COUNT,
70+
/** LPCMP internal filter sample period. */
71+
SENSOR_ATTR_MCUX_LPCMP_FILTER_PERIOD,
72+
73+
/** LPCMP window signal invert. */
74+
SENSOR_ATTR_MCUX_LPCMP_COUTA_WINDOW_ENABLE,
75+
/** LPCMP window signal invert. */
76+
SENSOR_ATTR_MCUX_LPCMP_COUTA_WINDOW_SIGNAL_INVERT_ENABLE,
77+
/**
78+
* LPCMP COUTA signal value when a window is closed:
79+
* 00b: latched
80+
* 01b: set to low
81+
* 11b: set to high
82+
*/
83+
SENSOR_ATTR_MCUX_LPCMP_COUTA_SIGNAL,
84+
/**
85+
* LPCMP COUT event to close an active window:
86+
* xx0b: COUT event cannot close an active window
87+
* 001b: COUT rising edge event close an active window
88+
* 011b: COUT falling edge event close an active window
89+
* 1x1b: COUT both edges event close an active window
90+
*/
91+
SENSOR_ATTR_MCUX_LPCMP_COUT_EVENT_TO_CLOSE_WINDOW
92+
};
93+
94+
#ifdef __cplusplus
95+
}
96+
#endif
97+
98+
#endif /* ZEPHYR_INCLUDE_DRIVERS_SENSOR_MCUX_LPCMP_H_ */

0 commit comments

Comments
 (0)