LCOV - code coverage report
Current view: top level - zephyr/dt-bindings/gpio - nordic-nrf-gpio.h Coverage Total Hit
Test: new.info Lines: 88.9 % 9 8
Test Date: 2025-09-05 20:47:19

            Line data    Source code
       1            0 : /*
       2              :  * Copyright (c) 2022 Nordic Semiconductor ASA
       3              :  *
       4              :  * SPDX-License-Identifier: Apache-2.0
       5              :  */
       6              : #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_GPIO_NORDIC_NRF_GPIO_H_
       7              : #define ZEPHYR_INCLUDE_DT_BINDINGS_GPIO_NORDIC_NRF_GPIO_H_
       8              : 
       9              : /**
      10              :  * @brief nRF-specific GPIO Flags
      11              :  * @defgroup gpio_interface_nrf nRF-specific GPIO Flags
      12              :  * @ingroup gpio_interface_ext
      13              :  * @{
      14              :  */
      15              : 
      16              : /**
      17              :  * @name nRF GPIO drive flags
      18              :  * @brief nRF GPIO drive flags
      19              :  *
      20              :  * Standard (S) or High (H) drive modes can be applied to both pin levels, 0 or
      21              :  * 1. High drive mode will increase current capabilities of the pin (refer to
      22              :  * each SoC reference manual).
      23              :  *
      24              :  * When the pin is configured to operate in open-drain mode (wired-and), the
      25              :  * drive mode can only be selected for the 0 level (1 is disconnected).
      26              :  * Similarly, when the pin is configured to operate in open-source mode
      27              :  * (wired-or), the drive mode can only be set for the 1 level
      28              :  * (0 is disconnected).
      29              :  *
      30              :  * The drive flags are encoded in the 8 upper bits of @ref gpio_dt_flags_t as
      31              :  * follows:
      32              :  *
      33              :  * - Bit 8: Drive mode for '0' (0=Standard, 1=High)
      34              :  * - Bit 9: Drive mode for '1' (0=Standard, 1=High)
      35              :  *
      36              :  * @{
      37              :  */
      38              : 
      39              : /** @cond INTERNAL_HIDDEN */
      40              : /** Drive mode field mask */
      41              : #define NRF_GPIO_DRIVE_MSK      0x0300U
      42              : /** @endcond */
      43              : 
      44              : /** Standard drive for '0' (default, used with GPIO_OPEN_DRAIN) */
      45            1 : #define NRF_GPIO_DRIVE_S0       (0U << 8U)
      46              : /** High drive for '0' (used with GPIO_OPEN_DRAIN) */
      47            1 : #define NRF_GPIO_DRIVE_H0       (1U << 8U)
      48              : /** Standard drive for '1' (default, used with GPIO_OPEN_SOURCE) */
      49            1 : #define NRF_GPIO_DRIVE_S1       (0U << 9U)
      50              : /** High drive for '1' (used with GPIO_OPEN_SOURCE) */
      51            1 : #define NRF_GPIO_DRIVE_H1       (1U << 9U)
      52              : /** Standard drive for '0' and '1' (default) */
      53            1 : #define NRF_GPIO_DRIVE_S0S1     (NRF_GPIO_DRIVE_S0 | NRF_GPIO_DRIVE_S1)
      54              : /** Standard drive for '0' and high for '1' */
      55            1 : #define NRF_GPIO_DRIVE_S0H1     (NRF_GPIO_DRIVE_S0 | NRF_GPIO_DRIVE_H1)
      56              : /** High drive for '0' and standard for '1' */
      57            1 : #define NRF_GPIO_DRIVE_H0S1     (NRF_GPIO_DRIVE_H0 | NRF_GPIO_DRIVE_S1)
      58              : /** High drive for '0' and '1' */
      59            1 : #define NRF_GPIO_DRIVE_H0H1     (NRF_GPIO_DRIVE_H0 | NRF_GPIO_DRIVE_H1)
      60              : 
      61              : /** @} */
      62              : 
      63              : /** @} */
      64              : 
      65              : #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_GPIO_NORDIC_NRF_GPIO_H_ */
        

Generated by: LCOV version 2.0-1