LCOV - code coverage report
Current view: top level - zephyr/dt-bindings/pinctrl - esp-pinctrl-common.h Hit Total Coverage
Test: new.info Lines: 0 37 0.0 %
Date: 2024-12-22 00:14:23

          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 1.14