| /* |
| * Copyright 2021 Google LLC |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_ADC_ADC_H_ |
| #define ZEPHYR_INCLUDE_DT_BINDINGS_ADC_ADC_H_ |
| |
| /* |
| * Provide the BIT_MASK() macro for when this file is included from |
| * devicetrees. |
| */ |
| #ifndef BIT_MASK |
| #define BIT_MASK(n) ((1 << (n)) - 1) |
| #endif |
| |
| /** Acquisition time is expressed in microseconds. */ |
| #define ADC_ACQ_TIME_MICROSECONDS (1) |
| /** Acquisition time is expressed in nanoseconds. */ |
| #define ADC_ACQ_TIME_NANOSECONDS (2) |
| /** Acquisition time is expressed in ADC ticks. */ |
| #define ADC_ACQ_TIME_TICKS (3) |
| /** Macro for composing the acquisition time value in given units. */ |
| #define ADC_ACQ_TIME(unit, value) (((unit) << 14) | ((value) & BIT_MASK(14))) |
| /** Value indicating that the default acquisition time should be used. */ |
| #define ADC_ACQ_TIME_DEFAULT 0 |
| #define ADC_ACQ_TIME_MAX BIT_MASK(14) |
| |
| #define ADC_ACQ_TIME_UNIT(time) (((time) >> 14) & BIT_MASK(2)) |
| #define ADC_ACQ_TIME_VALUE(time) ((time) & BIT_MASK(14)) |
| |
| #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_ADC_ADC_H_ */ |