LCOV - code coverage report
Current view: top level - zephyr/drivers/comparator - mcux_acmp.h Coverage Total Hit
Test: new.info Lines: 0.0 % 44 0
Test Date: 2025-09-05 16:43:28

            Line data    Source code
       1            0 : /*
       2              :  * Copyright (c) 2024 Nordic Semiconductor ASA
       3              :  *
       4              :  * SPDX-License-Identifier: Apache-2.0
       5              :  */
       6              : 
       7              : #ifndef ZEPHYR_INCLUDE_DRIVERS_COMP_MCUX_ACMP_H_
       8              : #define ZEPHYR_INCLUDE_DRIVERS_COMP_MCUX_ACMP_H_
       9              : 
      10              : #include <zephyr/drivers/comparator.h>
      11              : 
      12              : #ifdef __cplusplus
      13              : extern "C" {
      14              : #endif
      15              : 
      16            0 : enum comp_mcux_acmp_offset_mode {
      17              :         COMP_MCUX_ACMP_OFFSET_MODE_LEVEL0 = 0,
      18              :         COMP_MCUX_ACMP_OFFSET_MODE_LEVEL1,
      19              : };
      20              : 
      21            0 : enum comp_mcux_acmp_hysteresis_mode {
      22              :         COMP_MCUX_ACMP_HYSTERESIS_MODE_LEVEL0 = 0,
      23              :         COMP_MCUX_ACMP_HYSTERESIS_MODE_LEVEL1,
      24              :         COMP_MCUX_ACMP_HYSTERESIS_MODE_LEVEL2,
      25              :         COMP_MCUX_ACMP_HYSTERESIS_MODE_LEVEL3,
      26              : };
      27              : 
      28            0 : struct comp_mcux_acmp_mode_config {
      29            0 :         enum comp_mcux_acmp_offset_mode offset_mode;
      30            0 :         enum comp_mcux_acmp_hysteresis_mode hysteresis_mode;
      31            0 :         bool enable_high_speed_mode;
      32            0 :         bool invert_output;
      33            0 :         bool use_unfiltered_output;
      34            0 :         bool enable_pin_output;
      35              : };
      36              : 
      37            0 : enum comp_mcux_acmp_mux_input {
      38              :         COMP_MCUX_ACMP_MUX_INPUT_IN0 = 0,
      39              :         COMP_MCUX_ACMP_MUX_INPUT_IN1,
      40              :         COMP_MCUX_ACMP_MUX_INPUT_IN2,
      41              :         COMP_MCUX_ACMP_MUX_INPUT_IN3,
      42              :         COMP_MCUX_ACMP_MUX_INPUT_IN4,
      43              :         COMP_MCUX_ACMP_MUX_INPUT_IN5,
      44              :         COMP_MCUX_ACMP_MUX_INPUT_IN6,
      45              :         COMP_MCUX_ACMP_MUX_INPUT_IN7,
      46              : };
      47              : 
      48            0 : enum comp_mcux_acmp_port_input {
      49              :         COMP_MCUX_ACMP_PORT_INPUT_DAC = 0,
      50              :         COMP_MCUX_ACMP_PORT_INPUT_MUX,
      51              : };
      52              : 
      53            0 : struct comp_mcux_acmp_input_config {
      54            0 :         enum comp_mcux_acmp_mux_input positive_mux_input;
      55            0 :         enum comp_mcux_acmp_mux_input negative_mux_input;
      56            0 :         enum comp_mcux_acmp_port_input positive_port_input;
      57            0 :         enum comp_mcux_acmp_port_input negative_port_input;
      58              : };
      59              : 
      60            0 : struct comp_mcux_acmp_filter_config {
      61            0 :         bool enable_sample;
      62            0 :         uint8_t filter_count;
      63            0 :         uint8_t filter_period;
      64              : };
      65              : 
      66            0 : enum comp_mcux_acmp_dac_vref_source {
      67              :         COMP_MCUX_ACMP_DAC_VREF_SOURCE_VIN1 = 0,
      68              :         COMP_MCUX_ACMP_DAC_VREF_SOURCE_VIN2,
      69              : };
      70              : 
      71            0 : struct comp_mcux_acmp_dac_config {
      72            0 :         enum comp_mcux_acmp_dac_vref_source vref_source;
      73            0 :         uint8_t value;
      74            0 :         bool enable_output;
      75            0 :         bool enable_high_speed_mode;
      76              : };
      77              : 
      78            0 : enum comp_mcux_acmp_dm_clock {
      79              :         COMP_MCUX_ACMP_DM_CLOCK_SLOW = 0,
      80              :         COMP_MCUX_ACMP_DM_CLOCK_FAST,
      81              : };
      82              : 
      83            0 : enum comp_mcux_acmp_dm_sample_time {
      84              :         COMP_MCUX_ACMP_DM_SAMPLE_TIME_T1 = 0,
      85              :         COMP_MCUX_ACMP_DM_SAMPLE_TIME_T2,
      86              :         COMP_MCUX_ACMP_DM_SAMPLE_TIME_T4,
      87              :         COMP_MCUX_ACMP_DM_SAMPLE_TIME_T8,
      88              :         COMP_MCUX_ACMP_DM_SAMPLE_TIME_T16,
      89              :         COMP_MCUX_ACMP_DM_SAMPLE_TIME_T32,
      90              :         COMP_MCUX_ACMP_DM_SAMPLE_TIME_T64,
      91              :         COMP_MCUX_ACMP_DM_SAMPLE_TIME_T256,
      92              : };
      93              : 
      94            0 : enum comp_mcux_acmp_dm_phase_time {
      95              :         COMP_MCUX_ACMP_DM_PHASE_TIME_ALT0 = 0,
      96              :         COMP_MCUX_ACMP_DM_PHASE_TIME_ALT1,
      97              :         COMP_MCUX_ACMP_DM_PHASE_TIME_ALT2,
      98              :         COMP_MCUX_ACMP_DM_PHASE_TIME_ALT3,
      99              :         COMP_MCUX_ACMP_DM_PHASE_TIME_ALT4,
     100              :         COMP_MCUX_ACMP_DM_PHASE_TIME_ALT5,
     101              :         COMP_MCUX_ACMP_DM_PHASE_TIME_ALT6,
     102              :         COMP_MCUX_ACMP_DM_PHASE_TIME_ALT7,
     103              : };
     104              : 
     105            0 : struct comp_mcux_acmp_dm_config {
     106            0 :         bool enable_positive_channel;
     107            0 :         bool enable_negative_channel;
     108            0 :         bool enable_resistor_divider;
     109            0 :         enum comp_mcux_acmp_dm_clock clock_source;
     110            0 :         enum comp_mcux_acmp_dm_sample_time sample_time;
     111            0 :         enum comp_mcux_acmp_dm_phase_time phase1_time;
     112            0 :         enum comp_mcux_acmp_dm_phase_time phase2_time;
     113              : };
     114              : 
     115            0 : int comp_mcux_acmp_set_mode_config(const struct device *dev,
     116              :                                    const struct comp_mcux_acmp_mode_config *config);
     117              : 
     118            0 : int comp_mcux_acmp_set_input_config(const struct device *dev,
     119              :                                     const struct comp_mcux_acmp_input_config *config);
     120              : 
     121            0 : int comp_mcux_acmp_set_filter_config(const struct device *dev,
     122              :                                      const struct comp_mcux_acmp_filter_config *config);
     123              : 
     124            0 : int comp_mcux_acmp_set_dac_config(const struct device *dev,
     125              :                                   const struct comp_mcux_acmp_dac_config *config);
     126              : 
     127            0 : int comp_mcux_acmp_set_dm_config(const struct device *dev,
     128              :                                  const struct comp_mcux_acmp_dm_config *config);
     129              : 
     130            0 : int comp_mcux_acmp_set_window_mode(const struct device *dev, bool enable);
     131              : 
     132              : #ifdef __cplusplus
     133              : }
     134              : #endif
     135              : 
     136              : #endif /* ZEPHYR_INCLUDE_DRIVERS_COMP_MCUX_ACMP_H_ */
        

Generated by: LCOV version 2.0-1