LCOV - code coverage report
Current view: top level - zephyr/dt-bindings/pinctrl - esp-pinctrl-common.h Coverage Total Hit
Test: new.info Lines: 0.0 % 37 0
Test Date: 2025-09-05 16:43:28

            Line data    Source code
       1            0 : /*
       2              :  * Copyright (c) 2022 Espressif Systems (Shanghai) Co., Ltd.
       3              :  *
       4              :  * SPDX-License-Identifier: Apache-2.0
       5              :  */
       6              : 
       7              : #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_ESP_PINCTRL_COMMON_H_
       8              : #define ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_ESP_PINCTRL_COMMON_H_
       9              : 
      10              : #include <zephyr/dt-bindings/dt-util.h>
      11              : 
      12            0 : #define ESP32_PIN_NUM_SHIFT      0U
      13            0 : #define ESP32_PIN_NUM_MASK       0x3FU
      14              : 
      15              : /*
      16              :  * Definitions used to extract I/O
      17              :  * signal indexes used by the GPIO
      18              :  * matrix signal routing mechanism
      19              :  */
      20            0 : #define ESP32_PIN_SIGI_MASK      0x1FFU
      21            0 : #define ESP32_PIN_SIGI_SHIFT     6U
      22            0 : #define ESP32_PIN_SIGO_MASK      0x1FFU
      23            0 : #define ESP32_PIN_SIGO_SHIFT     15U
      24            0 : #define ESP_SIG_INVAL            ESP32_PIN_SIGI_MASK
      25              : 
      26            0 : #define ESP32_PINMUX(pin, sig_i, sig_o)                                         \
      27              :                 (((pin & ESP32_PIN_NUM_MASK) << ESP32_PIN_NUM_SHIFT) |                \
      28              :                 ((sig_i & ESP32_PIN_SIGI_MASK) << ESP32_PIN_SIGI_SHIFT) |     \
      29              :                 ((sig_o & ESP32_PIN_SIGO_MASK) << ESP32_PIN_SIGO_SHIFT))
      30              : 
      31              : /*
      32              :  * Definitions used to extract pin
      33              :  * properties: bias, drive and
      34              :  * initial pin level
      35              :  */
      36            0 : #define ESP32_PIN_BIAS_SHIFT     0U
      37            0 : #define ESP32_PIN_BIAS_MASK      0x3U
      38            0 : #define ESP32_PIN_DRV_SHIFT      2U
      39            0 : #define ESP32_PIN_DRV_MASK       0x3U
      40            0 : #define ESP32_PIN_OUT_SHIFT      4U
      41            0 : #define ESP32_PIN_OUT_MASK       0x3U
      42            0 : #define ESP32_PIN_EN_DIR_SHIFT   6U
      43            0 : #define ESP32_PIN_EN_DIR_MASK    0x3U
      44              : 
      45              : /* Bias definitions */
      46            0 : #define ESP32_NO_PULL            0x1
      47            0 : #define ESP32_PULL_UP            0x2
      48            0 : #define ESP32_PULL_DOWN          0x3
      49              : 
      50              : /* Pin drive definitions */
      51            0 : #define ESP32_PUSH_PULL          0x1
      52            0 : #define ESP32_OPEN_DRAIN         0x2
      53              : 
      54              : /*
      55              :  * An output pin can be initialized
      56              :  * to either high or low
      57              :  */
      58            0 : #define ESP32_PIN_OUT_HIGH       0x1
      59            0 : #define ESP32_PIN_OUT_LOW        0x2
      60              : 
      61              : /*
      62              :  * Enable input or output on pin
      63              :  * regardless of its direction
      64              :  */
      65            0 : #define ESP32_PIN_OUT_EN       0x1
      66            0 : #define ESP32_PIN_IN_EN        0x2
      67              : 
      68              : /*
      69              :  * These flags are used by the pinctrl
      70              :  * driver, based on the DTS properties
      71              :  * assigned to a specific pin state
      72              :  */
      73            0 : #define ESP32_NO_PULL_FLAG       BIT(0)
      74            0 : #define ESP32_PULL_UP_FLAG       BIT(1)
      75            0 : #define ESP32_PULL_DOWN_FLAG     BIT(2)
      76            0 : #define ESP32_PUSH_PULL_FLAG     BIT(3)
      77            0 : #define ESP32_OPEN_DRAIN_FLAG    BIT(4)
      78            0 : #define ESP32_DIR_INP_FLAG       BIT(5)
      79            0 : #define ESP32_DIR_OUT_FLAG       BIT(6)
      80            0 : #define ESP32_PIN_OUT_HIGH_FLAG  BIT(7)
      81            0 : #define ESP32_PIN_OUT_LOW_FLAG   BIT(8)
      82            0 : #define ESP32_PIN_OUT_EN_FLAG    BIT(9)
      83            0 : #define ESP32_PIN_IN_EN_FLAG     BIT(10)
      84              : 
      85              : #endif  /* ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_ESP_PINCTRL_COMMON_H_ */
        

Generated by: LCOV version 2.0-1