LCOV - code coverage report
Current view: top level - zephyr/dt-bindings/gpio - adi-max32-gpio.h Coverage Total Hit
Test: new.info Lines: 26.7 % 15 4
Test Date: 2025-09-05 20:47:19

            Line data    Source code
       1            0 : /*
       2              :  * Copyright (c) 2023-2024 Analog Devices, Inc.
       3              :  *
       4              :  * SPDX-License-Identifier: Apache-2.0
       5              :  */
       6              : #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_GPIO_ADI_MAX32_GPIO_H_
       7              : #define ZEPHYR_INCLUDE_DT_BINDINGS_GPIO_ADI_MAX32_GPIO_H_
       8              : 
       9              : /**
      10              :  * @brief MAX32-specific GPIO Flags
      11              :  * @defgroup gpio_interface_max32 MAX32-specific GPIO Flags
      12              :  * @ingroup gpio_interface_ext
      13              :  * @{
      14              :  */
      15              : 
      16              : /**
      17              :  * @name MAX32 GPIO drive flags
      18              :  * @brief MAX32 GPIO drive flags
      19              :  *
      20              :  * The drive flags are encoded in the 8 upper bits of @ref gpio_dt_flags_t as
      21              :  * follows:
      22              :  *
      23              :  * - Bit 8: GPIO Supply Voltage Select
      24              :  *          Selects the voltage rail used for the pin.
      25              :  *          0: VDDIO
      26              :  *          1: VDDIOH
      27              :  *
      28              :  * - Bit 9: GPIO Drive Strength Select,
      29              :  *          MAX32_GPIO_DRV_STRENGTH_0 = 1mA
      30              :  *          MAX32_GPIO_DRV_STRENGTH_1 = 2mA
      31              :  *          MAX32_GPIO_DRV_STRENGTH_2 = 4mA
      32              :  *          MAX32_GPIO_DRV_STRENGTH_3 = 8mA
      33              :  *
      34              :  * - Bit 10: Weak pull up selection, Weak Pullup to VDDIO (1MOhm)
      35              :  *          0: Disable
      36              :  *          1: Enable
      37              :  *
      38              :  * - Bit 11: Weak pull down selection, Weak Pulldown to VDDIOH (1MOhm)
      39              :  *          0: Disable
      40              :  *          1: Enable
      41              :  * @{
      42              :  */
      43              : 
      44              : /** GPIO Voltage Select */
      45            1 : #define MAX32_GPIO_VSEL_POS    (8U)
      46            0 : #define MAX32_GPIO_VSEL_MASK   (0x01U << MAX32_GPIO_VSEL_POS)
      47            0 : #define MAX32_GPIO_VSEL_VDDIO  (0U << MAX32_GPIO_VSEL_POS)
      48            0 : #define MAX32_GPIO_VSEL_VDDIOH (1U << MAX32_GPIO_VSEL_POS)
      49              : 
      50              : /** GPIO Drive Strength Select */
      51            1 : #define MAX32_GPIO_DRV_STRENGTH_POS  (9U)
      52            0 : #define MAX32_GPIO_DRV_STRENGTH_MASK (0x03U << MAX32_GPIO_DRV_STRENGTH_POS)
      53            0 : #define MAX32_GPIO_DRV_STRENGTH_0    (0U << MAX32_GPIO_DRV_STRENGTH_POS)
      54            0 : #define MAX32_GPIO_DRV_STRENGTH_1    (1U << MAX32_GPIO_DRV_STRENGTH_POS)
      55            0 : #define MAX32_GPIO_DRV_STRENGTH_2    (2U << MAX32_GPIO_DRV_STRENGTH_POS)
      56            0 : #define MAX32_GPIO_DRV_STRENGTH_3    (3U << MAX32_GPIO_DRV_STRENGTH_POS)
      57              : 
      58              : /** GPIO bias weak pull up selection, to VDDIO (1MOhm) */
      59            1 : #define MAX32_GPIO_WEAK_PULL_UP_POS   (10U)
      60            0 : #define MAX32_GPIO_WEAK_PULL_UP       (1U << MAX32_GPIO_WEAK_PULL_UP_POS)
      61              : /** GPIO bias weak pull down selection, to VDDIOH (1MOhm) */
      62            1 : #define MAX32_GPIO_WEAK_PULL_DOWN_POS (11U)
      63            0 : #define MAX32_GPIO_WEAK_PULL_DOWN     (1U << MAX32_GPIO_WEAK_PULL_DOWN_POS)
      64              : 
      65              : /** @} */
      66              : 
      67              : /** @} */
      68              : 
      69              : #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_GPIO_ADI_MAX32_GPIO_H_ */
        

Generated by: LCOV version 2.0-1