Line data Source code
1 0 : /*
2 : * Copyright 2021 Google LLC
3 : *
4 : * SPDX-License-Identifier: Apache-2.0
5 : */
6 : #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_ADC_ADC_H_
7 : #define ZEPHYR_INCLUDE_DT_BINDINGS_ADC_ADC_H_
8 :
9 : #include <zephyr/dt-bindings/dt-util.h>
10 :
11 : /** Acquisition time is expressed in microseconds. */
12 1 : #define ADC_ACQ_TIME_MICROSECONDS (1)
13 : /** Acquisition time is expressed in nanoseconds. */
14 1 : #define ADC_ACQ_TIME_NANOSECONDS (2)
15 : /** Acquisition time is expressed in ADC ticks. */
16 1 : #define ADC_ACQ_TIME_TICKS (3)
17 : /** Macro for composing the acquisition time value in given units. */
18 1 : #define ADC_ACQ_TIME(unit, value) (((unit) << 14) | ((value) & BIT_MASK(14)))
19 : /** Value indicating that the default acquisition time should be used. */
20 1 : #define ADC_ACQ_TIME_DEFAULT 0
21 0 : #define ADC_ACQ_TIME_MAX BIT_MASK(14)
22 :
23 0 : #define ADC_ACQ_TIME_UNIT(time) (((time) >> 14) & BIT_MASK(2))
24 0 : #define ADC_ACQ_TIME_VALUE(time) ((time) & BIT_MASK(14))
25 :
26 : #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_ADC_ADC_H_ */
|